從技術角度出發,遊戲外掛原來是這麼一回事

我們玩遊戲,偶爾會遇到一些開掛的玩家,對我們造成了極差的遊戲體驗,那麼,網絡遊戲中的外掛是怎麼一回事呢?這要從網絡遊戲的原理開始說起。

從技術角度出發,遊戲外掛原來是這麼一回事

網絡遊戲原理

在現代手機網絡遊戲中,各個用戶都是連著自己的手機客戶端,每款遊戲的背後,都有一個遊戲後臺,所有的人最後的數據,都是彙總到後臺數據去。


從技術角度出發,遊戲外掛原來是這麼一回事


假如3個人在玩一個網絡遊戲,用戶1使用了一個必殺技,手機客戶端會把這個用戶在什麼時間什麼地點使用了什麼技能,封裝成跟後臺約定的網絡協議,然後發送給後臺。後臺會把這個協議轉發給一起玩的其他玩家,那麼其他玩家就能看到用戶1使用了必殺技了。


從技術角度出發,遊戲外掛原來是這麼一回事


外掛的種類

修改內存數據,有些壞人會通過修改內存數據,從而造成數據的異常,是怎麼一回事呢?我們用上述例子說明一下,假如用戶使用了必殺技,造成傷害100,用戶通過修改客戶端,變成傷害1萬,服務器把這個數據再傳給其他用戶,這就不得了。


從技術角度出發,遊戲外掛原來是這麼一回事


為了避免這種情況,遊戲服務器一般會進行數據校驗,對異常的數據進行甄別,現在,幾乎每一個服務器都會做這種數據校驗,大部分的數據運算都是在服務器中進行,這種修改內存的外掛手段,已經很難在大部分遊戲中出現了。


從技術角度出發,遊戲外掛原來是這麼一回事


破解網絡協議這種情況一般出現在手機客戶端跟服務器之間的數據。想想,如果你躲在草叢裡面準備放技能,結果敵人提前知道了你在草叢中,這不是玩完了麼。一般網絡遊戲中,遊戲後臺都會把數據下發給每個客戶端,包括每個人的信息,但是客戶端會根據一些邏輯,例如草叢裡面的敵人不展示,如果敵人截獲了服務器跟手機端的通信數據,進行分析,不就可以提前知道每個人的位置了麼?

為了防止這種情況,一般手機客戶端跟遊戲後臺的數據都是通過加密的方式來實現,一般都使用RSA等非對稱加密手段,每個手機客戶端跟遊戲後臺都有不同的公鑰與私鑰,除非破解了客戶端,不然很難拿到加密的鑰匙。

前置外掛


從技術角度出發,遊戲外掛原來是這麼一回事


上述兩種外掛都是發生在破解手機客戶端跟遊戲後臺的情況下,這種外掛方式在遊戲廠商加強了後臺數據運算與客戶端與後臺的網絡遊戲通信協議後,是非常難做到的,而且很容易被發現與封殺。在手機性能越來越強的情況下,這種前置外掛又開始流行起來了。


從技術角度出發,遊戲外掛原來是這麼一回事


前置外掛一般分2種,一種是使用簡單的按鍵精靈的方式,按照一定的策略,模擬用戶進行點擊或者模擬用戶進行壓槍,常見的有自動壓槍掛,另外一種,是採用計算機視覺,採用深度學習的方式,這種在槍戰遊戲類最為猖獗,有些高端的自動瞄準掛就是應用這一個原理。

今天的介紹我們就講到這裡,如果你有興趣,歡迎關注我,除了分享算法相關的,最近主要會講一些redis的原理與應用。近期還準備了一些AI相關的知識,整理後會和大家繼續分享。大家的支持是我繼續嘮嗑的動力。同名公眾號(沙茶敏碎碎念)

相關推薦

推薦中...