簡單實用的網(wǎng)游服務(wù)器架構(gòu)此文并不是聚潤堂所在公司當前運營的網(wǎng)游游戲服務(wù)器架構(gòu),而是在看過了近十個商業(yè)網(wǎng)游的架構(gòu),在現(xiàn)階段心目中規(guī)劃的簡單實用的網(wǎng)游服務(wù)器架構(gòu)。 網(wǎng)游的本質(zhì)是人和人之間關(guān)系,人越多,關(guān)系越多,越能把人留住。開服頭三天,人數(shù)是最多,為了保證一個月后,玩家等級達到一定的等級,策劃的玩法都可以完全展開,單組服務(wù)器容納人數(shù)越多越好,如果是PVE結(jié)構(gòu)的游戲,最好能容納1萬人左右。這樣在一個月后流失率50%的情況下,還有5000人左右在一組服務(wù)器內(nèi),已經(jīng)產(chǎn)生比較強大的社會結(jié)構(gòu),各種高級玩法才有進行的基礎(chǔ)。如果是PVP洗用戶的游戲,容納人數(shù)越高越好。兩款較好的國戰(zhàn)游戲,《征途》達到了每組4萬人,《成吉思汗》,推測至少也達到了兩萬人。 采用完美常用的分線結(jié)構(gòu),運營到后期,就會出現(xiàn)每線人數(shù)較少,線內(nèi),線和線之間都互動不起來。但如果不分線,在開服一剎那,用戶全部堆積在同一個新手村,基本玩不動?!短忑埌瞬俊诽岢隽溯^好的解決方案,建立多個平行的新手村地圖,一主多副,開服時盡可能多的同時容納新用戶的涌入,高等級玩家從其它地圖回新手村只能到達主新手村。 下圖中每個方框表示一個獨立的進程APP組件,每個服務(wù)進程如果發(fā)生宕機會影響部分用戶,整體服務(wù)但不會全部中斷。在宕機進程重啟后,又可以并入整體,全部服務(wù)得以繼續(xù)。 圖片附件 ![]() gls:game login server,游戲登錄服務(wù)器,某種程序上,其不是核心組件,gls調(diào)用外部的接口,進行基本的用戶名密碼認證。此外需要實現(xiàn)很多附屬的功能:登錄排隊(對開服非常有幫助),GM超級登錄通道(GM可以不排隊進入游戲),封測期間激活用戶控制,限制用戶登錄,控制客戶端版本等。 db:實質(zhì)上是后臺sql的大內(nèi)存緩沖,隔離了數(shù)據(jù)庫操作,比較內(nèi)存中的數(shù)據(jù),只把改變的數(shù)據(jù)定時批量寫入sql。系統(tǒng)的算法,開發(fā)穩(wěn)定性都要求非常高。 center:所有組件都要在這里注冊,在線玩家的session狀態(tài)都在這里集中存放,和各組件有心跳連接。所有對外的接口也全部通過這里。 角色入口:玩家登錄游戲后的選擇角色 gs:game server,最核心組件,同一地圖,所有游戲邏輯相關(guān)的功能,都在這里完成。 gate:建立和用戶的常鏈接,主要作sockt轉(zhuǎn)發(fā),屏蔽惡意包,對gs進行保護。協(xié)議加密解密功能,一個gate共享多個gs,降低跳轉(zhuǎn)地圖連接不上的風險。 IM,關(guān)系,寄售:表示其它組件,負責對[來源:GameRes.com]應(yīng)的跨地圖發(fā)生全局的游戲邏輯。 細節(jié)是魔鬼。此架構(gòu)簡單、清晰、明了,和其它網(wǎng)游架構(gòu)相比其實沒有什么本質(zhì)的區(qū)別。團隊的代碼開發(fā)能力,項目管理能力才是關(guān)鍵。一個gs承擔能力有限,在現(xiàn)在硬件環(huán)境下,一個有經(jīng)驗的開發(fā)人員,一個gs應(yīng)該能達到1500人的上限。整個架構(gòu)的上限,瓶頸在center調(diào)度壓力,db的讀寫壓力。 引用一段深以為然的話做結(jié)束: ========== http://blog.csdn.net/lfhfut/archive/2010/04/14/5483266.aspx 4。游戲開發(fā)并沒有什么高深的技術(shù) 首先需要明確的一點,游戲項目是工程項目,不是科研項目。 工程項目的目的是在有限的人力跟財力之下實現(xiàn)出既定的需求,而這個需求從前面的分析可以知道,要求并不高,所以,需求的實現(xiàn)過程也就并沒有多么高深。 至少在我經(jīng)歷過的項目里,沒有什么驚天地泣鬼神似的英雄人物,沒有創(chuàng)造出多么偉大的算法,我們所做的,只是使用現(xiàn)在的技術(shù),現(xiàn)有的方法,拼合成一個軟件產(chǎn)品,一個融合了程序、美術(shù)、策劃勞動力的軟件產(chǎn)品。 游戲開發(fā)的過程里,沒有,也不需要多厲害的技術(shù)高手,需要的僅僅只是有耐心,有責任心的普通技術(shù)人員。 =========== 最后贊一句:Dia真是跨平臺畫流程圖的好軟件,聚潤堂的日常使用中已經(jīng)完全替代了Visio。 參考: 白云哥的blog http://blog.csdn.net/lfhfut/archive/2007/09.aspx 一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu) http://www./johndragon/archive/2008/04/10/46768.html 傳奇3的架構(gòu)圖 http://bbs./showthread.asp?threadid=47752&page=10 185樓,187樓,分了兩部分。聚潤堂把其合在一起方便查看 ![]()
|
|