文章一:猜想的qq遊戲伺服器架構
文章出處:
一種經典網遊伺服器架構
這個圖是乙個區的架構圖,所有區的架構是一樣的。上面虛線框的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,或者其它網路遊戲的伺服器架構,是一種不錯的選擇。
文章出處:
未完待續。。。
遊戲伺服器架構
登陸伺服器判斷賬戶合法性,如果合法的話,把session資訊寫入memcache,閘道器伺服器收到玩家連線請求後,在memcache裡查詢是否合法玩家,防止非法連線。閘道器伺服器要管理玩家連線,需要高併發,可以開多個 scene mgr純粹的 訊息功能 資料庫伺服器純粹的查詢修改資料功能,如果成為瓶...
遊戲伺服器架構
只是負責驗證使用者名稱和密碼,驗證之後返回token,token是有有效時間的,在有效時間內,並沒有保持連線的必要,所以,這裡的requestresponse可以做成短連線 http請求響應模式 提公升併發。如果超過了有效時間還沒有進入遊戲,令牌失效,在登入驗證時將被踢回重新獲取令牌。登入伺服器和閘...
遊戲伺服器架構簡介
遊戲的架構設計非常重要,好的架構 清晰,責任明確,擴充套件性強,易於除錯。這些會為我們的開發省下不少時間,對於遊戲伺服器的架構設計,我們首先要了解遊戲的伺服器架構都有什麼組成?一款遊戲到上線,需要具備哪些功能?遊戲架構本身代表是乙個體系,它包括 1.系統初始化 系統初始化是在沒有客戶端鏈結的時候,伺...