簡體   English   中英

如何在使用Google Play服務的多人在線Android / iOS游戲中防止作弊?

[英]How to Prevent Cheating in an Multiplayer Online Android/iOS Game that Uses Google Play Services?

我打算為Android和iOS制作MMORPG。 我將使用Unity5。我還計划將用戶值存儲在Google Play服務隨附的Google Server中。 我存儲的價值包括金額,級別,實力點,庫存物品,解鎖的技能等。我不打算允許玩家離線玩游戲。 他們必須登錄自己的Google帳戶才能玩游戲。

這里是問題:

  • 我的游戲有多安全? 我的意思是,使用Google服務器存儲數據,我認為玩家不會更改游戲數據,因為所有數據都在服務器中。
  • 我應該使用哪種方法來加密我的數據?
  • Google服務器能夠存儲這些數據量嗎?
  • 用戶可以使用第三方程序來更改服務器上的數據嗎? 如何預防呢?
  • 我的游戲將完全在線。 通信運營商可以發送和接收這些數量的數據嗎? 因為服務器應檢查播放器的每一步。 而且玩家應該可以在外出時玩游戲。
  • 我計划在滿足某些要求時進行一些檢查。 例如,當玩家購買價值一百萬金幣的獨特物品時,如果玩家擁有一百萬金幣,游戲將首先檢查服務器。 任何人都可以更改游戲文件中的代碼嗎?

我還計划將用戶值存儲在Google Play服務隨附的Google Server中

不。 不要這樣

我不打算允許玩家離線玩游戲

好主意。

您所有其他問題的答案是,任何游戲都可以被黑客入侵。 任何游戲服務器都可以被黑客入侵。 由於您無權保護自己,因此使用Google Play服務更糟。

如果您的游戲是在線MMORPG,則需要獲得每月收費的服務器甚至是專用服務器。

無法阻止黑客入侵,但可以減少黑客入侵。

減少黑客入侵的方法:

1 獲取服務器而不是Google Play,因為有些事情您將無法在Google Play服務器上執行。 您無法在AFAIK上運行自己的游戲腳本。

2 玩家必須注冊並登錄才能玩游戲。

3 在服務器端進行所有安全性/購買工作。 如果您在客戶端執行此操作,則可以在iOS和Android上對其進行反編譯,修改和重新編譯。

例如,當玩家想要購買某物並且該東西需要該玩家所沒有的分數時,請勿在玩家方面進行檢查,而在服務器端進行。

4 當您檢測到某個播放器在作弊時,請禁用該播放器,然后禁用IP地址約一周。 不要永遠禁止IP地址,因為有些DSL用戶可以通過簡單地重置調制解調器來更改其IP地址。 當他們這樣做時,您現在在禁止另一個剛被禁止使用IP的無辜者。 您可以永久禁止該帳戶,也可以暫時禁止該帳戶作為警告,然后再永久禁止該帳戶。 您在此處設置規則。

5 您可以將每個帳戶與播放器的MAC地址,iPhone UDID,設備序列號或設備中的任何唯一編號相關聯。 當玩家被禁止時,他們可能會嘗試注冊另一個帳戶。 如果使用相同的設備進行注冊,請不要讓播放器注冊。 簡單顯示帶有數字的網絡錯誤。 不要告訴播放器他們由於帳戶/設備被禁止而無法再次注冊。 如果您這樣做,他們可以輕松繞過禁令機制並再次注冊。

使用帳戶,自定義服務器,禁止玩家是減少網絡游戲被黑客攻擊的最佳方法。 還有許多其他方法,但我不能繼續前進。

您需要知道的是

PHP,用於服務器端的MySQL Unity C#,用於客戶端/ Unity端的Unity網絡API

現在,如果您確實希望網絡游戲速度快50倍以上, 在服務器端使用C ++(FastCGI)MySQL連接器 客戶端/ Unity端的Unity C#+原始套接字 我建議您選擇這條路線。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM