游戲架構(gòu) 游戲架構(gòu)設(shè)計(10)

原文地址:https://blog.csdn.net/erlib/article/details/24302385

一種簡單實用的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu)

下圖中每個方框表示一個獨立的進程APP組件醉锅,每個服務(wù)進程如果發(fā)生宕機會影響部分用戶,整體服務(wù)但不會全部中斷。在宕機進程重啟后摸吠,又可以并入整體巢寡,全部服務(wù)得以繼續(xù)阱表。


1.png

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)系朴译,寄售:表示其它組件,負責對應(yīng)的跨地圖發(fā)生全局的游戲邏輯属铁。

另一個架構(gòu)圖

2.jpg

1- 這是一條WebService的管道眠寿,在用戶激活該區(qū)帳號,或者修改帳號密碼的時候焦蘑,通過這條通道來插入和更新用戶的帳號信息盯拱。

2- 這也是一條WebService管道,用來獲取和控制用戶該該組內(nèi)的角色信息例嘱,以及進行付費商城代幣之類的更新操作狡逢。

3- 這是一條本地的TCP/IP連接,這條連接主要用來進行服務(wù)器組在登陸服務(wù)器的注冊拼卵,以及登陸服務(wù)器驗證帳戶后奢浑,向用戶服務(wù)器注冊帳戶登陸信息,以及進行對已經(jīng)登陸的帳戶角色信息進行操作(比如踢掉當前登陸的角色)腋腮,還有服務(wù)器組的信息更新(當前在線玩家數(shù)量等)雀彼。

4- 這也是一條本地TCP/IP連接,這條連接用來對連接到GameServer的客戶端進行驗證即寡,以及獲取角色數(shù)據(jù)信息徊哑,還有傳回GameServer上角色的數(shù)據(jù)信息改變。

5- 這條連接也是一條本地的TCP/IP連接嘿悬,它用來進行公共信息服務(wù)器和數(shù)個游戲服務(wù)器間的交互实柠,用來交換一些游戲世界級的信息(比如公會信息,跨服組隊信息善涨,跨服聊天頻道等)窒盐。

6- 這里的兩條連接,想表達的意思是钢拧,UserServer和GameServer的Agent是可以互換使用的蟹漓,也就是玩家進入組內(nèi)之后,就不需要再切換Agent源内。如果不怕亂套葡粒,也可以把登陸服務(wù)器的Agent也算上,這樣用戶整個過程里就不需要再更換Agent膜钓,減少重復(fù)連接的次數(shù)嗽交,也提高了穩(wěn)定性。(畢竟連接次數(shù)少了颂斜,也降低了連不上服務(wù)器的出現(xiàn)幾率)
在這個架構(gòu)里面夫壁,GameServer實際上是一個游戲邏輯的綜合體,里面可以再去擴展成幾個不同的邏輯服務(wù)器沃疮,通過PublicServer進行公共數(shù)據(jù)交換盒让。

UserServer實際上扮演了一個ServerGroup的領(lǐng)頭羊的角色梅肤,它負責向LoginServer注冊和更新服務(wù)器組的信息(名字,當前人數(shù))邑茄,并且對Agent進行調(diào)度姨蝴,對選擇了該組的玩家提供一個用戶量最少的Agent。同時肺缕,它也兼了一個角色管理服務(wù)器的功能左医,發(fā)送給客戶端當前的角色列表,角色的創(chuàng)建搓谆,刪除炒辉,選擇等管理操作豪墅,都是在這里進行的泉手。而且,它還是一個用戶信息的驗證服務(wù)器偶器,GameServer需要通過它來進行客戶端的合法性驗證斩萌,以及獲取玩家選擇的角色數(shù)據(jù)信息。

采用這種架構(gòu)的游戲屏轰,通常有以下表現(xiàn)颊郎。
    1- 用戶必須激活一個大區(qū),才能在大區(qū)內(nèi)登陸自己的帳號霎苗。
    2- 用戶啟動客戶端的時候姆吭,彈出一個登陸器,選擇大區(qū)唁盏。
    3- 用戶啟動真正的客戶端的時候内狸,一開始就是輸入帳號密碼。
    4- 帳號驗證完成之后厘擂,進行區(qū)內(nèi)的服務(wù)器選擇昆淡。
    5- 服務(wù)器選擇完成之后,進入角色管理刽严。同時昂灵,角色在不同的服務(wù)器里不能共享。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末舞萄,一起剝皮案震驚了整個濱河市眨补,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌倒脓,老刑警劉巖撑螺,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異把还,居然都是意外死亡实蓬,警方通過查閱死者的電腦和手機茸俭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來安皱,“玉大人调鬓,你說我怎么就攤上這事∽靡粒” “怎么了腾窝?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長居砖。 經(jīng)常有香客問我虹脯,道長,這世上最難降的妖魔是什么奏候? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任循集,我火速辦了婚禮,結(jié)果婚禮上蔗草,老公的妹妹穿的比我還像新娘咒彤。我一直安慰自己,他們只是感情好咒精,可當我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布镶柱。 她就那樣靜靜地躺著,像睡著了一般模叙。 火紅的嫁衣襯著肌膚如雪歇拆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天范咨,我揣著相機與錄音故觅,去河邊找鬼。 笑死湖蜕,一個胖子當著我的面吹牛逻卖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播昭抒,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼评也,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了灭返?” 一聲冷哼從身側(cè)響起盗迟,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎熙含,沒想到半個月后罚缕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡怎静,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年邮弹,在試婚紗的時候發(fā)現(xiàn)自己被綠了黔衡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡腌乡,死狀恐怖盟劫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情与纽,我是刑警寧澤侣签,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站急迂,受9級特大地震影響影所,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜僚碎,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一猴娩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧听盖,春花似錦胀溺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽背零。三九已至腰吟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間徙瓶,已是汗流浹背毛雇。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留侦镇,地道東北人灵疮。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像壳繁,于是被迫代替她去往敵國和親震捣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容