遊戲 Lag 白皮書 › L13 伺服器架構與維運
巨集/機器人過多 Bots and macros
原因 ID in-bots · 主要負責 遊戲開發團隊(伺服器開發) · 協同 基礎設施團隊(網路基礎設施)
在含圖解與實驗的完整版中開啟卡片 →
機器人送出請求的頻率遠高於真人,會吃掉伺服器的處理量。
為什麼 大量連線的機器人不停重複打怪、移動、交易 → 於是 伺服器處理量與 DB 負載增加 → 畫面上 特定練功區或整個伺服器變慢(慢動作、輸入延遲)
- 症狀
- 慢動作, 輸入延遲
- 因素
- 停滯
- 誰會遇到
- 整個伺服器, 特定地點/頻道
- 何時
- 一直都有, 晚間尖峰時段
- 負責單位
- 主要負責 遊戲開發團隊(伺服器開發) · 協同 基礎設施團隊(網路基礎設施)
- 遊戲開發團隊要做的事
- 偵測機器人,依帳號、角色限制請求頻率。
- 基礎設施團隊要做的事
- 依 IP 限制連線與請求頻率(網咖、行動網路是多人共用一個 IP,要放寬),用防火牆、WAF 封鎖機器人的 IP 區段。
- 圖表上
- 只有部分偏高 · 各帳號/IP 的每秒請求數
- 查看位置
- 用遊戲伺服器 log 查看各帳號、角色每秒請求數的分布與前幾名清單。沒有程式碼指標時,看防火牆、WAF 的各 IP 請求數
- 符合的跡象
- 少數帳號、IP 以真人不可能達到的頻率不停送出請求,限制它們之後伺服器負載明顯下降
- 不符合的跡象
- 請求平均分散在各帳號時,是正常人數增加的問題(超出 tick 預算、自動擴展延遲)
- 確認方式
- 需要遊戲伺服器/用戶端的 log 與指標
出處
- Using rate-based rule statements in AWS WAF AWS
依 IP 等基準計算請求數,在設定的時間窗內過多時進行速率限制 - RFC 6269: Issues with IP Address Sharing IETF
多個用戶共用一個 IP 時,依 IP 封鎖或限制會連其他使用者一起擋掉
相關原因
同一層:L13 伺服器架構與維運
同一症狀(慢動作)在其他層的原因
查看含圖解與實驗的完整版卡片