Buku Putih Lag Game › Cari berdasarkan gejala
Tidak terlihat / objek hantu: 20 penyebab dan penanggung jawabnya
Disebut juga: NPC tidak muncul, karakter transparan, monster yang sudah mati masih berdiri
Buka kamus gejala interaktif dengan gambar →
NPC, monster, atau pemain yang seharusnya ada tidak muncul hanya di layar Anda, atau objek yang sudah hilang masih tertinggal hanya di layar Anda.
Pemain lain sedang berbicara dengan NPC, sementara Anda hanya melihat tanah kosong. Ada name tag tanpa model karakter, atau monster yang tidak bereaksi saat diserang.
Ada satu paket yang terlewat atau objek gagal digambar. Kecepatan tidak banyak berperan di sini. Periksa perbedaan channel atau phasing, pesan spawn/despawn yang hilang, data yang dibuang saat loading, dan aset yang gagal dimuat. Petunjuk yang menentukan: apakah objek itu muncul setelah Anda keluar dari jarak pandang lalu kembali.
Penyebab gejala ini
L1 Proses game di klien
- Streaming aset tertinggal akibat storage lambat: Pada storage lambat seperti HDD, kecepatan membaca tekstur dan model di open world tidak bisa mengimbangi gerakan pemain, sehingga objek terlambat muncul atau game patah-patah karena menunggu pembacaan selesai. (Pengembangan klien (Tim Pengembang Game))
L8 Socket dan protokol
- Nilai default keepalive 2 jam: Jika pihak lawan menghilang tanpa sinyal penutupan, TCP baru mendeteksinya lama kemudian. keepalive (fitur TCP untuk memeriksa apakah koneksi idle masih hidup) nonaktif secara default, dan walaupun diaktifkan, pemeriksaan baru dimulai setelah koneksi idle selama 2 jam. (Pengembangan server (Tim Pengembang Game))
- Slow start setelah idle: Jika koneksi idle cukup lama, TCP kembali mengecilkan congestion window (jumlah data yang bisa dikirim sekaligus), sehingga data besar yang tiba-tiba dikirim harus dipecah menjadi beberapa kali kirim. (Infrastruktur server (Tim Infrastruktur))
Masalah yang hanya dialami sebagian pemain
- Perbedaan channel, instance, atau phasing: Jika dua karakter berada di channel atau instance yang berbeda, atau di “phasing” berbeda yang menentukan NPC yang terlihat sesuai progres quest, keduanya melihat dunia yang berbeda. (Pengembangan server (Tim Pengembang Game))
- Pesan spawn yang tiba saat loading dibuang: Begitu karakter masuk zona, server mengirim pesan spawn NPC di sekitarnya, tetapi klien masih memuat map sehingga pesan itu dibuang. (Pengembangan klien (Tim Pengembang Game))
- Urutan pendaftaran jarak pandang kacau: Jika saat karakter didaftarkan ke grid jarak pandang bertepatan dengan saat NPC berpindah sel grid, pesan spawn NPC itu bisa terlewat. (Pengembangan server (Tim Pengembang Game))
- Snapshot baseline hilang: 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. (Pengembangan server (Tim Pengembang Game))
- Pesan despawn hilang (objek hantu): Sebaliknya, jika pesan “sudah hilang” terlewat, NPC atau pemain yang sudah mati atau pergi tetap tertinggal hanya di layar Anda. (Pengembangan server (Tim Pengembang Game))
- Data spawn hilang saat membanjir tepat setelah masuk zona: Begitu karakter masuk zona, server mengirim data spawn puluhan hingga ratusan objek di sekitarnya sekaligus. Jika data ini dikirim lewat channel unreliable, atau buffer terima meluap selama klien tidak bisa membaca socket karena sedang loading, sebagian data hilang dan tidak dikirim lagi. (Pengembangan server (Tim Pengembang Game))
- Kekeliruan akibat ID objek dipakai ulang: Jika server memakai ulang ID objek yang sama saat NPC yang mati muncul kembali, klien yang melewatkan pesan despawn di antaranya salah mengira NPC baru sebagai NPC lama. (Pengembangan server (Tim Pengembang Game))
- Bentrok port UDP tetap: Jika klien dibuat untuk memakai port lokal yang tetap, klien kedua di PC yang sama tidak bisa memakai port itu atau harus berbagi paket dengan klien pertama. (Pengembangan klien (Tim Pengembang Game))
- Bug pembedaan sesi berdasarkan IP atau perangkat: Jika server atau server perantara membedakan koneksi berdasarkan IP atau ID perangkat, dua klien di PC yang sama (IP publik yang sama) dikenali sebagai satu orang. (Pengembangan server (Tim Pengembang Game))
- Pembatasan multi-klien: Jika modul keamanan atau kebijakan server membatasi beberapa klien di satu PC, klien kedua tidak bisa dijalankan atau masuk, atau klien yang dinyalakan lebih dulu terputus. Sebagian game hanya memblokir fitur pada klien tambahan. (Pengembangan klien (Tim Pengembang Game))
- Pemrosesan dibatasi di jendela latar belakang: Untuk klien di jendela latar belakang, game, engine, dan OS mengurangi frame dan pemrosesan. Paket yang diterima tidak sempat diproses tepat waktu, sehingga menumpuk atau meluap. (Pengembangan klien (Tim Pengembang Game))
- Bentrok akses bersamaan ke file cache dan aset: Jika dua klien menulis ke folder cache yang sama secara bersamaan atau mengunci file, salah satu klien gagal memuat model dan tekstur NPC. (Pengembangan klien (Tim Pengembang Game))
- Streaming gagal akibat kekurangan memori atau VRAM: Jika dua klien berbagi memori grafis, tidak ada ruang untuk memuat model dan tekstur yang baru dibutuhkan, sehingga sebagian tidak tergambar. (Pengembangan klien (Tim Pengembang Game))
- Perbedaan opsi tampilan: Jika opsi seperti batas jumlah karakter yang ditampilkan, penyembunyian name tag atau model NPC, dan mode grafis rendah berbeda di kedua klien, yang terlihat pun berbeda. (Pengembangan klien (Tim Pengembang Game))
- Versi klien atau data tidak cocok: Jika klien kedua berasal dari instalasi lain atau patch-nya belum selesai, klien itu tidak mengenal ID NPC baru yang dikirim server dan diam-diam mengabaikannya. (Pengembangan klien (Tim Pengembang Game))
- Budget pengiriman dan prioritas per koneksi: Jika server membatasi volume kirim per koneksi dan mengirim objek yang dekat lebih dulu, koneksi dengan batas rendah menerima NPC yang jauh dengan terlambat atau tidak menerimanya sama sekali. (Pengembangan server (Tim Pengembang Game))
- Objek ditahan akibat kesalahan estimasi jam: Jika waktu server yang diperkirakan klien salah, data objek yang baru tiba ditahan karena dianggap “masih di masa depan”, atau dibuang karena dianggap “sudah terlalu lama”. (Pengembangan klien (Tim Pengembang Game))
Lihat kamus gejala interaktif dengan gambar