Pada server yang hanya mengirim “yang berubah sejak terakhir kali”, jika data lengkap yang dikirim sekali di awal (baseline) hilang, perubahan setelahnya tidak bisa diterapkan.
Mengapa Paket data lengkap objek (baseline) hilang atau dibuang sebelum diproses → Akibatnya Klien tidak punya dasar untuk menerapkan perubahan berikutnya, sehingga mengabaikannya → Di layar Objek itu tidak terlihat, atau tiba-tiba muncul jauh kemudian
Penanggung jawab utama Pengembangan server (Tim Pengembang Game) · Turut terlibat Pengembangan klien (Tim Pengembang Game)
Tugas Tim Pengembang Game
Server: kirim ulang baseline sampai ACK (konfirmasi terima) diterima, buat data perubahan hanya terhadap baseline yang sudah dikonfirmasi diterima klien. Klien: kirim ACK untuk baseline setelah benar-benar diterapkan, minta ulang ke server jika menerima data perubahan untuk objek yang tidak dikenal.
Di grafik
Melonjak acak sesekali · Jumlah data perubahan yang diterima untuk objek yang tidak dikenal
Yang diperiksa
Cocokkan jumlah dan ID objek dari data perubahan yang dibuang klien karena tidak ada baseline dengan waktu server mengirim baseline objek itu dan waktu ACK diterima. Reproduksi di lingkungan development dengan menambahkan packet loss (loss di tc netem, rasio packet loss di emulasi jaringan Unreal)
Cocok jika
Untuk objek yang tidak terlihat, server sudah mengirim baseline tetapi tidak menerima ACK, namun tetap terus mengirim data perubahan saja, dan klien membuang data perubahan itu
Tidak cocok jika
Baseline sudah mendapat ACK dan diterapkan di klien, tetapi objek tetap tidak terlihat: lebih mungkin pesan despawn hilang atau kekeliruan akibat ID objek dipakai ulang
Sarana pemeriksaan
Log dan metrik server atau klien game
Sumber
Snapshot CompressionGaffer On Games Data perubahan hanya boleh dibuat terhadap baseline yang sudah dikonfirmasi (ack) diterima pihak lain, dan state awal dikirim terpisah
tc-netem(8) — Linux manual pageiproute2 Tools pengujian yang meniru jaringan nyata dengan menambahkan latensi dan jitter (delay TIME JITTER) serta packet loss (loss random PERCENT) ke paket keluar
Using Network Emulation in Unreal EngineEpic Games Pengujian dengan memasukkan latensi minimum dan maksimum serta rasio packet loss ke server dan klien; di konsol diatur seperti NetEmulation.PktLag
Lihat juga
Lapisan yang sama: Masalah yang hanya dialami sebagian pemain