海盗王封WPE的方法
生活随笔
收集整理的這篇文章主要介紹了
海盗王封WPE的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在游戲中,合當地使用WPE可以減輕玩家的重復操作,但是利用WPE刷bug作弊,會影響游戲平衡,故意大量發包還會導致全服集體卡頓。因此,很多開服的GM對此深惡痛絕。
以海盜王游戲為例,怎么封WPE呢?
首先,WPE是截取游戲的封包,然后利用WPE的發包功能,重復發送之前截取的一個或者多個封包,實現游戲重復功能的操作。這里不談高手可以解密封包修改再加密發送的特例,這種情況是無法封的。
針對一般人的使用,我們可以從理論上提出這樣處理:客戶端每次發包給服務器都是唯一不可重復的,那么WPE就失效了。
具體實現方法就是:客戶端連接成功服務端后,雙方設定一個起始封包編號,然后客戶端發給服務端的每個封包都賦予唯一的遞增的編號,同時服務端每收到一個封包,都比對自身的編號是否跟客戶端的編號相等,相等的話為合法包,正常解釋,不相等的話,肯定是WPE截取后重發的,直接丟棄掉不處理或者立即將發送者斷開連接。確認合法封包后,雙方都把封包號繼續遞增一次,保持相同即可,為下一次發合法封包做準備。
經過反復嘗試,在海盜王游戲中實現了,如下圖:
我們看到,正常發包時,雙邊的編號都是一樣的,開啟WPE發包后,還是用比當前小的編號發的,很容易識別到。直接跳過,客戶端不產生任何相應,WPE失效了。
正常游戲,不受任何影響。
總結
以上是生活随笔為你收集整理的海盗王封WPE的方法的全部內容,希望文章能夠幫你解決所遇到的問題。