遊戲 Lag 白皮書 › L2 用戶端 OS 與裝置
安全軟體的封包檢查 Antivirus / firewall inspection
原因 ID co-security · 主要負責 外部(外部) · 協同 遊戲開發團隊(用戶端開發)
在含圖解與實驗的完整版中開啟卡片 →
防毒軟體、防火牆檢查每一個封包時延遲會增加,太過頭還會把遊戲誤判為攻擊而封鎖。
為什麼 安全軟體逐一檢查收送的封包 → 於是 每個封包都多出延遲,檢查來不及時封包會被丟棄 → 畫面上 ping 不規則地飆高,或連線被封鎖
- 症狀
- 卡頓, 連不上/無限讀取
- 因素
- 抖動, 遺失
- 誰會遇到
- 只有我
- 何時
- 一直都有, 剛登入/維護剛結束
- 負責單位
- 主要負責 外部(外部) · 協同 遊戲開發團隊(用戶端開發)
- 遊戲開發團隊要做的事
- 維護安全軟體相容性清單,安裝時在 Windows 防火牆加入遊戲的例外規則。
- 外部要做的事
- 引導玩家在安全軟體中把遊戲加入例外;遊戲被誤判為攻擊時,請安全軟體廠商修正誤判。
- 數值參考
- 正常情況下,封包檢查所花的時間通常不到 1ms。問題出在檢查模組塞車或有 bug 時,以及把遊戲通訊誤判為攻擊時。
- 圖表上
- 只有部分偏高 · RTT、連線失敗(依玩家)
- 查看位置
- 暫時關閉安全軟體,或把遊戲加入例外後比較。Windows 在稽核原則中開啟 Audit Filtering Platform Connection、Audit Filtering Platform Packet Drop 後,「安全性」log 會留下 5157(連線遭封鎖)、5152(封包遭封鎖);丟棄的封包數用效能監視器的 WFPv4\Packets Discarded/sec 查看
- 符合的跡象
- 留下前往遊戲伺服器位址的連線或封包遭封鎖的紀錄,或關閉安全軟體後 ping 飆高、無法連線的情況消失
- 不符合的跡象
- 與安全軟體無關、同一個家裡的其他裝置也一樣時,問題在分享器或線路
- 確認方式
- 在玩家端環境確認
出處
- About Windows Filtering Platform Microsoft
透過 Windows 網路堆疊中的 hook 與篩選引擎允許或封鎖封包的架構,外部安全廠商可以插入自己的篩選模組(callout) - Windows Firewall Rules Microsoft
預設會封鎖連入連線,所以 App 需要例外規則,通常由 App 安裝程式建立規則 - Address false positives/negatives in Microsoft Defender for Endpoint Microsoft
正常程式被誤判為威脅(誤判)時,設定例外並提交給 Microsoft 分析的流程 - 5157(F): The Windows Filtering Platform has blocked a connection. Microsoft
事件 5157:Windows Filtering Platform 封鎖了連線(Audit Filtering Platform Connection) - Audit Filtering Platform Packet Drop Microsoft
事件 5152:Windows Filtering Platform 封鎖了封包 - Network-Related Performance Counters Microsoft
WFPv4、WFPv6:Packets Discarded/sec 計數器
相關原因
同一層:L2 用戶端 OS 與裝置
同一症狀(卡頓)在其他層的原因
查看含圖解與實驗的完整版卡片