服務端如何保證收到的資料是可信的?

時間 2021-05-07 00:28:57

1樓:GetMyName

1.用https

2.加上加密簽名字段,時長換一下簽名演算法

3.做些簡單的資料邏輯合法性判斷。例如兩次結果時間差內,不可能有這樣的分差

這些基本上能大大增加外掛程式的成本,能擋住99%。當然你的遊戲如果很火,成本再高,外掛程式也能獲益,那你是怎麼都防不住剩下那1%的。除非你們把遊戲做成長鏈結,服務端計算等方式

2樓:

1、資料加密傳輸。

2、單位時間內,分數的範圍。

3、通過websocket 每秒上傳一次分數進行校驗。

第一步可以卡住90%的違規玩家。

第二步可以卡住剩餘9%的違規玩家

第三步就沒有什麼必要做了,畢竟99%的違規玩家被K掉,足夠了。

3樓:

作為乙個寫過不少外掛程式的人逆向思維一下:

1.套個https,理論上https毫無意義,但實際上很多傻瓜工具對https支援不太好

2.增加點隨機性,防止簡單的原模原樣的資料報重放

3.記錄成績的資料報內容用演算法迷惑一下,不要被人簡單的改一下數字就給破解了

4.程式做做混淆

5.勤做改變,比如成績97分,今天記錄成9.*7,明天記錄成900007,減少有人做出現成的外掛程式軟體的危害

6.人工或機器檢測一下神仙,比如有人1s就跑完了別人十分鐘才能跑完的路程,那肯定是掛

做到這些基本就足夠了,看似從密碼學上毫無意義的操作,實際上能抵禦住99%的只會照著教程的小白和85%的指令碼小子

至於剩下的真正有點技術的人,他想作弊你怎麼都攔不住,不如省點勁

4樓:Allen

伺服器和客戶端演算法保持一致客戶端執行結束可以上傳關鍵過程資料伺服器驗證不過要看是什麼玩法

比如打地鼠這種簡單的玩法可以驗證下單位時間內合理的打擊次數最大的成功次數

比去戰鬥過程可以驗證出招數剩餘血量攻擊血量範圍

5樓:我們愛珂學

我記得當年跑跑卡丁車的掛實在也不少。

競速類和fps一樣,如果要表現效果好,都是客戶端先行的。這樣就會給外掛程式很大的操作空間。

一般情況下,都是伺服器打點。在某些關鍵位置打點,然後測算一下速度是否合理。如果不合理就上報,看情況是直接封還是走流程。

直接交給伺服器處理也不是不行,這樣手感會相當差的,畢竟客戶端做出操作,上報的伺服器,伺服器計算出結果,再下發結果,中間一來一回,流暢度明顯被降低。但好處就是基本上可以杜絕外掛程式的可能性。

6樓:程墨Morgan

要求客戶端把遊戲過程的玩家操作、環境設定和最終成績一起發到伺服器,伺服器可以做乙個Replay來判定是否是否是真實結果。

假設你這個競速遊戲中有隨機出現的障礙物,那麼匯報給伺服器的就應該有這些隨機出現障礙物的位置,以及每個使用者操作和對應時間點,伺服器端邏輯上Replay一下就知道是不是真的能得到最後的結果。當然,如果作弊者都上機械人來操作,你也防不住他,這是另外乙個話題。

如果競速遊戲是多人聯機比賽,那就更直接了,參與乙個比賽的所有人都上報結果,對比一下,就知道誰勝誰負了,一場比賽不會有多個第一名。當然,如果作弊者用多個客戶端進同乙個遊戲來刷分,你也防不住他,這也是另外乙個話題。

7樓:鏟屎官

沒做過遊戲開發,隨便聊聊。

要想判斷使用者是否是通過玩遊戲獲得的分數,還是偽造的請求,首先使用者第一次進入遊戲要給他發乙個唯一id作為結算依據,可以在玩遊戲開始、過程、結束階段傳送關鍵資料給後台記錄過程。當然遊戲過程記錄規則也是要好好設計的,而且要合理。(這裡應該有說法)

第一、盡量不能因為網路原因,影響遊戲體驗

第二、允許丟包

第三、偽造成本高

最後排行榜要校驗有沒有遊戲過程的資料,沒有的都不可信,像副本類遊戲都可以這樣設計,然後統計戰果資料。

沒做過遊戲,個人理解,還請大佬指正

逃、、、

Python 服務端如何loads大的json物件,要求不卡主線程?

羅輯 最佳實踐是,請使用python程序代替python執行緒。首先提問中也指出了一些問題,另外換個角度,python對程序和對執行緒的支援力度差異巨大,使用程序有更加完備的支援,以及更少的坑。 張彤 ok,昨天就看到了這個問題,我想問下,json大概有多大呢,具體的結構是個什麼樣的呢,樓主沒有說清...

冒險島服務端的問題

嘛。我就講講冒險私服的發展歷史吧。同時也開設了第乙個冒險私服。odinms所寫的原始碼質量據說是高於當時官方的 國際版 而且運營良好所以很快就有大量的玩家定居。由於過於火爆,也被官方盯上了。最終的結果是od的核心人員被告,od所運營的私服以及交流論壇也隨之瓦解。與此同時,od放出了他們開發的冒險島原...

網際網路行業做服務端開發是不是比做資料探勘 自然語言 資料分析崗位壓力更大?

java小公舉 大資料其實最重要的是整套架構的設計,開發難在業務的複雜和某些技術,這兩個個職位都做過,大資料只要架構設計出色後面會很好很多,開發注重細節和業務。 向磊 服務端有難度,但也沒那麼高不可攀,資料探勘機器學習門檻也沒那麼低,能幹活起碼也得統計學碩士畢業吧。服務端要求的更多的是對計算機原理方...