Jika waktu server yang diperkirakan klien salah, titik waktu interpolasi dan pengecekan cooldown tidak cocok dengan server.
Mengapa Waktu server hanya disamakan sekali saat login, lalu dibiarkan meski ping berubah → Akibatnya Titik waktu interpolasi dan waktu berakhirnya cooldown tidak cocok dengan server → Di layar Lawan sesekali tersendat, skill ditolak padahal cooldown sudah selesai
Penanggung jawab utama Pengembangan klien (Tim Pengembang Game)
Tugas Tim Pengembang Game
Sinkronkan waktu secara berkala (ukur waktu pulang-pergi lalu koreksi), sesuaikan perlahan tanpa perubahan mendadak, ukur waktu yang berlalu dengan monotonic clock, jangan dengan jam PC.
Di grafik
Naik perlahan · Selisih waktu server yang diperkirakan
Yang diperiksa
Catat secara berkala selisih antara waktu server yang diperkirakan klien dan waktu server (nomor tick) yang dikirim server di dalam paket
Cocok jika
Selisih makin besar seiring waktu sejak login, atau melonjak sekaligus saat jam PC disesuaikan, dan sekitar waktu itu laporan skill ditolak atau tersendat bertambah
Tidak cocok jika
Selisih tetap kecil, tetapi skill ditolak: mengarah ke keputusan server atau latensi
Sarana pemeriksaan
Log dan metrik server atau klien game
Pelajari lebih lanjut
Jika waktu yang berlalu diukur dengan tanggal dan jam PC (wall clock), waktu game melonjak begitu Windows menyesuaikan jam dengan waktu internet atau pengguna mengubah jam. Waktu yang berlalu harus diukur dengan monotonic clock yang tidak pernah mundur (Stopwatch dan sebagainya).
Acquiring high-resolution time stampsMicrosoft QueryPerformanceCounter (dipakai Stopwatch) adalah jam untuk mengukur waktu berlalu yang tidak disinkronkan dengan waktu eksternal; waktu sistem dipakai hanya jika butuh waktu UTC
Time synchronization (Netcode for Entities 6.5)Unity Memperkirakan waktu server dari waktu pulang-pergi, lalu menyamakannya dengan menyesuaikan laju waktu sedikit demi sedikit tanpa mengubah jam secara drastis