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

遊戲 Lag 白皮書 › 只有部分人遇到的問題

集中在特定電信業者玩家的驗證誤判 Anti-cheat / movement validation false positives on bad ISPs

原因 ID pt-isp-validation · 主要負責 遊戲開發團隊(伺服器開發) · 協同 基礎設施團隊(網路基礎設施)

在含圖解與實驗的完整版中開啟卡片 →

線路抖動大的人,輸入會成批抵達,因此常被伺服器的速度、冷卻檢查攔下。

為什麼 特定電信業者、地區線路的抖動在晚間變大 → 於是 伺服器把成批抵達的正常輸入判定為加速或違反冷卻 → 畫面上 只有該電信業者的玩家出現拉回、技能被拒,嚴重時被伺服器踢出而斷線

症狀
拉回, 吃指令/回檔, 斷線
因素
抖動
誰會遇到
特定地區/電信業者, 只有我
何時
晚間尖峰時段, 移動中/切換地圖時
負責單位
主要負責 遊戲開發團隊(伺服器開發) · 協同 基礎設施團隊(網路基礎設施)
遊戲開發團隊要做的事
檢查改用數秒內的累積容許量,參考線路狀態(ping、抖動)放寬標準,強制斷線前先有警告階段,並用每位玩家各自的輸入緩衝把成批湧入的輸入平均分配到各 tick,從根本減少誤判。
基礎設施團隊要做的事
依時段確認各電信業者的遺失率與抖動分布並分享給遊戲開發團隊,檢查該電信業者區段的路由(雙向 mtr),必要時變更路由或向電信業者升級處理(escalation)。
圖表上
只在特定時段偏高 · 各電信業者(ASN)的驗證拒絕、強制斷線次數,各電信業者的抖動
查看位置
在伺服器的驗證拒絕、校正、強制斷線 log 加上連線 IP 所屬電信業者(ASN)與時間,依電信業者與時段統計。基礎設施團隊在同一時間往該電信業者方向執行雙向 mtr,查看抖動與封包遺失
符合的跡象
拒絕與強制斷線集中在特定電信業者、晚間增加,同一時間該電信業者的抖動也偏高,而以數秒為單位加總的移動量仍在規則內
不符合的跡象
與電信業者無關、只有特定帳號反覆出現時,可能真的是作弊。所有電信業者一起增加時,是伺服器 tick 落後、指令被集中套用的伺服器端原因(超出 tick 預算)
確認方式
需要遊戲伺服器/用戶端的 log 與指標

出處

  1. Source SDK 2013: player.cpp Valve
    以每個 tick 累積的指令預算防止加速;開發註解提到,更嚴格的限制會讓正常玩家也出現卡頓
  2. RFC 2697: A Single Rate Three Color Marker IETF
    token bucket:以平均速率與容許的突發量判定
  3. Understanding Networked Movement in the Character Movement Component for Unreal Engine Epic Games
    用戶端與伺服器的時間戳記差距大時,會丟棄該次移動或走時間差異修正流程;以伺服器時間計算,防止加速外掛

相關原因

同一層:只有部分人遇到的問題

同一症狀(拉回)在其他層的原因

查看含圖解與實驗的完整版卡片