數據服務器/平臺服務器

         在我們的遊戲服務器中,與數據庫打交道的服務器有數據服務器、會話服務器。

         其中會話服務器,需要去存取遊戲區中所有玩家的信息,讀取所有玩家基本信息到數據庫中,這個需要看功能的實現了,比如玩家A給離線玩家B發了一條消息,那麼等這個玩家上線後,需要把這條消息發送到B。

         數據服務器:

         它的作用就是存取遊戲中所有的信息,減少其他服務器的IO操作這樣我們可以減少場景服務器的負擔,把數據讀取單獨拿出來,每次其他服務器上存取信息,都通過這一個RecordServer去讀取,發送一個消息到這個RecordServer上就可以了,然後去做其他邏輯。數據服務器上會做很多定時操作,定時存玩家檔案、遊戲檔案,從效率上考慮,很重要的信息,如玩家的裝備、金錢這些一旦改變就得立即存檔,像不重要的排行榜這些信息一個小時存檔、或一天存檔就可以了,但是所有數據停機時必須存檔。數據庫的錯誤,就得去回檔了。

         平臺服務器:

         管理遊戲中所有賬號的服務器,管理所有遊戲的所有賬號,比如,玩家的賬號abc在幾個遊戲區中都有遊戲賬號,那麼就可以把這個賬號abc綁定到這些賬號上,這個就像盛大通行證,這些是一樣的處理。其實,玩家每次登陸游戲G,都是登陸到平臺,平臺把這個玩家所需要登陸的遊戲G大區發給這這個大區的suerserver,然後這個super去尋找一個合適網關,把這個網關信息發送到玩家,這個玩家去登陸這個網關,然後連接到遊戲中,當然這其中有很多限制規則,程序自己去限定就可以了。比如,這裏是打一個比方,不是真正的三國殺流程,我玩三國殺,我在盛大有一個盛大通行證sdtxz,然後我打開三國殺這個遊戲,輸入我的通行證名字和密碼,然後三國殺把我的信息(包含了遊戲類型,遊戲大區信息)發送到盛大的平臺服務器,這個平臺驗證我的信息,然後找到三國殺遊戲大區zone的大區服務器,發送消息到這個服務器,這個服務器找一個合適的網關(網關生成一個令牌),把這個網關信息和這個令牌發送到大區服務器,大區服務器再發送給玩家的客戶端,客戶端接着去登陸這個網關,然後遊戲開始了。這個平臺的作用不僅限於做這個,統計玩家信息、遊戲充值等等,具體就不描述了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章