青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-380  評論-37  文章-0  trackbacks-0
隨著網游從業者的規模和需求不斷擴大,越來越多的朋友進入了網游開發這個領域,使得市場中網游開發技術相關的需求量迅猛增長。目前,網游行業比較緊缺的是具有較深技術功底的“專家型”開發者,這主要包括兩個方面:服務器端設計人員以及客戶端設計人員。對于網絡游戲而言,由于其主要的游戲邏輯計算是在服務器端完成的,數據同步與廣播信息的傳遞也是通過服務器完成的,所以,是否擁有一個有經驗的服務器端設計人員已經成為一款網游產品能否成功的關鍵之一。鑒于此,本文將試圖就網游服務器設計的一系列問題展開討論和總結,筆者將結合自己的開發經驗和體會,將其中各方面內容逐一呈現。希望能夠對以下三類人員有所幫助:
  有一定網絡編程基礎、準備進入網游行業作服務器端設計的人員;
  正在從事網游服務器設計的人員;
  網游項目的技術負責人。
  
  由于網游服務器的設計牽涉到太多內容,比如:網絡通信方面、人工智能、數據庫設計等等,所以本文將重點從網絡通信方面的內容展開論述。談到網絡通信,就不能不涉及如下五個問題:
[attach]1264[/attach]

[attach]1265[/attach]

[attach]1266[/attach]

[attach]1267[/attach]
1、 常見的網游服務通信器架構概述
2、 網游服務器設計的基本原則
3、 網游服務器通信架構設計所需的基本技術
4、 網游服務器通信架構的測試
5、 網游服務器通信架構設計的常見問題

下面我們就從第一個問題說起:

常見的網游服務器通信架構概述
  目前,國內的網游市場中大體存在兩種類型的網游游戲:MMORPG(如:魔獸世界)和休閑網游(如:QQ休閑游戲和聯眾游戲,而如泡泡堂一類的游戲與QQ休閑游戲有很多相同點,因此也歸為此類)。由于二者在游戲風格上的截然不同,導致了他們在通信架構設計思路上的較大差別。下面筆者將分別描述這兩種網游的通信架構。

1.MMORPG類網游的通信架構
  網游的通信架構,通常是根據幾個方面來確定的:游戲的功能組成、游戲的預計上線人數以及游戲的可擴展性。
  目前比較通用的MMORPG游戲流程是這樣的:

