基本設計決策可以作為“第一步”安全措施,以取締濫用行為。核心原則是設計系統,使作弊要麼是不可能的,要麼根本不會帶來任何實質性的優勢,而不是事後嘗試檢測和防止作弊。
考慮一個射擊遊戲,玩家因擊殺而獲取積分。一個濫用者可能會創建機器人,瞬移到相同的位置,反覆被殺以輕鬆獲取積分。此場景說明了反應性和防禦性方法之間的區別:
| 方法 | 可預測的結果 |
|---|---|
| 通過編寫代碼來檢測機器人來追捕它們(反應性方法)。 | |
| 減少或徹底取消對新生成玩家的擊殺積分(防禦性方法)。 |
其他防禦性設計場景:
| 潛在的濫用場景 | 反應性方法(效果較差) | 防禦性方法(效果較好) |
|---|---|---|
| (障礙賽)濫用者瞬移到終點以獲得獎勵 | 僅檢查玩家的最終位置,並試圖檢測不可能的完成時間 | 設計需要強制性的、依次進行的檢查點。伺服器驗證每個檢查點是否按照順序激活,然後再授予獎勵。您可以通過標記那些以人類無法實現的速度完成關卡的玩家來增加另一層防護。經驗的設計(要求檢查點)使得有效的伺服器端驗證成為可能。 |
| (戰鬥)客戶端報告造成不可能的傷害量 | 試圖檢測和過濾不可能的傷害值 | 伺服器根據伺服器端武器統計計算所有傷害,並通過伺服器端的光線投射驗證擊中情況 |
| (經濟)濫用者通過快速請求複製物品 | 試圖檢測重複請求或異常模式 | 實施伺服器端的冷卻時間,並根據當前玩家庫存狀態驗證所有交易 |