一種復合單局比賽網絡模型的運行方法
【技術領域】
[0001]本發明涉及一種復合單局比賽網絡模型的運行方法。
【背景技術】
[0002]現代游戲對網絡客戶端數據的要求越來越高,服務器和客戶端通信的成本也比較尚O
[0003]但是純客戶端之間信息交互在安全性上有很大的隱患。
[0004]傳統的MM0(MM0- Massive Multiplayer Online,大型多人在線)都是采用C/S的架構模型,g卩服務器分別與大量客戶端通信,客戶端相互之間沒有直接通信。這種方式會給服務器帶來很大的壓力,并且因為所有的信息都需要服務器發送,對客戶端的帶寬要求也會更高。
[0005]另一種網絡模型是客戶端P2P(Peerto Peer)的信息交互。客戶端分別自己計算結果,各個客戶端之間再相互進行校驗。這種模式有一個很大的問題是客戶端可以約定同時修改系統數據,以達到作弊的效果。于是就有一種服務器驗證的機制,即多加一個驗證服務器,與客戶端檢驗計算結果,來檢查這種作弊。但是這種模式也有一個解決不了的問題,即某些作弊行為只需要讀數據,不需要修改數據一一即俗稱的全圖(打開戰爭迷霧)。
[0006]這時候只能通過C/S架構(Client/Server Structs),在C/S架構下,游戲服務器會根據視野算法確定各個游戲客戶端的視野關系,其中的視野算法是指游戲服務器處理游戲客戶端之間是否可見的邏輯。游戲客戶端就只能收到自己視野中的數據,如此客戶端不論怎么修改,都無法得到視野外的數據。從而杜絕外掛。但正如上文所說,這類架構對服務器的壓力很大,基本實現完成用戶所需要的游戲錄像,實時觀戰等功能。
【發明內容】
[0007]本發明采用傳統的服務器一客戶端(C/S)架構和客戶端互相直接通信相結合的方式,解決了信息交互的安全性問題。
[0008]我們所采用的是將兩種模式相結合的方式。即在比賽中的玩家采用C/S架構,通用服務器下發給客戶端數據,從而杜絕外掛存在的可能性。觀戰和錄像則所有保存指令包的形式,服務器保存一份用戶所有的指令,下發給觀戰用戶和比賽結束的用戶,用戶可以在客戶端重新計算指令達,還復盤當局比賽,達到實時觀戰和回顧錄像的功能。既解決了外掛問題,也不會造成太大的服務器壓力,也滿足了用戶的需求。
[0009]而在白名單中的比賽則采用P2P架構,以更大的緩解服務器壓力,當安全模塊檢測用戶有不正當行為后轉為黑名單。C/S架構下的比賽可以實時切換到P2P模式。
[0010]—種復合單局比賽網絡模型的運行方法,其特征在于本網絡模型包括一套游戲服務器和多個用戶客戶端,包含兩種運行方法:
方法一:重要比賽模式,用戶客戶端單局比賽采用C/S模式,通過比賽服務器(RS)運算,然后將邏輯數據發給各個比賽中的用戶客戶端,用戶客戶端之間沒有任何直接通信;用戶客戶端只能接收到視野內的游戲數據,以防止作弊;同時會保存當局比賽的命令包;用戶客戶端接收到邏輯數據,做出相應的顯示反饋給用戶;
方法二:非重要比賽模式,采用P2P的驗證方式,即各個用戶客戶端都擁有所有的游戲數據,根據指令包獨立運算邏輯,用戶客戶端之間通過對比邏輯隨機數來檢測相互的游戲數據是否一致;同時游戲服務器通過驗證查驗來做數據監控,同步對比隨機數,以防止多個用戶客戶端同時修改游戲數據;
當方法一出故障時,C/S模式下的比賽自動切換成P2P模式;游戲服務器上保存的比賽數據包將下發給用戶客戶端;用戶客戶端從頭計算邏輯至比賽中斷的那一幀,即可繼續正常比賽;
不管是C/S模式還是P2P模式,游戲服務器都會保存一份比賽邏輯數據包,可供用戶實時觀戰或比賽后下載觀看。
【附圖說明】
[0011]圖1是本發明邏輯框圖。
【具體實施方式】
[0012]本系統包括一套游戲服務器和多個游戲客戶端。
[0013]重要比賽(按一定規則篩選),用戶單局比賽采用C/S模式,通過比賽服務器(RS)運算,然后將數據發給各個比賽中的用戶客戶端,客戶端之間沒有任何直接通信。客戶端只能接收到視野內的游戲數據,以防止作弊。同時會保存當局比賽的命令包。游戲客戶端接收到邏輯數據,做出相應的顯示,以反饋給用戶。
[0014]非重要比賽或白名單用戶,采用P2P的驗證方式,即各個游戲客戶端都有所有的數據,根據指令包運算邏輯,客戶端之間通過對比邏輯隨機數來檢測數據是否一致。同時服務器會有驗證服務器(JS)來做監控,同步對比隨機數,以防止多個客戶端同時修改數據。
[0015]當RS出問題時(網絡問題,機房故障等),CS模式下的比賽自動切換成P2P模式。服務器上保存的比賽數據包將下發給客戶端。各個客戶端從頭計算邏輯至比賽中斷的那一幀,即可繼續正常比賽。
[0016]不管是CS模式還是P2P模式,服務器都會保存一份比賽邏輯數據包(分別在RS和JS上),可供玩家實時觀戰或比賽后下載觀看。觀戰和觀看錄像采用的是類似P2P模式下的客戶端計算,通過命令包和客戶端自身已有的數據,推衍整個比賽,從而復盤比賽過程。
【主權項】
1.一種復合單局比賽網絡模型的運行方法,其特征在于該網絡模型包括一套比賽服務器和多個用戶客戶端,該網絡模型包含一個重要比賽模塊, 用戶客戶端單局比賽采用C/S模式,通過比賽服務器RS運算,然后將邏輯數據發給各個比賽中的用戶客戶端,用戶客戶端之間沒有任何直接通信; 用戶客戶端只能接收到視野內的游戲數據,以防止作弊; 同時會保存當局比賽的命令包;用戶客戶端接收到邏輯數據,做出相應的顯示反饋給用戶。2.根據權利要求1所述的復合單局比賽網絡模型的運行方法,其特征在于該網絡模型還還包括一個非重要比賽模塊,采用P2P的驗證方式, 即各個用戶客戶端都擁有所有的游戲數據,根據指令包獨立運算邏輯,用戶客戶端之間通過對比邏輯隨機數來檢測相互的游戲數據是否一致; 同時游戲服務器通過驗證查驗來做數據監控,同步對比隨機數,以防止多個用戶客戶端同時修改游戲數據。3.根據權利要求1所述的復合單局比賽網絡模型的運行方法,其特征在于該網絡模型包含一個切換模塊,即重要比賽模塊出故障時,C/S模式下的比賽自動切換成P2P模式,即非重要比賽模塊。4.根據權利要求3所述的復合單局比賽網絡模型的運行方法,其特征在于所述重要比賽模塊故障時,比賽服務器上保存的比賽數據包將下發給用戶客戶端;用戶客戶端從頭計算邏輯至比賽中斷的那一幀,即可繼續正常比賽。5.根據權利要求1或2所述的復合單局比賽網絡模型的運行方法,其特征在于該網絡模型的比賽服務器保存一份比賽邏輯數據包。
【專利摘要】本發明涉及一種復合單局比賽網絡模型的運行方法。該網絡模型包括一套比賽服務器和多個用戶客戶端,該網絡模型包含一個重要比賽模塊,用戶客戶端單局比賽采用C/S模式,通過比賽服務器RS運算,然后將邏輯數據發給各個比賽中的用戶客戶端,用戶客戶端之間沒有任何直接通信;用戶客戶端只能接收到視野內的游戲數據,以防止作弊;同時會保存當局比賽的命令包;用戶客戶端接收到邏輯數據,做出相應的顯示反饋給用戶。解決了信息交互的安全性問題。
【IPC分類】H04L29/08, H04L29/06
【公開號】CN105577794
【申請號】CN201510990835
【發明人】朱曉丹
【申請人】杭州電魂網絡科技股份有限公司
【公開日】2016年5月11日
【申請日】2015年12月24日