• <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>
            posts - 311, comments - 0, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

              討論了這么久我們一直都還沒有進入游戲世界服務器內部,現在就讓我們來窺探一下里面的結構吧。



              對于現在大多數MMORPG來說,游戲服務器要處理的基本邏輯有移動、聊天、技能、物品、任務和生物等,另外還有地圖管理與消息廣播來對其他高級功能做支撐。如縱隊、好友、公會、戰場和副本等,這些都是通過基本邏輯功能組合或擴展而成。

              在所有這些基礎邏輯中,與我們要討論的服務器結構關系最緊密的當屬地圖管理方式。決定了地圖的管理方式也就決定了我們的服務器結構,我們仍然先從最簡單的實現方式開始說起。

              回想一下我們曾戰斗過無數個夜晚的暗黑破壞神,整個暗黑的世界被分為了若干個獨立的小地圖,當我們在地圖間穿越時,一般都要經過一個叫做傳送門的裝置。世界中有些地圖間雖然在地理上是直接相連的,但我們發現其游戲內部的邏輯卻是完全隔離的。可以這樣認為,一塊地圖就是一個獨立的數據處理單元。

              既然如此,我們就把每塊地圖都當作是一臺獨立的服務器,他提供了在這塊地圖上游戲時的所有邏輯功能,至于內部結構如何劃分我們暫不理會,先把他當作一個黑盒子吧。

              當兩個人合作做一件事時,我們可以以對等的關系相互協商著來做,而且一般也都不會有什么問題。當人數增加到三個時,我們對等的合作關系可能會有些復雜,因為我們每個人都同時要與另兩個人合作協商。正如俗語所說的那樣,三個和尚可能會碰到沒水喝的情況。當人數繼續增加,情況就變得不那么簡單了,我們得需要一個管理者來對我們的工作進行分工、協調。游戲的地圖服務器之間也是這么回事。

              一般來說,我們的游戲世界不可能會只有一塊或者兩塊小地圖,那順理成章的,也就需要一個地圖管理者。先稱它為游戲世界的中心服務器吧,畢竟是管理者嘛,大家都以它為中心。

              中心服務器主要維護一張地圖ID到地圖服務器地址的映射表。當我們要進入某張地圖時,會從中心服上取得該地圖的IP和port告訴客戶端,客戶端主動去連接,這樣進入他想要去的游戲地圖。在整個游戲過程中,客戶端始終只會與一臺地圖服務器保持連接,當要切換地圖的時候,在獲取到新地圖的地址后,會先與當前地圖斷開連接,再進入新的地圖,這樣保證玩家數據在服務器上只有一份。

              我們來看看結構圖是怎樣的:

                    中心服務器
                       /         \        \
                     /            \        \
                登錄服     地圖1    地圖2   地圖n
                  \            |           /           /
                    \          |         /          /
                              客戶端

              很簡單,不是嗎。但是簡單并不表示功能上會有什么損失,簡單也更不能表示游戲不能賺錢。早期不少游戲也確實采用的就是這種簡單結構。
            狠狠色丁香久久婷婷综合_中| 久久精品天天中文字幕人妻| 久久综合九色综合久99| 久久久综合香蕉尹人综合网| 午夜精品久久久久9999高清| 久久综合精品国产二区无码| 91精品国产综合久久久久久| 久久夜色撩人精品国产| 亚洲欧美日韩久久精品第一区| 国产国产成人精品久久| 久久精品免费网站网| 久久亚洲私人国产精品vA| 999久久久国产精品| 欧美大香线蕉线伊人久久| 久久亚洲色一区二区三区| 精品国产一区二区三区久久久狼| 久久精品亚洲男人的天堂| 久久久一本精品99久久精品88| 欧美激情精品久久久久久| 久久国产精品成人免费| 日韩精品久久久久久久电影蜜臀| 久久久受www免费人成| 国产一区二区三区久久| 囯产精品久久久久久久久蜜桃| 国产精品美女久久久久av爽 | 久久精品国产亚洲AV无码娇色| 潮喷大喷水系列无码久久精品| 热RE99久久精品国产66热| 91久久精品国产免费直播| 久久亚洲AV成人无码国产 | 亚洲中文字幕久久精品无码APP | 99精品伊人久久久大香线蕉| 日韩AV无码久久一区二区 | 久久精品一区二区三区不卡| 狠狠色婷婷久久综合频道日韩| 亚洲国产婷婷香蕉久久久久久| 欧美精品福利视频一区二区三区久久久精品| 99热成人精品免费久久| 久久夜色tv网站| 久久精品国产亚洲AV不卡| 日韩欧美亚洲国产精品字幕久久久 |