Server menolak setelah feedback sisi klien Client-side feedback rejected by server
ID penyebab sy-optimistic-reject · Penanggung jawab utama Pengembangan klien (Tim Pengembang Game) · Turut terlibat Pengembangan server (Tim Pengembang Game)
Jika server kemudian tidak mengakui hit atau skill yang sudah lebih dulu ditampilkan di layar Anda, hasil yang jelas-jelas Anda lihat menjadi tidak pernah terjadi.
Mengapa Efek hit dan animasi skill diputar lebih dulu sebelum konfirmasi server (feedback sisi klien) → Akibatnya Server menimbang ulang jangkauan, posisi target, cooldown, dan resource, lalu menolak → Di layar Darah muncrat tetapi tidak ada damage, hanya animasi skill yang keluar tanpa efek, hanya cooldown yang berjalan
Penanggung jawab utama Pengembangan klien (Tim Pengembang Game) · Turut terlibat Pengembangan server (Tim Pengembang Game)
Tugas Tim Pengembang Game
Klien: tampilkan dari hasil server hanya bagian yang perlu dikonfirmasi, seperti angka damage, kematian, dan hadiah, periksa lebih dulu alasan penolakan yang umum, jika ditolak kembalikan cooldown dan resource lalu tampilkan alasannya. Server: beri kelonggaran sebesar ping pada pemeriksaan jangkauan dan posisi target, sertakan alasan di respons penolakan, kumpulkan rasio penolakan per skill sebagai metrik.
Kisaran angka
Respons penolakan datang terlambat sebesar ping + waktu tunggu tick setelah tombol ditekan. Dengan ping 150 ms, selama sekitar 0,2 detik pemain mengira serangannya kena.
Di grafik
Hanya sebagian yang tinggi · Rasio penolakan server per skill (per rentang ping)
Yang diperiksa
Kumpulkan di server rasio penolakan per skill dan alasannya (jangkauan, posisi target, cooldown, resource), lalu bagi per rentang RTT pemain. Di klien, catat jumlah aksi dengan feedback sisi klien yang ditolak
Cocok jika
Penolakan terpusat pada skill tertentu dengan alasan jangkauan atau posisi target, dan makin tinggi ping makin tinggi rasio penolakan
Tidak cocok jika
Alasan penolakan adalah cooldown atau resource dan tidak terkait ping: periksa apakah nilai data (cooldown, biaya) di klien dan server berbeda. Tidak ada penolakan, tetapi animasi baru dimulai setelah respons server: lebih mungkin feedback baru tampil setelah server merespons (model request-response)
Sarana pemeriksaan
Log dan metrik server atau klien game
Pelajari lebih lanjut
Feedback sisi klien adalah cara terbaik untuk menutupi ping. Namun, makin berbeda informasi yang dipakai klien dan server untuk memutuskan (posisi lawan, sisa resource), makin sering penolakan terjadi. Jika rasio penolakan per skill dikumpulkan sebagai metrik, tempat keputusan yang tidak cocok lebih mudah ditemukan.
Sumber
Using Gameplay Abilities in Unreal EngineEpic Games Ability Local Predicted langsung dijalankan di klien, tetapi keputusan akhirnya di server dan server bisa membatalkan hasilnya