當公司有很多遊戲的時候,那麼公司往往會有一個統一的賬号管理平台,就就像盛大通行證、網易通行證,戰網平台,這些平台統一管理遊戲的賬号資料。
打個比方,現在我們玩星辰變,那麼玩家登陸遊戲的時候有兩個過程,一是登陸遊戲賬号,取得我們需要登陸的遊戲區的網關,也就是之前說平台伺服器那裡,然後是進入到遊戲角色選擇界面,登陸到星辰變遊戲中。第一步已經在《資料/平台伺服器》說過了。現在說第二階段。
在叙述這個過程中,我們需要知道玩家登陸遊戲時“卡号”的現象,也就是玩家某此下線,沒有設定玩家下線标志或是清除某些上線資料,導緻玩家在下一次登陸時,造成無法登陸的現象,我們在程式設計,考慮到這一步就可以了。
我們已經進入到星辰變的遊戲選擇界面,
1. 我們點選進入遊戲,那麼用戶端發送玩家登陸遊戲的資料給網關,網關根據之前的令牌,驗證是否可以通過
2. 網關發送消息到會話,會話的全區玩家管理器中添加新的玩家,然後通知super
3. Super添加玩家的資訊,(主要是玩家的各個伺服器id,),然後通知資料伺服器;
4. 資料伺服器通過這個賬号id去資料庫讀取這個玩家的資料,如果有,讀取玩家資料,
資料伺服器将玩家的基本遊戲資料發給用戶端,并且通知該玩家的場景伺服器,有玩家上線
5. 場景伺服器上解析來自資料伺服器的資料,添加一個新的玩家,做上線處理,并且通知會話伺服器,玩家登陸到某個場景了