一種經典的網路遊戲伺服器架構

2021-06-22 08:27:46 字數 1367 閱讀 6520

首先,二話不說,上圖(用windows畫圖畫的。。。)

這個圖是乙個區的架構圖,所有區的架構是一樣的。上面虛線框的servergroup和旁邊方框內的架構一樣。圖上的所有x n的伺服器,都是多台一起的。紅線,綠線,和藍線圖上也有圖示,這裡就不多介紹了。關於agent server大家也能看出來,其實就是gate。

這裡主要介紹下圖上的標記了號碼的位置的資料連線的內容和意義。

1-   這是一條webservice的管道,在使用者啟用該區帳號,或者修改帳號密碼的時候,通過這條通道來插入和更新使用者的帳號資訊。

2-   這也是一條webservice管道,用來獲取和控制使用者該該組內的角色資訊,以及進行付費**代幣之類的更新操作。

4-   這也是一條本地tcp/ip連線,這條連線用來對連線到gameserver的客戶端進行驗證,以及獲取角色資料資訊,還有傳回gameserver上角色的資料資訊改變。

5-   這條連線也是一條本地的tcp/ip連線,它用來進行公共資訊伺服器和數個遊戲伺服器間的互動,用來交換一些遊戲世界級的資訊(比如公會資訊,跨服組隊資訊,跨服聊天頻道等)。

6-   這裡的兩條連線,想表達的意思是,userserver和gameserver的agent是可以互換使用的,也就是玩家進入組內之後,就不需要再切換agent。如果不怕亂套,也可以把登陸伺服器的agent也算上,這樣使用者整個過程裡就不需要再更換agent,減少重複連線的次數,也提高了穩定性。(畢竟連線次數少了,也降低了連不上伺服器的出現機率)

在這個架構裡面,gameserver實際上是乙個遊戲邏輯的綜合體,裡面可以再去擴充套件成幾個不同的邏輯伺服器,通過publicserver進行公共資料交換。

userserver實際上扮演了乙個servergroup的領頭羊的角色,它負責向loginserver註冊和更新伺服器組的資訊(名字,當前人數),並且對agent進行排程,對選擇了該組的玩家提供乙個使用者量最少的agent。同時,它也兼了乙個角色管理伺服器的功能,傳送給客戶端當前的角色列表,角色的建立,刪除,選擇等管理操作,都是在這裡進行的。而且,它還是乙個使用者資訊的驗證伺服器,gameserver需要通過它來進行客戶端的合法性驗證,以及獲取玩家選擇的角色資料資訊。

採用這種架構的遊戲,通常有以下表現。

1- 使用者必須啟用乙個大區,才能在大區內登陸自己的帳號。

2- 使用者啟動客戶端的時候,彈出乙個登陸器,選擇大區。

3- 使用者啟動真正的客戶端的時候,一開始就是輸入帳號密碼。

4- 帳號驗證完成之後,進行區內的伺服器選擇。

5- 伺服器選擇完成之後,進入角色管理。同時,角色在不同的伺服器裡不能共享。

市面上符合上面幾個表現特徵的遊戲相當的多,而且也不乏曠世巨作。這個架構不是乙個新的架構,但是它足夠經典和完善,並且邏輯簡單而清晰,用來做mmorpg,或者其它網路遊戲的伺服器架構,是一種不錯的選擇。

一種經典的網路遊戲伺服器架構

首先,二話不說,上圖 用windows畫圖畫的。這個圖是乙個區的架構圖,所有區的架構是一樣的。上面虛線框的servergroup和旁邊方框內的架構一樣。圖上的所有x n的伺服器,都是多台一起的。紅線,綠線,和藍線圖上也有圖示,這裡就不多介紹了。關於agent server大家也能看出來,其實就是ga...

一種經典的網路遊戲伺服器架構

首先,二話不說,上圖 用windows畫圖畫的。這個圖是乙個區的架構圖,所有區的架構是一樣的。上面虛線框的servergroup和旁邊方框內的架構一樣。圖上的所有x n的伺服器,都是多台一起的。紅線,綠線,和藍線圖上也有圖示,這裡就不多介紹了。關於agent server大家也能看出來,其實就是ga...

伺服器架構 一種經典的網路遊戲伺服器架構

首先,二話不說,上圖 用windows畫圖畫的。這個圖是乙個區的架構圖,所有區的架構是一樣的。上面虛線框的servergroup和旁邊方框內的架構一樣。圖上的所有x n的伺服器,都是多台一起的。紅線,綠線,和藍線圖上也有圖示,這裡就不多介紹了。關於agent server大家也能看出來,其實就是ga...