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

Sách trắng lag game › Thiết kế đồng bộ

Bù trễ quá mức Excessive lag compensation

ID nguyên nhân sy-lagcomp-overreach · Phụ trách chính Phát triển server (Đội phát triển game)

Mở thẻ gốc có hình minh họa và thí nghiệm →

Nếu quay ngược quá xa theo góc nhìn của người tấn công, người bị bắn dù đã nấp vẫn bị trúng.

Vì sao Server quay ngược rất xa để phán định cho người tấn công có ping cao → Dẫn đến Trên màn hình của người bị bắn, họ đã vào chỗ nấp → Trên màn hình “Bị bắn trúng sau tường”, người ping cao được lợi

Triệu chứng
Nuốt thao tác·rollback
Yếu tố
Độ trễ
Ai gặp phải
Chỉ mình tôi, Một khu vực hoặc nhà mạng
Khi nào
Khi làm một thao tác nhất định
Phụ trách
Phụ trách chính Phát triển server (Đội phát triển game)
Việc cần làm (Đội phát triển game)
Đặt giới hạn quay ngược (ví dụ 200–250 ms), người tấn công có ping cao hơn thì chỉ quay ngược tới giới hạn, phần còn lại để họ tự bắn đón đầu.
Trên đồ thị
Chỉ một phần cao · Thời gian quay ngược của mỗi lần trúng (theo ping người tấn công)
Chỗ cần xem
Ghi vào log phán định của server cho mỗi lần trúng: thời gian quay ngược, RTT của người tấn công, thời điểm trên server mà người bị bắn vào chỗ nấp. Trong bản build dev, vẽ hitbox đã quay ngược lên màn hình (Source engine là sv_showlagcompensation)
Đúng nếu
các lần trúng trong báo cáo “bị bắn sau tường” dồn vào người tấn công có thời gian quay ngược dài, và thời gian quay ngược tăng theo ping người tấn công mà không có giới hạn
Loại trừ nếu
lần trúng có thời gian quay ngược ngắn cũng bị bắn sau tường → vấn đề hitbox hoặc kiểm tra va chạm. Người bị bắn có ping cao → do di chuyển của người đó tới server muộn
Cách kiểm tra
Cần log và chỉ số của server, client game
Tìm hiểu thêm
Phán định quay ngược theo nguyên tắc “ưu tiên người bắn”. Cũng có đề xuất ngoại lệ “ưu tiên người bị bắn”: không quay ngược nếu trên màn hình của người bị bắn, họ đã vào chỗ an toàn.

Nguồn

  1. Peeking into VALORANT's Netcode Riot Games
    Nếu quay ngược không có giới hạn, người có độ trễ 500 ms vẫn bắn trúng được đối phương đã nấp 0,5 giây, nên cần đặt giới hạn
  2. A Survey and Taxonomy of Latency Compensation Techniques for Network Computer Games (ACM Computing Surveys, 2022) ACM
    Hiện tượng “bị bắn sau góc tường (shot around the corner)”, giới hạn quay ngược trong các game FPS thương mại, đề xuất kỹ thuật không quay ngược khi người bị bắn đã an toàn
  3. Source SDK 2013: player_lagcompensation.cpp Valve
    Giới hạn quay ngược sv_maxunlag của Source engine mặc định 1 giây (tối đa 1 giây), sv_showlagcompensation hiển thị hitbox đã quay ngược lên màn hình

Nguyên nhân nên xem cùng

Cùng tầng: Thiết kế đồng bộ

Nguyên nhân ở tầng khác gây cùng triệu chứng (Nuốt thao tác·rollback)

Xem thẻ gốc có hình minh họa và thí nghiệm