a. 玩家到游戲官方網站注冊用戶名和密碼。
b. 注冊完成后,玩家選擇在某一個區激活游戲賬號。
c. 玩家在游戲客戶端中登錄進入已經被激活的游戲分區,建立游戲角色進行游戲。

  通常,在這樣的模式下,玩家的角色數據是不能跨區使用的,即:在A區建立的游戲角色在B區是無法使用的,各區之間的數據保持各自獨立性。我們將這樣獨立的A區或B區稱為一個獨立的服務器組,一個獨立的服務器組就是一個相對完整的游戲世界。而網游服務器的通信架構設計,則包括了基于服務器組之上的整個游戲世界的通信架構,以及在一個服務器組之內的服務器通信架構。

  我們先來看看單獨的服務器組內部的通信是如何設計的。
  一個服務器組內的各服務器組成,要依據游戲功能進行劃分。不同的游戲內容策劃會對服務器的組成造成不同的影響。一般地,我們可以將一個組內的服務器簡單地分成兩類:場景相關的(如:行走、戰斗等)以及場景不相關的(如:公會聊天、不受區域限制的貿易等)。為了保證游戲的流暢性,可以將這兩類不同的功能分別交由不同的服務器去各自完成。另外,對于那些在服務器運行中進行的比較耗時的計算,一般也會將其單獨提煉出來,交由單獨的線程或單獨的進程去完成。

  各個網游項目會根據游戲特點的不同,而靈活選擇自己的服務器組成方案。經常可以見到的一種方案是:場景服務器、非場景服務器、服務器管理器、AI服務器以及數據庫代理服務器。
  以上各服務器的主要功能是:

  場景服務器:它負責完成主要的游戲邏輯,這些邏輯包括:角色在游戲場景中的進入與退出、角色的行走與跑動、角色戰斗(包括打怪)、任務的認領等。場景服務器設計的好壞是整個游戲世界服務器性能差異的主要體現,它的設計難度不僅僅在于通信模型方面,更主要的是整個服務器的體系架構和同步機制的設計。

  非場景服務器:它主要負責完成與游戲場景不相關的游戲邏輯,這些邏輯不依靠游戲的地圖系統也能正常進行,比如公會聊天或世界聊天,之所以把它從場景服務器中獨立出來,是為了節省場景服務器的CPU和帶寬資源,讓場景服務器能夠盡可能快地處理那些對游戲流暢性影響較大的游戲邏輯。

  服務器管理器:為了實現眾多的場景服務器之間以及場景服務器與非場景服務器之間的數據同步,我們必須建立一個統一的管理者,這個管理者就是服務器組中的服務器管理器。它的任務主要是在各服務器之間作數據同步,比如玩家上下線信息的同步。其最主要的功能還是完成場景切換時的數據同步。當玩家需要從一個場景A切換到另一個場景B時,服務器管理器負責將玩家的數據從場景A轉移到場景B,并通過協議通知這兩個場景數據同步的開始與結束。所以,為了實現這些內容繁雜的數據同步任務,服務器管理器通常會與所有的場景服務器和非場景服務器保持socket連接。

  AI(人工智能)服務器:由于怪物的人工智能計算非常消耗系統資源,所以我們把它獨立成單獨的服務器。AI服務器的主要作用是負責計算怪物的AI,并將計算結果返回給場景服務器,也就是說,AI服務器是單獨為場景服務器服務的,它完成從場景服務器交過來的計算任務,并將計算結果返回給場景服務器。所以,從網絡通信方面來說,AI服務器只與眾多場景服務器保持socket連接。

  數據庫代理服務器:在網游的數據庫讀寫方面,通常有兩種作法,一種是在應用服務器中直接加進數據庫訪問的代碼進行數據庫訪問,還有一種方式是將數據庫讀寫獨立出來,單獨作成數據庫代理,由它統一進行數據庫訪問并返回訪問結果。

  其中,非場景服務器在不同的游戲項目中可能會被設計成不同的功能,比如以組隊、公會或全頻道聊天為特色的游戲,很可能為了滿足玩家的聊天需求而設立單獨的聊天服務器;而如果是以物品貿易(如拍賣等)為特色的游戲,很可能為了滿足拍賣的需求而單獨設立拍賣服務器。到底是不是有必要將某一項游戲功能獨立處理成一個服務器,要視該功能對游戲的主場景邏輯(指行走、戰斗等玩家日常游戲行為)的影響程度而定。如果該功能對主場景邏輯的影響比較大,可能對主場景邏輯的運行造成比較嚴重的性能和效率損失,那么應考慮將其從主場景邏輯中剝離,但能否剝離還有另一個前提:此功能是否與游戲場景(即地圖坐標系統)相關。如果此功能與場景相關又確實影響到了主場景邏輯的執行效率,則可能需要在場景服務器上設立專門的線程來處理而不是將它獨立成一個單獨的服務器。

  以上是一個服務器組內的各服務器組成情況介紹,那么,各服務器之間是如何通信的呢?它的基本通信構架有哪些呢?
  MMORPG的單組服務器架構通常可以分為兩種:第一種是帶網關的服務器架構;第二種是不帶網關的服務器架構。兩種方案各有利弊。

  就帶網關的服務器架構而言,由于它對外只向玩家提供唯一的一個通信端口,所以在玩家一側會有比較流暢的游戲體驗,這通常也是那些超大規模無縫地圖網游所采用的方案,但這種方案的缺點是服務器組內的通信架構設計相對復雜、調試不方便、網關的通信壓力過大、對網關的通信模型設計要求較高等。第二種方案會同時向玩家開放多個游戲服務器端口,除了游戲場景服務器的通信端口外,同時還可能提供諸如聊天服務器等的通信端口。這種方案的主要缺點是在進行場景服務器的切換時,玩家客戶端的表現中通常會有一個諸如場景調入的界面出現,影響了游戲的流暢感。基于這種方案的游戲在客戶端的界面處理方面,比較典型的表現是:當要進行場景切換時,只能通過相應的“傳送功能”傳送到另外的場景去,或者需要進入新的場景時,客戶端會有比較長時間的等待進入新場景的等待界面(Loading界面)。

  從技術角度而言,筆者更傾向于將獨立的服務器組設計成帶網關的模型,雖然這加大了服務器的設計難度,但卻增強了游戲的流暢感和安全性,這種花費還是值得的。
  筆者在下面附上了帶網關的MMORPG通信架構圖,希望能給業內的朋友們一點有益的啟迪。
