한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Buku Putih Lag Game › L1 Proses game di klien

Kesalahan sinkronisasi jam Clock sync error

ID penyebab cg-clock · Penanggung jawab utama Pengembangan klien (Tim Pengembang Game)

Buka kartu interaktif dengan gambar dan simulasi →

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

Gejala
Patah-patah, Aksi hilang / rollback
Faktor
Latensi
Siapa yang mengalami
Hanya saya
Kapan
Makin lama menyala, Sesekali secara acak
Penanggung jawab
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).

Sumber

  1. RFC 5905: Network Time Protocol Version 4: Protocol and Algorithms Specification IETF
    Cara menghitung latensi pulang-pergi dan selisih jam dari empat stempel waktu request dan response
  2. Acquiring high-resolution time stamps Microsoft
    QueryPerformanceCounter (dipakai Stopwatch) adalah jam untuk mengukur waktu berlalu yang tidak disinkronkan dengan waktu eksternal; waktu sistem dipakai hanya jika butuh waktu UTC
  3. 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

Lihat juga

Lapisan yang sama: L1 Proses game di klien

Penyebab di lapisan lain dengan gejala yang sama (Patah-patah)

Lihat kartu interaktif dengan gambar dan simulasi