1、 一種架構是peer-to-peer 對等通訊結構,如下圖所示,即在多個玩家參與的遊戲中,各玩家之間採用peer-to-peer的直接通訊方式。在網路通訊服務的形式上,一般採用浮動伺服器的形式,即其中乙個玩家的機器既是客戶端,又扮演伺服器的角色,一般由建立遊戲局的玩家擔任伺服器(主機)。很多對戰型的rts網路遊戲都採用這種結構。
2、 另一種架構是基於遊戲大廳**的結構,通過會話大廳(lobby)結構,為不同玩家牽線搭橋,既直接管理客戶端,也管理遊戲局,是回合制網路遊戲的常見型別(不涉及)
乙個典型的基於c/s架構的回合制遊戲的執行流程如下圖
圖11-9展示了小型網路遊戲大廳的設計框架。當伺服器啟動遊戲後,伺服器在遊戲大廳中呼叫接收(accept)函式。這時其他玩家可以加入這個遊戲,一旦人數滿足遊戲要求,伺服器可以方便地停止接收狀態,開始遊戲。其他玩家將不能再加入這個遊戲,除非伺服器又開啟乙個遊戲大廳。這種結構使得遊戲伺服器十分方便地加入遊戲引擎。
圖11-9 小型網路遊戲的遊戲大廳結構
伺服器的執行流程如下:
(1)建立乙個套接字,繫結ip和埠。
(2)伺服器監聽埠,等待連線。建立乙個遊戲大廳。
(3)伺服器處於等待狀態,因此需要兩個程序/執行緒在伺服器端執行:乙個介面執行緒,處理遊戲選單操作;乙個網路執行緒,等待連線。
(4)在每個客戶端建立乙個socket,連線遊戲伺服器。
(5)伺服器更新連線資訊,並在遊戲大廳上顯示。同時,將連線使用者資訊傳送給每個連線使用者。
(6)當所有的使用者都連線到伺服器上開始遊戲,關閉伺服器偵聽的套接字,中斷所有等待的連線,新的使用者將不可能連線上伺服器。
採用上面描述的方法可以容易地設計出類似星際爭霸的網路遊戲架構,遊戲伺服器只在開始的時候處理連線請求,後繼的所有工作是資料的傳送。然而這種方法也存在著一些隱患,如某個客戶端在遊戲中斷掉,它將無法連線上伺服器。因此,伺服器必須通過一些測試方法(如長時間沒有收到某個客戶端的資料,或者是套接字關閉的通知)來探知是否有客戶端掉線。此時,伺服器必須開啟乙個臨時的接收套接字,等待掉線客戶端的重新連線。
下面以乙個回合制遊戲的執行過程為例進行簡單分析,如圖11-10所示。
圖11-10 小型網路遊戲執行流程
在這個典型的回合制網路遊戲中,客戶端設計和實現主要包括以下內容:
¤ 遊戲的基本功能——處理聲音,動畫等。
¤ 遊戲框架——玩家資訊,遊戲介面,廣告資訊等。
¤ 遊戲通訊——客戶與伺服器之間的網路傳輸細節。
¤ 遊戲應用程式——程式執行緒管理、各種顯示對話方塊、圖形的處理與顯示。
¤ 遊戲處理——處理遊戲邏輯、解析和處理遊戲資料、遊戲執行維護等。
而遊戲的伺服器端設計則主要包括:
¤ 遊戲通訊——負責遊戲中客戶伺服器之間的網路傳輸細節。
¤ 遊戲協議——對傳遞的資料進行打包和解包,並根據所包含的指令進行相應的操作。
¤ 遊戲邏輯——負責處理遊戲邏輯。
¤ 執行緒管理——執行緒的生成、結束和分配任務等。
伺服器資料庫的內容則包括:
¤ 角色表——角色id、賬號id、角色的名稱、屬性和幫派等。
¤ 道具表——道具id、所屬角色id、道具各類屬性等。
¤ 幫派表——幫派id、名稱、幫派頭目、介紹、總人數等。
¤ 郵件表——郵件id、發件人角色id、收件人角色id、郵件內容等。
整個遊戲的運營與管理包含以下機制:
¤ 會員註冊。
¤ web大廳管理。
¤ 客戶端管理。
¤ 身份驗證。
¤ 房間。
¤ 使用者資訊。
¤ 廣告。
網路遊戲架構
1 一種架構是 peer to peer 對等通訊結構 如下圖所示,即在多個玩家參與的遊戲中,各玩家之間採用 peer to peer 的直接通訊方式。在網路通訊服務的形式上,一般採用浮動伺服器的形式,即其中乙個玩家的機器既是客戶端,又扮演伺服器的角色,一般由建立遊戲局的玩家擔任伺服器 主機 很多對...
網路遊戲MMORPG伺服器架構
1 網路遊戲mmorpg整體伺服器框架,包括早期,中期,當前的一些主流架構 網路協議 網路io 訊息 廣播 同步 cs tcp udp ip 集群 負載均衡 分布式 阻塞 非阻塞 同步 非同步 proactor reactor actor select poll epoll iocp kqueue ...
網路遊戲 《紛爭》
紛爭ol 原圖 紛爭ol 人物設定 網路 具有遊戲廠商所不具備的廣泛而忠實的受眾 消費群體。在現行體制下,還具備無與倫比的公信力,這都是遊戲廠商所追求且無法獲得的資源。而遊戲 產業強勁的發展勢頭和巨大的發展潛力,對於依靠傳統廣告支撐的市場已經相對飽和的網路傳媒業來說,無疑是乙個絕佳的第二戰場。在利益...