posted on 2009-01-02 02:23 小王 閱讀(3329) 評論(3)  編輯 收藏 引用 所屬分類: 網絡通訊

評論:
# re: 網游服務器通信架構的設計 2009-06-17 16:47 | 糊涂人
學習了,寫服務器一段時間了,發現很多實際經驗都和你說的符合,謝謝!!  回復  更多評論
  
# re: 網游服務器通信架構的設計 2011-04-16 15:36 | 小戒
恩,新項目服務器框架設計的大致也跟這個差不多。  回復  更多評論
  
# re: 網游服務器通信架構的設計 2011-04-16 15:39 | 小王
樓上的兄弟是哪位啊,認識我嗎?有時間的話隨時可以給我發郵件。
我的信箱:iamxiaowang_139@163.com  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美日韩中文| 免费短视频成人日韩| 久久久久久久国产| 亚洲天堂男人| 亚洲精品国产精品乱码不99| 亚洲女人小视频在线观看| 国产精品国产三级国产aⅴ入口| 夜夜嗨av一区二区三区免费区| 亚洲精品国产日韩| 欧美视频三区在线播放| 欧美在线不卡| 久久视频一区二区| 亚洲美女在线国产| 亚洲欧美美女| 亚洲国产精品黑人久久久| 亚洲高清不卡一区| 国产精品露脸自拍| 蜜桃久久精品乱码一区二区| 久久米奇亚洲| 亚洲一二三区视频在线观看| 欧美资源在线| 一区二区三区成人精品| 亚洲欧美激情四射在线日 | 久久精品一本| 日韩亚洲一区二区| 亚洲欧美精品在线| 99re亚洲国产精品| 欧美一二三视频| 亚洲精品影院在线观看| 亚洲一区二区三区中文字幕| 亚洲黄网站在线观看| 亚洲一区二区在线播放| 亚洲国产成人在线| 欧美亚洲视频| 国产精品99久久久久久久久久久久| 亚久久调教视频| 亚洲伊人一本大道中文字幕| 久久婷婷国产麻豆91天堂| 午夜国产不卡在线观看视频| 老鸭窝毛片一区二区三区| 午夜精品电影| 欧美午夜寂寞影院| 久久在线视频| 国产精品视频久久久| 亚洲人成网站999久久久综合| 女生裸体视频一区二区三区| 欧美一区二区三区四区在线观看| 亚洲精品一区二区三区99| 欧美一区二区三区四区在线观看地址| 一区二区三区日韩欧美精品| 欧美jjzz| 亚洲第一免费播放区| 黄色成人91| 欧美综合第一页| 久久精品人人爽| 国产视频精品xxxx| 午夜精品久久久久久久久久久久| 午夜精品久久久久久| 欧美亚一区二区| 亚洲视频欧美在线| 亚洲欧美日韩一区二区在线| 国产精品第一页第二页第三页| 日韩视频中文| 亚洲欧美国产不卡| 国产精品一区二区久久久久| 中国成人在线视频| 欧美一级欧美一级在线播放| 国产美女搞久久| 欧美有码在线视频| 免费视频亚洲| 日韩亚洲欧美精品| 欧美日韩一区国产| 亚洲性视频网址| 久久精品一区四区| 在线观看一区欧美| 欧美成人精品一区| 日韩视频在线观看| 亚洲影院高清在线| 国产日韩精品一区观看| 久久久精品性| 亚洲人成网站777色婷婷| 亚洲视频日本| 国产一区日韩一区| 欧美一区二区日韩| 久久视频精品在线| 亚洲国产精品99久久久久久久久| 欧美激情一区二区三区蜜桃视频| 亚洲精选久久| 久久成人这里只有精品| 在线播放一区| 欧美系列亚洲系列| 欧美影院成年免费版| 亚洲高清一区二区三区| 亚洲欧美日韩精品| 国产亚洲一级| 欧美sm视频| 亚洲欧美日韩成人| 欧美激情a∨在线视频播放| 亚洲在线观看免费| 亚洲国产精品久久| 国产精品综合| 欧美国产日韩一区二区在线观看| 亚洲一区二区在线| 亚洲国产日韩一区| 久久久久国产一区二区| 日韩一区二区免费看| 国产亚洲精品aa| 欧美色图麻豆| 免播放器亚洲一区| 亚洲永久免费精品| 亚洲级视频在线观看免费1级| 久久精品最新地址| 在线亚洲+欧美+日本专区| 激情丁香综合| 性欧美办公室18xxxxhd| 亚洲黄一区二区| 国内视频精品| 亚洲午夜免费福利视频| 亚洲精品日日夜夜| 国内在线观看一区二区三区| 欧美三级视频在线播放| 久久在线观看视频| 久久福利毛片| 欧美一区二区私人影院日本 | 亚洲人成毛片在线播放| 国产亚洲综合在线| 国产欧美日韩| 国产精品视频一| 欧美日韩亚洲一区三区| 欧美精彩视频一区二区三区| 另类欧美日韩国产在线| 久久精品91| 欧美在线三级| 久久精品夜夜夜夜久久| 久久aⅴ国产紧身牛仔裤| 亚洲欧美综合| 欧美一区三区二区在线观看| 亚洲专区在线视频| 午夜精品理论片| 亚洲欧美久久久| 午夜精品www| 欧美在线影院在线视频| 亚洲午夜精品网| 亚洲自拍电影| 亚洲欧美日本在线| 久久爱另类一区二区小说| 久久国产66| 久久天堂av综合合色| 欧美成人精品在线视频| 欧美高清在线一区二区| 亚洲福利视频一区| 亚洲看片网站| 亚洲午夜精品一区二区| 午夜精品久久久久久久| 久久久久久亚洲精品中文字幕 | 久久九九国产精品怡红院| 欧美在线观看视频一区二区| 欧美在线观看视频在线| 久久男人av资源网站| 欧美激情精品久久久久久大尺度| 欧美全黄视频| 国产女人18毛片水18精品| 精东粉嫩av免费一区二区三区| 亚洲国产精品一区二区第一页 | 欧美国产亚洲另类动漫| 亚洲黄页一区| 在线中文字幕一区| 欧美一级免费视频| 鲁大师成人一区二区三区| 欧美日韩一级大片网址| 国产欧美视频一区二区| 在线播放日韩| 亚洲欧美国产毛片在线| 久久久久一区二区三区四区| 亚洲黄色影院| 午夜免费在线观看精品视频| 欧美~级网站不卡| 国产精品入口福利| 91久久精品国产91久久| 亚洲亚洲精品三区日韩精品在线视频 | 老司机免费视频一区二区| 欧美日韩性视频在线| 国产主播在线一区| 亚洲午夜视频在线观看| 久久一区精品| 夜夜夜久久久| 国产婷婷色一区二区三区| 久久久久在线观看| 91久久久精品| 欧美一级视频| 欧美丝袜第一区| 亚洲国产一区二区a毛片| 性色av一区二区三区红粉影视| 亚洲国产成人高清精品| 亚洲欧美日韩精品在线| 欧美另类视频| 亚洲精美视频| 久久综合激情| 午夜精品一区二区三区电影天堂| 欧美日韩成人综合在线一区二区 |