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

Buku Putih Lag Game › Desain sinkronisasi

Hit registration tanpa lag compensation Server-now hit validation

ID penyebab sy-no-lagcomp · Penanggung jawab utama Pengembangan server (Tim Pengembang Game) · Turut terlibat Pengembangan klien (Tim Pengembang Game)

Buka kartu interaktif dengan gambar dan simulasi →

Jika server menilai serangan kena hanya dengan “posisi sekarang di server”, hasilnya tidak cocok dengan layar yang Anda lihat.

Mengapa Lawan di layar Anda ada di posisi sekitar 0,2 detik di masa lalu (dengan ping 150 ms dan interpolasi 100 ms) → Akibatnya Server menilai dengan posisi sekarang, jadi lawan sudah tidak ada di tempat yang Anda bidik → Di layar Jelas kena tetapi meleset. Harus menembak mendahului target yang bergerak

Gejala
Aksi hilang / rollback
Faktor
Latensi
Siapa yang mengalami
Hanya saya
Kapan
Saat melakukan aksi tertentu
Penanggung jawab
Penanggung jawab utama Pengembangan server (Tim Pengembang Game) · Turut terlibat Pengembangan klien (Tim Pengembang Game)
Tugas Tim Pengembang Game
Server: putar mundur waktu ke momen yang dilihat penyerang saat menilai serangan (lag compensation), atau ganti ke sistem target lock. Klien: saat menyerang, kirim juga momen yang dilihatnya (waktu server yang sedang diinterpolasi).
Di grafik
Hanya sebagian yang tinggi · Akurasi terhadap target bergerak (per rentang ping)
Yang diperiksa
Catat di log keputusan server waktu serangan, posisi target di layar penyerang (nilai yang dikirim klien), posisi target di server yang dipakai untuk menilai, dan RTT penyerang. Di build development, jika posisi yang dipakai server digambar di atas layar klien, perbedaannya langsung terlihat
Cocok jika
Pada penilaian yang meleset, selisih kedua posisi kira-kira kecepatan target × (RTT penyerang + waktu interpolasi), dan makin tinggi ping, hanya akurasi terhadap target bergerak yang turun
Tidak cocok jika
Target yang diam pun meleset: masalah hitbox atau collision check. Sudah memakai rewind tetapi tetap meleset: periksa apakah klien salah memberi tahu waktu interpolasi ke server
Sarana pemeriksaan
Log dan metrik server atau klien game

Sumber

  1. Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization (Yahn W. Bernier, GDC 2001) Valve
    Tanpa lag compensation, pemain harus menembak mendahului sebesar latensi. Lag compensation: server memutar mundur waktu sebesar latensi dan waktu interpolasi lalu menilai
  2. Peeking into VALORANT's Netcode Riot Games
    Server memutar mundur ke state game yang dilihat pemain saat menembak untuk menilai apakah kena; klien mengirim juga waktu simulasi yang sedang dilihatnya
  3. Source SDK 2013: player_lagcompensation.cpp Valve
    Waktu rewind di Source engine = latensi jaringan + waktu interpolasi

Lihat juga

Lapisan yang sama: Desain sinkronisasi

Penyebab di lapisan lain dengan gejala yang sama (Aksi hilang / rollback)

Lihat kartu interaktif dengan gambar dan simulasi