專利名稱:一種網絡游戲服務器端的制作方法
技術領域:
本發明涉及一種服務器,尤其涉及一種網絡游戲服務器端。
背景技術:
隨著網絡游戲的不斷發展,對于網絡游戲服務器端的要求越來越高。在網絡游戲服務器端需要一個結構清晰,功能完善,方便修改,安全性高的軟件結構模型來保證對玩家的響應速度,商業需求、功能的變更以及黑客的防范等各個方面的順利實現。而在現階段的網絡游戲服務器技術中,并沒有一個公認的最佳結構來進行實現。并且現有的技術大多采用“數據庫——服務程序——客戶端”的模式架設網絡游戲服務器,其中服務程序往往是由統一語言寫成的。I、由于現有技術使用的是數據庫直接讀寫,導致其在磁盤讀寫的過程中消耗了大·量的時間,導致響應速度慢;2、并且開發成本高,開發效率低;由于現有技術的服務程序由單一語言編寫,而應用軟件級別的開發必然受到開發語言的語言特性和API影響。而對于特定的開發語言,要求其滿足所有功能的最佳實現和最高效率開發是一件基本不可能的事情;3、軟件維護成本高,維護人員培養消耗大;服務程序的高度集成導致了其不同功能模塊之間存在著過高的偶合度,而這種耦合度使得針對某個模塊維護過程變得異常復雜。同時,維護人員的培訓也要因為耦合度的提升而變長,從而使得企業的員工培訓消耗增加;4、游戲體驗性差,擴展性差由于各個服務器的分離運行和服務器的承載能力有限,導致了服務器無法支持較多的玩家在一起游戲,這無疑減少了玩家的游戲體驗。同時,當一個擴展需求會影響到服務器運行效率的時候,必須去考慮運行效率的降低是否會導致延遲和宕機,有時必須通過更換新的服務器硬件來達到擴展的目的。
發明內容
本發明的目的是提供一種網絡游戲服務器端,有效解決現有網絡游戲服務器端響應速度慢、開發成本高,開發效率低、軟件維護成本高,維護人員培養消耗大、游戲體驗性差,擴展性差等技術缺陷。為實現上述目的,本發明提供了一種網絡游戲服務器,包括數據庫接口系統,用于與數據庫進行數據傳遞,是與數據庫連接的接口 ;數據系統,用于通過數據庫接口系統將數據庫的數據與環境系統、功能系統、用戶系統進行數據傳遞;配置文件管理系統,用于提供各模塊多需要的相對應的數據;環境系統,用于房間系統和戰場系統的游戲環境設置;功能系統,用于實現游戲的各種具體功能;
用戶系統,用于玩家在進入游戲之后所啟動的系統;指令系統,用于對指令進行解析,并調用對應的指令處理接口 ;網絡通訊系統,用于與互聯網/客戶端進行通訊,傳遞數據或指令;協議系統,用于將數據封包,發送至互聯網/客戶端。所述環境系統具體包括房間系統,用于玩家的非戰斗環境系統;戰場系統,用于玩家的戰斗環境系統。所述房間系統具體包括
·
成員模塊,用于負責管理房間中玩家列表的建立和維護;流程模塊,用于負責玩家在房間內游戲的主流程、各個戰場的維護調用;房主功能模塊,用于負責維護和執行房主的特殊操作;玩法模塊,用于保存該房間所要的玩法信息。所述戰場系統具體包括地圖模塊,用于負責戰場的地圖維護;元件模塊,用于負責戰場內各種不同元件的創建與維護;組隊模塊,用于負責玩家/怪物的隊伍分配和不同隊伍的關系處理;結算模塊,用于負責結算用的數據收集和功能實現;流程模塊,用于戰斗過程的維護和實現;玩法模塊,用于保存啟動戰場的房間的玩法信息,維護相關玩法的數據。所述功能系統具體包括結算系統、戰斗系統、玩法系統、地圖系統、怪物系統、防沉迷系統、登錄登出系統、坦克系統、部件系統、技能卡系統、效果系統。所述結算系統,用于結算流程從各個戰場數據模塊中調用相關的數據進行計算;將所有的計算結果通過數據系統寫回數據庫,同時,將所有需要發送的數據通過協議系統封包、發送至客戶端;所述用戶系統具體包括賬號數據模塊,用于驗證玩家的用戶信息;坦克模塊,用于負責維護玩家的坦克數據;技能卡模塊,用于負責維護技能卡數據;部件模塊,用于負責維護玩家的坦克部件數據;戰斗模塊,用于用來維護玩家的戰斗屬性;效果模塊,用于負責維護需要客戶端顯示的各種效果。由上述技術方案可知,本發明具有以下有益效果本發明在保證了安全性的基礎上實現了結構清晰,功能完善,方便修改的需求,不僅提升了服務質量而且減少了運營和開發的成本。I、采用雙層數據庫系統,并將在線玩家的數據讀取到第二層數據庫中,既提高了讀取速度也降低了磁盤系統的運行消耗;2、針對于不同的功能模塊,使用不同的開發語言進行開發,從而達到了提高模塊運行效率和模塊開發效率的目的;
3、不同的模塊在產生數據交互的時候均設置有數據驗證和專用接口,降低了各個模塊的耦合度,減少了來自軟件維護和人員培養所需要的費用;4、由于服務器采用聯合負載分壓的操作方式,可以通過增加分壓服務器的數量來提高服務器的負載能力,從而適應更多玩家在同一游戲世界和更多會增加服務器壓力的需求。
圖I為本發明網絡游戲服務器端第一實施例的結構具體實施例方式圖I為本發明網路游戲服務器端第一實施例的結構 框圖。如圖I所示,該網路游戲服務器端包括數據庫接口系統I、數據系統2、配置文件管理系統3、環境系統4、功能系統5、用戶系統6、指令系統7、網絡通訊系統8、協議系統9。其中,數據庫接口系統1,用于與數據庫10進行數據傳遞,是與數據庫10連接的接口 ;數據系統2,用于通過數據庫接口系統I將數據庫10的數據與環境系統4、功能系統5、用戶系統6進行數據傳遞;配置文件管理系統3,用于提供各模塊多需要的相對應的數據;環境系統4,用于房間系統和戰場系統的游戲環境設置;環境系統4具體包括房間系統41和戰場系統42,其中,房間系統41,用于玩家的非戰斗環境系統;房間系統41具體包括成員模塊411,用于負責管理房間中玩家列表的建立和維護;流程模塊412,用于負責玩家在房間內游戲的主流程、各個戰場的維護調用;房主功能模塊413,用于負責維護和執行房主的特殊操作;玩法模塊414,用于保存該房間所要的玩法信息。戰場系統42,用于玩家的戰斗環境系統;其中,戰場系統42具體包括地圖模塊421,用于負責戰場的地圖維護;元件模塊422,用于負責戰場內各種不同元件的創建與維護;組隊模塊423,用于負責玩家/怪物的隊伍分配和不同隊伍的關系處理;結算模塊424,用于負責結算用的數據收集和功能實現;流程模塊425,用于戰斗過程的維護和實現;玩法模塊426,用于保存啟動戰場的房間的玩法信息,維護相關玩法的數據。功能系統5,用于實現游戲的各種具體功能;功能系統5具體包括結算系統51、戰斗系統52、玩法系統53、地圖系統54、怪物系統55、防沉迷系統56、登錄登出系統57、坦克系統58、部件系統59、技能卡系統510、效果系統511。其中,結算系統,用于結算流程從各個戰場數據模塊中調用相關的數據進行計算;將所有的計算結果通過數據系統寫回數據庫,同時,將所有需要發送的數據通過協議系統封包、發送至客戶端;用戶系統6,用于玩家在進入游戲之后所啟動的系統;用戶系統6具體包括賬號數據模塊61、坦克模塊62、技能卡模塊63、部件模塊64、戰斗模塊65、效果模塊66、賬號數據模塊61,用于驗證玩家的用戶信息;坦克模塊62,用于負責維護玩家的坦克數據;技能卡模塊63,用于負責維護技能卡數據;部件模塊64,用于負責維護玩家的坦克部件數據;戰斗模塊65,用于用來維護玩家的戰斗屬性;·效果模塊66,用于負責維護需要客戶端顯示的各種效果(戰斗中和非戰斗中)。指令系統7,用于對指令進行解析,并調用對應的指令處理接口 ;網絡通訊系統8,用于與互聯網/客戶端11將數據封包,發送至互聯網/客戶端11進行通訊,傳遞數據或指令;協議系統9,用于將數據封包,發送至互聯網/客戶端11。模塊的功能主要是流程控制和數據維護,在某一個流程的控制下完成某種功能。通過功能的拼接來達到實現游戲服的目的。網絡游戲的流程如下一、玩家登陸流程玩家登陸是指玩家通過賬號密碼進入網絡游戲服務器端的過程。I、互聯網/客戶端11與網絡游戲服務器端建立固定的鏈接;2、通過互聯網/客戶端11將玩家的賬號信息發送至網絡游戲服務器端,通過網絡通訊系統8和指令系統7對傳入的數據包進行解析;3、賬號數據模塊61通過數據系統2和數據庫接口系統I來讀取數據庫10獲得賬號信息,并調用各相關模塊的接口,將數據寫入各個模塊;4、完成登陸。二、玩家游戲準備流程I、玩家進入游戲房間,游戲房間(環境系統4)將該玩家注冊到成員模塊411,并設定其身份;2、玩家進入設定/等待,玩家開始選擇隊伍,通過成員模塊411對其進行隊伍身份選擇,同時,房主通過玩法模塊414設定玩法,難度等其他房間因素,并通過房主模塊413對環境系統4的屬性進行調整3、當玩家均準備好后,環境系統4啟動進入戰場的流程。讀取數據庫10并向地圖模塊421傳送相對應的地圖信息,向玩法模塊426傳送相對應的玩法屬性,向結算模塊424傳送相對應的結算基礎數據,向組隊模塊423傳送對應的組隊信息;4、所有的數據傳輸完成后,啟動戰場流程模塊425,戰場進行初始化;5、戰場系統42中的各個模塊按照流程模塊425規定的順序,進行戰場數據的加載和對應功能的啟動,當所有啟動過程完成后,戰斗進入開始階段,通過協議系統9向互聯網/客戶端11發送對應的數據。三、戰斗過程
I、玩家發送指令;2、指令系統7通過網絡通訊系統8獲得指令,并進行解析,調用對應的指令處理接
n ;3、指令處理接口調用相對應的內部響應程序;4、內部響應程序按照所需的流程調用模塊內的函數實現服務;5、當服務結束后,按照服務所需情況,通過協議系統9向互聯網/客戶端11發送對應數據。四、結算流程I、在戰斗中,戰場模塊42會根據自己的功能記錄相對應的數據信息。·2、當戰斗結束時戰場系統中流程模塊425通知結算模塊424進入結算狀態;3、結算模塊424啟動結算流程;4、結算流程從各個戰場數據模塊中調用相關的數據進行計算;5、結算模塊424將所有的計算結果通過數據系統2寫回數據庫10,同時,將所有需要發送的數據通過協議系統9封包、發送至互聯網/客戶端11。最后應說明的是以上實施例僅用以說明本發明的技術方案而非對其進行限制,盡管參照較佳實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解其依然可以對本發明的技術方案進行修改或者等同替換,而這些修改或者等同替換亦不能使修改后的技術方案脫離本發明技術方案的精神和范圍。
權利要求
1.一種網絡游戲服務器端,其特征在于,包括 數據庫接口系統,用于與數據庫進行數據傳遞,是與數據庫連接的接口 ; 數據系統,用于通過數據庫接口系統將數據庫的數據與環境系統、功能系統、用戶系統進行數據傳遞; 配置文件管理系統,用于提供各模塊多需要的相對應的數據; 環境系統,用于房間系統和戰場系統的游戲環境設置; 功能系統,用于實現游戲的各種具體功能; 用戶系統,用于玩家在進入游戲之后所啟動的系統; 指令系統,用于對指令進行解析,并調用對應的指令處理接口 ; 網絡通訊系統,用于與互聯網/客戶端進行通訊,傳遞數據或指令; 協議系統,用于將數據封包,發送至互聯網/客戶端。
2.根據權利要求I所述的網絡游戲服務器端,其特征在于,所述環境系統具體包括 房間系統,用于玩家的非戰斗環境系統; 戰場系統,用于玩家的戰斗環境系統。
3.根據權利要求2所述的網絡游戲服務器端,其特征在于,所述房間系統具體包括 成員模塊,用于負責管理房間中玩家列表的建立和維護; 流程模塊,用于負責玩家在房間內游戲的主流程、各個戰場的維護調用; 房主功能模塊,用于負責維護和執行房主的特殊操作; 玩法模塊,用于保存該房間所要的玩法信息。
4.根據權利要求2所述的網絡游戲服務器端,其特征在于,所述戰場系統具體包括 地圖模塊,用于負責戰場的地圖維護; 元件模塊,用于負責戰場內各種不同元件的創建與維護; 組隊模塊,用于負責玩家/怪物的隊伍分配和不同隊伍的關系處理; 結算模塊,用于負責結算用的數據收集和功能實現; 流程模塊,用于戰斗過程的維護和實現; 玩法模塊,用于保存啟動戰場的房間的玩法信息,維護相關玩法的數據。
5.根據權利要求I所述的網絡游戲服務器端,其特征在于,所述功能系統具體包括 結算系統、戰斗系統、玩法系統、地圖系統、怪物系統、防沉迷系統、登錄登出系統、坦克系統、部件系統、技能卡系統、效果系統。
所述結算系統,用于結算流程從各個戰場數據模塊中調用相關的數據進行計算;將所有的計算結果通過數據系統寫回數據庫,同時,將所有需要發送的數據通過協議系統封包、發送至客戶端。
6.根據權利要求I所述的網絡游戲服務器端,其特征在于,所述用戶系統具體包括 賬號數據模塊,用于驗證玩家的用戶信息; 坦克模塊,用于負責維護玩家的坦克數據; 技能卡模塊,用于負責維護技能卡數據; 部件模塊,用于負責維護玩家的坦克部件數據; 戰斗模塊,用于用來維護玩家的戰斗屬性; 效果模塊,用于負責維護需要客戶端顯示的各種效果。
全文摘要
本發明公開了一種網絡游戲服務器端,包括數據庫接口系統、數據系統、配置文件管理系統、環境系統、功能系統、用戶系統、指令系統、網絡通訊系統、協議系統。本發明采用雙層數據庫系統,并將在線玩家的數據讀取到第二層數據庫中,既提高了讀取速度也降低了磁盤系統的運行消耗;針對于不同的功能模塊,使用不同的開發語言進行開發,從而達到了提高模塊運行效率和模塊開發效率的目的;不同的模塊在產生數據交互的時候均設置有數據驗證和專用接口,降低了各個模塊的耦合度;由于服務器采用聯合負載分壓的操作方式,可以通過增加分壓服務器的數量來提高服務器的負載能力,從而適應更多玩家在同一游戲世界和更多會增加服務器壓力的需求。
文檔編號H04L29/06GK102789541SQ20121020189
公開日2012年11月21日 申請日期2012年6月15日 優先權日2012年6月15日
發明者祝強 申請人:北京天空堂科技有限公司