我實際上並沒有自己寫這個軟件,但我想到我不知道如何解決這個問題。作爲說明問題的最好方式,我會從一個假設的多玩家第一人稱射擊遊戲描述一個特定的場景......模糊或隱藏服務器到客戶端狀態更新
- 玩家A是藏在樹叢中朝西
- 玩家B從東偷偷在球員A,或偷偷背後玩家A
受歡迎的「黑客」對本場比賽將是玩家A寫有顯示他的球員B的位置的雷達,即使他不能在他的屏幕上看到玩家B,並且遊戲不支持雷達。這種攻擊是可能的,因爲服務器在一定範圍內(也許在玩家A的裁剪平面內)向所有玩家發送信息給玩家A的客戶端。這不太現實(據我所知),服務器只嘗試向玩家A的視圖框內的玩家發送信息給玩家A的客戶端。由於服務器必須向玩家A的客戶端發送附近所有玩家的信息,因此玩家A可以在他的屏幕上寫入一個覆蓋雷達的黑客,該雷達通過觀察發送給客戶端的數據並抽出敵方玩家狀態更新來填充。我認爲這些通常被稱爲「雷達」或「牆」黑客。
在發送給客戶端的信息中有什麼方法來混淆或隱藏敵方玩家的狀態更新嗎?據我所知,加密對於實時解決方案是不可行的?即使服務器只能發送玩家A的視圖框架內的玩家狀態更新,這仍然會允許玩家A的黑客顯示隱藏在僞裝後面的玩家或隱藏對象(大概透明的方式)。
我唯一能想到的就是實現某種「punkbuster」解決方案。也就是說,玩家A的客戶經常掃描非法進程。這個想法是任何受歡迎的黑客都會受到監控。不受歡迎的黑客會影響一個足夠小的玩家羣,以至於他們太小而無法繼續。
監獄長擁有我一次:> – Konstantinos 2009-05-22 23:39:14