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

Sách trắng lag game › Sự cố chỉ một số người gặp

Tua nhanh do server xử lý ngay khi gói tới Event-driven processing of bursty inputs

ID nguyên nhân pt-event-server · Phụ trách chính Phát triển server (Đội phát triển game) · Phối hợp Phát triển client (Đội phát triển game)

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

Ở server xử lý và thông báo ngay khi gói tin tới, các hành động dồn lại của người chơi chậm sẽ được thực thi liên tiếp ngay lập tức.

Vì sao Yêu cầu skill, di chuyển của người chơi chậm tới dồn lại → Dẫn đến Server thực thi theo thứ tự ngay khi nhận và thông báo ngay cho mọi người → Trên màn hình Trong mắt người khác, người đó dùng nhiều skill trong một khoảnh khắc hoặc di chuyển như tua nhanh

Triệu chứng
Tua nhanh
Yếu tố
Jitter
Ai gặp phải
Chỉ một nhân vật trông bất thường
Khi nào
Khi làm một thao tác nhất định, Luôn luôn
Phụ trách
Phụ trách chính Phát triển server (Đội phát triển game) · Phối hợp Phát triển client (Đội phát triển game)
Việc cần làm (Đội phát triển game)
Server: thực thi theo khoảng cách của thời điểm input gắn trong hành động (chỉ chấp nhận thời điểm trong phạm vi cho phép), hoặc giãn các hành động dồn tới theo khoảng cách tối thiểu (hồi chiêu chung) rồi thực thi lần lượt thay vì từ chối, không kiểm tra hồi chiêu chỉ dựa trên thời điểm tới (input hợp lệ sẽ bị nuốt). Client: gắn thời điểm input vào hành động khi gửi.
Trên đồ thị
Chỉ một phần cao · Khoảng cách thực thi hành động theo người chơi
Chỗ cần xem
Ghi vào log server thời điểm tới, thời điểm thực thi, thời điểm input do client gắn (nếu có) của hành động theo từng người chơi, rồi so sánh khoảng cách thực thi với khoảng cách input. Xem cùng khoảng cách tới của gói tin người đó trong bản bắt gói phía server
Đúng nếu
khoảng cách input bình thường nhưng khoảng cách tới và thực thi trên server dồn lại chỉ còn vài ms, và lúc dồn lại trùng với thời điểm người khác báo cáo tua nhanh
Loại trừ nếu
khoảng cách thời điểm input đã dồn lại ngay từ đầu → xem client hoặc macro. Khoảng cách thực thi trên server đều mà chỉ trên màn hình người khác trông dồn lại → đường truyền của người xem
Cách kiểm tra
Cần log và chỉ số của server, client game

Nguồn

  1. Understanding Networked Movement in the Character Movement Component for Unreal Engine Epic Games
    Server tính di chuyển mỗi khi nhận ServerMove, xác định khoảng thời gian bằng chênh lệch timestamp so với lần di chuyển trước. Nếu lệch quá nhiều so với giờ server thì bỏ lần di chuyển đó
  2. Deterministic Lockstep Gaffer On Games
    Áp dụng input ngay khi tới thì dù gửi ở 60 Hz, khoảng cách vẫn không đều và kết quả lúc thế này lúc thế khác

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

Cùng tầng: Sự cố chỉ một số người gặp

Nguyên nhân ở tầng khác gây cùng triệu chứng (Tua nhanh)

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