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

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

Server kiểm tra quá chặt Over-strict server validation

ID nguyên nhân sy-strict-check · 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 server kiểm tra tốc độ di chuyển, hồi chiêu, tầm đánh quá chặt, cả những input hợp lệ bị dồn lại do jitter cũng bị từ chối.

Vì sao Tiêu chí chặt như “quãng đường di chuyển được trong một tick”, “dung sai hồi chiêu 0 ms” → Dẫn đến Jitter làm hai lệnh dồn tới trong cùng một tick thì bị coi là vi phạm quy tắc → Trên màn hình Kéo ngược, hồi chiêu đã xong mà skill vẫn bị từ chối

Triệu chứng
Kéo ngược, Nuốt thao tác·rollback
Yếu tố
Jitter
Ai gặp phải
Chỉ mình tôi
Khi nào
Thỉnh thoảng bất chợt, Khi di chuyển hoặc chuyển bản đồ
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)
Kiểm tra theo kiểu hạn mức tích lũy (token bucket), chừa khoảng dư bằng ping và jitter.
Trên đồ thị
Thỉnh thoảng vọt lên bất chợt · Số lần server từ chối khi kiểm tra, số lần hiệu chỉnh vị trí
Chỗ cần xem
Ghi vào log server cho mỗi lần từ chối hoặc hiệu chỉnh vị trí: lý do, số lệnh của người chơi đó tới trong tick đó, khoảng cách tới so với lệnh ngay trước
Đúng nếu
các lần từ chối, hiệu chỉnh dồn vào những lúc có từ 2 lệnh trở lên tới cùng một tick, trong khi lượng di chuyển và số lần sử dụng cộng theo đơn vị vài giây vẫn nằm trong quy tắc
Loại trừ nếu
cộng theo đơn vị vài giây mà vẫn vượt quy tắc → có thể là chạy quá tốc độ thật hoặc cheat. Từ chối dồn vào một nhà mạng cụ thể và vào buổi tối → xem báo nhầm khi kiểm tra, dồn vào người chơi dùng một nhà mạng
Cách kiểm tra
Cần log và chỉ số của server, client game

Nguồn

  1. Source SDK 2013: player.cpp Valve
    Cho phép các lệnh dồn tới bằng ngân sách xử lý lệnh tích lũy qua mỗi tick (tối đa sv_maxusrcmdprocessticks 24 tick). Chú thích của nhà phát triển cho biết chặn chặt hơn thì người chơi bình thường cũng bị giật khựng
  2. RFC 2697: A Single Rate Three Color Marker IETF
    Token bucket: xét theo tốc độ trung bình (CIR) và kích thước burst cho phép trong một lần (CBS)

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 (Kéo ngược)

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