網(wǎng)絡(luò)游戲中游戲數(shù)值防篡改的設(shè)備和方法、網(wǎng)絡(luò)游戲系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)應(yīng)用及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及網(wǎng)絡(luò)游戲中游戲數(shù)值防篡改 的設(shè)備和方法、以及用于網(wǎng)絡(luò)游戲系統(tǒng)。
【背景技術(shù)】
[0002] 隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和移動(dòng)終端的不斷發(fā)展,游戲已經(jīng)成為互聯(lián)網(wǎng)應(yīng)用的重要組 成部分。
[0003] 傳統(tǒng)的單機(jī)游戲通常是將游戲存檔保存在本地,隨著游戲網(wǎng)絡(luò)化的推進(jìn),一些單 機(jī)游戲轉(zhuǎn)變成網(wǎng)絡(luò)化的單機(jī)游戲,這些單機(jī)游戲主要將用戶本地?cái)?shù)據(jù)保存在服務(wù)器上。這 通過如下兩種方式來實(shí)現(xiàn):一種方式是,客戶端負(fù)責(zé)所有的游戲業(yè)務(wù)邏輯,將用戶行為后的 結(jié)果上傳至服務(wù)器端保存。這種方式的優(yōu)點(diǎn)是開發(fā)成本低,服務(wù)器端只需要保存數(shù)據(jù),客戶 端聯(lián)網(wǎng)相關(guān)的功能開發(fā)難度相對簡單;缺點(diǎn)是安全性低,客戶端數(shù)據(jù)容易被篡改,服務(wù)器端 無法對篡改數(shù)據(jù)進(jìn)行驗(yàn)證。另一種方式是,服務(wù)器端負(fù)責(zé)游戲業(yè)務(wù)邏輯,這種方式的優(yōu)點(diǎn)是 安全性高;缺點(diǎn)是開發(fā)成本高,服務(wù)器端需要實(shí)現(xiàn)整體游戲業(yè)務(wù)邏輯開發(fā),由于游戲業(yè)務(wù)邏 輯都在服務(wù)器端進(jìn)行,所以客戶端的游戲業(yè)務(wù)相關(guān)邏輯都要重新開發(fā),并且不同的游戲需 要開發(fā)各自的服務(wù)器端。
【發(fā)明內(nèi)容】
[0004] 鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上 述問題的網(wǎng)絡(luò)游戲中游戲數(shù)值防篡改的設(shè)備和方法、以及用于網(wǎng)絡(luò)游戲系統(tǒng)。
[0005] 根據(jù)本發(fā)明的一個(gè)方面,提供了網(wǎng)絡(luò)游戲中游戲數(shù)值防篡改設(shè)備,該設(shè)備包括與 參與網(wǎng)絡(luò)游戲的各用戶對應(yīng)的各個(gè)游戲客戶端,以及與各個(gè)游戲客戶端相連的游戲服務(wù) 器,其中,所述游戲客戶端針對每一用戶行為基于預(yù)定游戲邏輯產(chǎn)生游戲數(shù)據(jù),分析所述 游戲數(shù)據(jù)而得到針對每一用戶行為需要上傳至所述游戲服務(wù)器的游戲數(shù)據(jù),然后將所述 需要上傳至所述游戲服務(wù)器的游戲數(shù)據(jù)上傳至所述游戲服務(wù)器,其中,所述需要上傳至所 述游戲服務(wù)器的游戲數(shù)據(jù)包括預(yù)先定義的標(biāo)識鍵Key、與所述標(biāo)識鍵Key對應(yīng)的游戲數(shù)值 Value、以及與生成所述游戲數(shù)值Value有關(guān)的游戲參數(shù);所述游戲服務(wù)器根據(jù)所接收到的 游戲數(shù)據(jù),通過預(yù)先配置于其中的用于驗(yàn)證游戲數(shù)值Value的合理性的表達(dá)式對上傳的游 戲數(shù)值Value的合理性進(jìn)行驗(yàn)證,如果驗(yàn)證合理,則保存上傳的游戲數(shù)值Value,否則不保 存。
[0006] 可選地,所述游戲客戶端包括數(shù)據(jù)收集模塊、分析模塊和上傳模塊,所述數(shù)據(jù)收集 模塊適于在游戲運(yùn)行過程中收集每一用戶行為所產(chǎn)生的游戲數(shù)據(jù);所述分析模塊適于分析 所述數(shù)據(jù)收集模塊所收集的游戲數(shù)據(jù),獲得針對每一用戶行為需要上至游戲服務(wù)器的游戲 數(shù)據(jù),并將其轉(zhuǎn)成標(biāo)識鍵Key和游戲數(shù)值Value的格式;所述上傳模塊適于將標(biāo)識鍵Key和 游戲數(shù)值Value的格式的游戲數(shù)據(jù)上傳至游戲服務(wù)器。
[0007] 可選地,所述游戲服務(wù)器包括服務(wù)器端配置模塊、接收模塊和驗(yàn)證模塊,所述服 務(wù)器端配置模塊適于配置用于驗(yàn)證游戲數(shù)值Value的合理性的表達(dá)式、以及設(shè)定游戲數(shù) 值Value的誤差范圍;所述接收模塊接收所述游戲客戶端上傳的針對每一用戶行為的游 戲數(shù)據(jù);所述驗(yàn)證模塊包括計(jì)算模塊和比較模塊,其中,所述計(jì)算模塊適于將所述接收模 塊所接收的游戲參數(shù)代入所述用于驗(yàn)證游戲數(shù)值Value的合理性的表達(dá)式,計(jì)算出游戲數(shù) 值Value ;所述比較模塊適于將所計(jì)算出的游戲數(shù)值Value與上傳的游戲數(shù)值Value進(jìn)行 比較,如果二者的差值在設(shè)定的游戲數(shù)值Value的誤差范圍內(nèi),則確定該上傳的游戲數(shù)值 Value是合理的。
[0008] 可選地,所述游戲客戶端還包括客戶端配置模塊,所述客戶端配置模塊根據(jù)游戲 服務(wù)器的要求而配置上傳的游戲數(shù)據(jù);其中,所述分析模塊根據(jù)所述數(shù)據(jù)收集模塊所收集 的數(shù)據(jù)以及所述客戶端配置模塊的配置,分析針對每一用戶行為需要上傳至游戲服務(wù)器的 游戲數(shù)據(jù),并將其轉(zhuǎn)成標(biāo)識鍵Key和游戲數(shù)值Value的格式。
[0009] 根據(jù)本發(fā)明的另一方面,網(wǎng)絡(luò)游戲中游戲數(shù)值防篡改方法,該方法適用于包括游 戲客戶端和游戲服務(wù)器的網(wǎng)絡(luò)游戲系統(tǒng),該方法包括:
[0010] 在游戲客戶端,對于每一用戶行為,基于預(yù)定游戲邏輯產(chǎn)生游戲數(shù)據(jù);在游戲客戶 端分析所述游戲數(shù)據(jù)而得到針對每一用戶行為需要上傳至所述游戲服務(wù)器的游戲數(shù)據(jù),并 將其轉(zhuǎn)成標(biāo)識鍵Key和游戲數(shù)值Value的格式,所述轉(zhuǎn)成標(biāo)識鍵Key和游戲數(shù)值Value的 格式的游戲數(shù)據(jù)包括預(yù)先定義的標(biāo)識鍵Key、與所述標(biāo)識鍵Key對應(yīng)的游戲數(shù)值Value、以 及與所述游戲數(shù)值Value有關(guān)的游戲參數(shù);將轉(zhuǎn)成標(biāo)識鍵Key和游戲數(shù)值Value的格式的 游戲數(shù)據(jù)上傳至所述游戲服務(wù)器;在游戲服務(wù)器中驗(yàn)證游戲數(shù)值Value的合理性。
[0011] 可選地,所述在游戲服務(wù)器中驗(yàn)證游戲數(shù)值Value的合理性的步驟包括:游戲服 務(wù)器接收游戲客戶端上傳的針對每一用戶行為的游戲數(shù)據(jù);以及游戲服務(wù)器根據(jù)所接收到 的游戲數(shù)據(jù),通過預(yù)先配置于其中的用于驗(yàn)證游戲數(shù)值Value的合理性的表達(dá)式對上傳的 游戲數(shù)值Value的合理性進(jìn)行驗(yàn)證,如果驗(yàn)證合理,則保存上傳的游戲數(shù)值Value,否則不 保存。
[0012] 所述游戲服務(wù)器根據(jù)所接收到的游戲數(shù)據(jù)通過預(yù)先配置于其中的用于驗(yàn)證游戲 數(shù)值Value的合理性的表達(dá)式對上傳的游戲數(shù)值Value的合理性進(jìn)行驗(yàn)證的步驟包括:將 所接收的游戲參數(shù)代入所述用于驗(yàn)證游戲數(shù)值Value的合理性的表達(dá)式,計(jì)算出游戲數(shù)值 Value ;以及將所計(jì)算出的游戲數(shù)值Value與上傳的游戲數(shù)值Value進(jìn)行比較,如果二者的 差值在設(shè)定的游戲數(shù)值Value的誤差范圍內(nèi),則驗(yàn)證該上傳的游戲數(shù)值Value是合理的,保 存該上傳的游戲數(shù)值Value,否則不保存。
[0013] 可選地,在所述游戲客戶端對于每一用戶行為基于預(yù)定游戲邏輯產(chǎn)生游戲數(shù)據(jù)的 步驟之后還包括:根據(jù)游戲服務(wù)器端的要求配置需要上傳的游戲數(shù)據(jù)。
[0014] 根據(jù)本發(fā)明的又一方面,提供一種用于網(wǎng)絡(luò)游戲系統(tǒng),其包括前面所述的網(wǎng)絡(luò)游 戲中游戲數(shù)值防篡改設(shè)備。
[0015] 本發(fā)明通過將游戲數(shù)值Value存儲(chǔ)在游戲服務(wù)器側(cè),而不是游戲客戶端側(cè),且在 游戲服務(wù)器側(cè)對游戲客戶端上傳上來的游戲數(shù)值Value進(jìn)行驗(yàn)證,可以大大增加游戲玩家 在游戲客戶端側(cè)篡改游戲數(shù)值Value的難度。
[0016] 上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段, 而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠 更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【附圖說明】
[0017] 通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通 技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明 的限制。而且在整個(gè)附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0018] 圖1示出了根據(jù)本發(fā)明的一種實(shí)施方式的網(wǎng)絡(luò)游戲中游戲數(shù)值防篡改設(shè)備的方 框示意圖;以及
[0019] 圖2示出了根據(jù)本發(fā)明的另一種實(shí)施方式的網(wǎng)絡(luò)游戲中游戲數(shù)值防篡改方法的 流程圖。
【具體實(shí)施方式】
[0020] 下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開 的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例 所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍 完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0021] 在本發(fā)明中,對于網(wǎng)游化的游戲(例如網(wǎng)絡(luò)游戲、網(wǎng)絡(luò)化的單機(jī)游戲等等),將諸 如道具、存檔、等級、積分等之類的游戲數(shù)值在服務(wù)器端存儲(chǔ),通過將在服務(wù)器端和客戶端 存儲(chǔ)的游戲數(shù)值之間建立一定的關(guān)系而防止游戲數(shù)值被篡改。具體地,對于每個(gè)游戲,為其 事先定義好一個(gè)或多個(gè)標(biāo)識鍵Key,其代表可存儲(chǔ)的游戲數(shù)值的唯一標(biāo)識,例如游戲道具標(biāo) 識,并在客戶端與服務(wù)器端分別配置生成與該一個(gè)或多個(gè)Key對應(yīng)的游戲數(shù)值Value的表 達(dá)式,從而使得Key對應(yīng)確定的游戲數(shù)值Value。具體地,對應(yīng)于同一個(gè)Key,針對不同的用 戶行為action,設(shè)定生成與該Key對應(yīng)的Value的不同表達(dá)式。另外,對于一個(gè)游戲,當(dāng)定 義多個(gè)Key時(shí),定義對應(yīng)于不同的Key的不同的用戶行為、并且對于每一 Key和對應(yīng)于其的 不同的用戶行為,確定不同的生成Value的表達(dá)式。通過將在客戶端側(cè)生成的Value存儲(chǔ)在 服務(wù)器端,在服務(wù)器端驗(yàn)證從客戶端上傳的Value是否正確,及時(shí)發(fā)現(xiàn)一些不合理的情況。 本發(fā)明的實(shí)現(xiàn)主要涉及到服務(wù)器端與客戶端之間的交互。
[0022] 圖1示出了根據(jù)本發(fā)明的一種實(shí)施方式的網(wǎng)絡(luò)游戲中游戲數(shù)值防篡改設(shè)備的方 框示意圖。如圖1所示,本發(fā)明的設(shè)備100包括與參與網(wǎng)絡(luò)游戲的各用戶對應(yīng)的各個(gè)游戲 客戶端110以及與各個(gè)游戲客戶端110相連的游戲服務(wù)器120。其中,游戲客戶端110和游 戲服務(wù)器120可以為多個(gè),但這里為了使示圖簡潔、清晰,圖1中只畫出了一個(gè)游戲客戶端 11