1. 程式人生 > >一種MMO伺服器框架

一種MMO伺服器框架

以下是一種單程序多執行緒的伺服器框架,LoginServer是一個登陸執行緒,處理使用者登陸和角色獲取。登陸成功後會連線ChatServer和LogicServer,聊天伺服器執行緒處理所有聊天資訊的轉發,邏輯伺服器執行緒處理指令碼執行,日誌、戰鬥以及其他相關邏輯,邏輯伺服器執行緒可以多開,可以將使用者平衡到各個邏輯Server。所有的ServerProcess都會連線到一個管理伺服器上,以方便管理員對伺服器進行管理。

為什麼不設計成多程序的?原因如下:1、多程序設計更復雜,要考慮更多通訊細節。2、現在的伺服器配置都非常高,完全可以將整個伺服器配置到一臺物理機上,甚至還可以在一臺物理機器上開多個服。3、執行緒切換比程序切換要快。

玩家上線邏輯:首先連線登陸伺服器進行帳號驗證,驗證成功之後獲得一個UID【這個UID可以是基於使用者名稱和密碼生成的,再加入一些隨機性,使得每次登陸都可以不一樣】,拿著這個UID去獲得該服中的角色,當然也可以建立角色,選完角色之後,繼續用該UID去連線聊天伺服器和邏輯伺服器,上線完成。使用者下線後該UID自動失效。