• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            勤能補(bǔ)拙,Expter

            成都游戲Coder,記錄游戲開(kāi)發(fā)過(guò)程的筆記和心得!

            轉(zhuǎn):一種經(jīng)典的網(wǎng)絡(luò)游戲服務(wù)器架構(gòu)

            from:http://m.shnenglu.com/johndragon/archive/2008/04/10/46768.html
            首先,二話不說(shuō),上圖(用Windows畫(huà)圖畫(huà)的。。。)


            這個(gè)圖是一個(gè)區(qū)的架構(gòu)圖,所有區(qū)的架構(gòu)是一樣的。上面虛線框的ServerGroup和旁邊方框內(nèi)的架構(gòu)一樣。圖上的所有x N的服務(wù)器,都是多臺(tái)一起的。紅線,綠線,和藍(lán)線圖上也有圖示,這里就不多介紹了。關(guān)于Agent Server大家也能看出來(lái),其實(shí)就是Gate。
            這里主要介紹下圖上的標(biāo)記了號(hào)碼的位置的數(shù)據(jù)連接的內(nèi)容和意義。

            1-   這是一條WebService的管道,在用戶(hù)激活該區(qū)帳號(hào),或者修改帳號(hào)密碼的時(shí)候,通過(guò)這條通道來(lái)插入和更新用戶(hù)的帳號(hào)信息。
            2-   這也是一條WebService管道,用來(lái)獲取和控制用戶(hù)該該組內(nèi)的角色信息,以及進(jìn)行付費(fèi)商城代幣之類(lèi)的更新操作。
            3-   這是一條本地的TCP/IP連接,這條連接主要用來(lái)進(jìn)行服務(wù)器組在登陸服務(wù)器的注冊(cè),以及登陸服務(wù)器驗(yàn)證帳戶(hù)后,向用戶(hù)服務(wù)器注冊(cè)帳戶(hù)登陸信息,以及進(jìn)行對(duì)已經(jīng)登陸的帳戶(hù)角色信息進(jìn)行操作(比如踢掉當(dāng)前登陸的角色),還有服務(wù)器組的信息更新(當(dāng)前在線玩家數(shù)量等)。
            4-   這也是一條本地TCP/IP連接,這條連接用來(lái)對(duì)連接到GameServer的客戶(hù)端進(jìn)行驗(yàn)證,以及獲取角色數(shù)據(jù)信息,還有傳回GameServer上角色的數(shù)據(jù)信息改變。
            5-   這條連接也是一條本地的TCP/IP連接,它用來(lái)進(jìn)行公共信息服務(wù)器和數(shù)個(gè)游戲服務(wù)器間的交互,用來(lái)交換一些游戲世界級(jí)的信息(比如公會(huì)信息,跨服組隊(duì)信息,跨服聊天頻道等)。
            6-   這里的兩條連接,想表達(dá)的意思是,UserServer和GameServer的Agent是可以互換使用的,也就是玩家進(jìn)入組內(nèi)之后,就不需要再切換Agent。如果不怕亂套,也可以把登陸服務(wù)器的Agent也算上,這樣用戶(hù)整個(gè)過(guò)程里就不需要再更換Agent,減少重復(fù)連接的次數(shù),也提高了穩(wěn)定性。(畢竟連接次數(shù)少了,也降低了連不上服務(wù)器的出現(xiàn)幾率)

            在這個(gè)架構(gòu)里面,GameServer實(shí)際上是一個(gè)游戲邏輯的綜合體,里面可以再去擴(kuò)展成幾個(gè)不同的邏輯服務(wù)器,通過(guò)PublicServer進(jìn)行公共數(shù)據(jù)交換。
            UserServer實(shí)際上扮演了一個(gè)ServerGroup的領(lǐng)頭羊的角色,它負(fù)責(zé)向LoginServer注冊(cè)和更新服務(wù)器組的信息(名字,當(dāng)前人數(shù)),并且對(duì)Agent進(jìn)行調(diào)度,對(duì)選擇了該組的玩家提供一個(gè)用戶(hù)量最少的Agent。同時(shí),它也兼了一個(gè)角色管理服務(wù)器的功能,發(fā)送給客戶(hù)端當(dāng)前的角色列表,角色的創(chuàng)建,刪除,選擇等管理操作,都是在這里進(jìn)行的。而且,它還是一個(gè)用戶(hù)信息的驗(yàn)證服務(wù)器,GameServer需要通過(guò)它來(lái)進(jìn)行客戶(hù)端的合法性驗(yàn)證,以及獲取玩家選擇的角色數(shù)據(jù)信息。


            采用這種架構(gòu)的游戲,通常有以下表現(xiàn)。
            1- 用戶(hù)必須激活一個(gè)大區(qū),才能在大區(qū)內(nèi)登陸自己的帳號(hào)。
            2- 用戶(hù)啟動(dòng)客戶(hù)端的時(shí)候,彈出一個(gè)登陸器,選擇大區(qū)。
            3- 用戶(hù)啟動(dòng)真正的客戶(hù)端的時(shí)候,一開(kāi)始就是輸入帳號(hào)密碼。
            4- 帳號(hào)驗(yàn)證完成之后,進(jìn)行區(qū)內(nèi)的服務(wù)器選擇。
            5- 服務(wù)器選擇完成之后,進(jìn)入角色管理。同時(shí),角色在不同的服務(wù)器里不能共享。

            市面上符合上面幾個(gè)表現(xiàn)特征的游戲相當(dāng)?shù)亩啵乙膊环缡谰拮鳌_@個(gè)架構(gòu)不是一個(gè)新的架構(gòu),但是它足夠經(jīng)典和完善,并且邏輯簡(jiǎn)單而清晰,用來(lái)做MMORPG,或者其它網(wǎng)絡(luò)游戲的服務(wù)器架構(gòu),是一種不錯(cuò)的選擇。

            posted on 2009-01-07 21:19 expter 閱讀(519) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 其他學(xué)習(xí)筆記算法與數(shù)據(jù)結(jié)構(gòu)

            久久www免费人成看片| 777午夜精品久久av蜜臀| 久久九九亚洲精品| 久久久久久久久久久久中文字幕| 国产精品免费福利久久| 久久国产成人精品麻豆| 日本精品久久久久影院日本| 国产精品久久久久a影院| 久久夜色精品国产网站| 国产精品久久久久乳精品爆| 国产69精品久久久久9999APGF| 国产精品久久久久久久久鸭| 亚洲人成无码网站久久99热国产| 国产精品一区二区久久不卡| 亚洲欧美国产日韩综合久久 | 九九热久久免费视频| 久久久久亚洲AV无码观看| 久久精品成人免费网站| 精品熟女少妇AV免费久久 | 精品久久久无码中文字幕| 久久久久亚洲AV片无码下载蜜桃| 久久国产精品-国产精品| 久久午夜无码鲁丝片| 99精品国产综合久久久久五月天| 伊人久久精品线影院| av国内精品久久久久影院| 中文字幕久久波多野结衣av| 亚洲国产精品嫩草影院久久| 精品久久人人爽天天玩人人妻| 精品熟女少妇av免费久久| 亚洲AV无码1区2区久久| 中文字幕无码久久人妻| 无码任你躁久久久久久久| 久久一本综合| 无码8090精品久久一区| 亚洲国产精品成人久久蜜臀| 国产一区二区久久久| 欧美日韩久久中文字幕| 亚洲中文久久精品无码| 一本一本久久a久久综合精品蜜桃| 一本色综合网久久|