網(wǎng)絡(luò)游戲服務(wù)器開發(fā)雜記---登陸和角色列表

0x00 回顧

上一篇文章中我們講到了游戲中的區(qū)服劃分酿傍,其中也提到了一些賬號(hào)登陸的流程。那這個(gè)小節(jié)我們好好梳理一下登陸的流程,以及登陸中遇到的一些異常情況,到最后的成功獲取角色列表餐禁。

還記得我們上個(gè)小節(jié)中講到的,賬號(hào)密碼驗(yàn)證成功后突照,登陸網(wǎng)關(guān)服務(wù)器(LoginGateServer)會(huì)獲取到這個(gè)ack的信息,并且向中心服務(wù)器(CenterServer)去查詢當(dāng)前賬號(hào)狀態(tài)氧吐,并由CenterServer分配下一階段的路由讹蘑。這里大概會(huì)遇到以下的幾種異常:

1,賬號(hào)異常

這里的異常一般是針對賬號(hào)安全所做的一些保護(hù)措施筑舅,可以做分級(jí)處理座慰。舉個(gè)例子,當(dāng)發(fā)現(xiàn)與上次登陸的城市不同的時(shí)候翠拣,或是與上次登陸的設(shè)備ID不同的時(shí)候版仔,就要給玩家發(fā)出安全確認(rèn)的請求,常見的如各種奇葩的驗(yàn)證碼误墓,或是手機(jī)pin碼蛮粮,游戲采取實(shí)名制之后,后者最為常見谜慌。

另一種異常是運(yùn)營中的常見手段然想,如封號(hào),或是禁言等欣范,當(dāng)然也可以針對角色來做变泄,那樣更靈活,不過以國內(nèi)的網(wǎng)游環(huán)境來講恼琼,一般就是直接封賬號(hào)妨蛹,沒啥好商量的。一個(gè)角色出現(xiàn)問題晴竞,同一個(gè)游戲世界內(nèi)的其他角色都會(huì)受到牽連蛙卤。

2,游戲人數(shù)擁擠噩死,沒有坑位

CenterServer會(huì)定時(shí)的去采集每一個(gè)與游戲服務(wù)器相連的網(wǎng)關(guān)服務(wù)器(GameGateServer)的負(fù)載情況表窘。如果有空閑的坑位典予,CenterServer會(huì)把新的鏈接路由過去。如果當(dāng)前游戲很火爆乐严,如開服的第一天瘤袖,很可能所有服務(wù)器都沒有坑位了,那么CenterServer就會(huì)把當(dāng)前的鏈接放到一個(gè)隊(duì)列里昂验,并且每隔一段時(shí)間會(huì)把當(dāng)前隊(duì)列的狀態(tài)廣播給所有的排隊(duì)玩家捂敌,大家最關(guān)心的就是前面還有多少人。

如果當(dāng)前賬號(hào)一切正常既琴,那么中心服務(wù)器會(huì)給當(dāng)前鏈接分配一個(gè)新的游戲網(wǎng)關(guān)GameGateServer占婉,包括這個(gè)服務(wù)器的ID,IP甫恩,Port逆济,用戶就會(huì)嘗試去鏈接該GameGateServer,連接成功后磺箕,原來與LoginGateServer的鏈接就會(huì)關(guān)閉掉奖慌,空出資源。
到此為止松靡,賬號(hào)處理的相關(guān)流程简僧,基本完畢,開始進(jìn)行游戲內(nèi)的數(shù)據(jù)加載雕欺。當(dāng)然第一步就是加載當(dāng)前游戲世界內(nèi)的所有角色信息岛马。


流程圖

0x01 角色列表

我們回憶一下,在通常的角色列表界面屠列,我們能看到什么啦逆?

1,角色名稱
2笛洛,角色等級(jí)
3蹦浦,角色性別
4,角色職業(yè)
5撞蜂,角色裝備
6盲镶,角色時(shí)裝

這些是最基礎(chǔ)的,通常也是必須顯示的蝌诡,其他還有一些策劃會(huì)按照自己的習(xí)慣來要求的溉贿,各不相同,比如有:

1浦旱,角色工會(huì)
2宇色,角色VIP等級(jí)
3,角色寵物
4,角色坐騎
5宣蠕,...

那有哪些字段我們不需要呢例隆?

1,角色屬性
2抢蚀,角色貨幣信息
3镀层,角色好友信息
4,角色郵箱信息
5皿曲,...

類似于這種只有在游戲場景中才使用到的字段唱逢,在當(dāng)前界面并不需要展示,所以也不用添加在通訊協(xié)議中屋休。


wow

針對上面所述坞古,我們應(yīng)該也能設(shè)計(jì)出前后臺(tái)的通訊協(xié)議了。

還有一些我們必需的字段劫樟,是我們看不到的痪枫,比如角色上次下線時(shí)所在的地圖ID,以及在該地圖的坐標(biāo)(X叠艳,Y奶陈,Z),角色再次上線虑绵,我們要把它擺放在原來的位置。當(dāng)然這是下一步的事情闽烙,到目前為止翅睛,我們已經(jīng)登陸成功,并且把角色列表成功顯示黑竞,本小節(jié)的任務(wù)也就完成了捕发。

0x03 總結(jié)

游戲的登陸邏輯不復(fù)雜,但需要注意的點(diǎn)會(huì)很瑣碎很魂,異常分級(jí)要做配置扎酷,避免硬編碼。最后遏匆,留一個(gè)小問題法挨,就是在游戲中什么時(shí)候需要重新驗(yàn)證登陸,什么時(shí)候只是切換服務(wù)器連接幅聘。這個(gè)問題考慮清楚了凡纳,對登陸流程也就沒什么問題了。下一個(gè)小節(jié)帝蒿,我們來探討一下角色場景加載荐糜。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子暴氏,更是在濱河造成了極大的恐慌延塑,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件答渔,死亡現(xiàn)場離奇詭異关带,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)研儒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門豫缨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人端朵,你說我怎么就攤上這事好芭。” “怎么了冲呢?”我有些...
    開封第一講書人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵舍败,是天一觀的道長。 經(jīng)常有香客問我敬拓,道長邻薯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任乘凸,我火速辦了婚禮厕诡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘营勤。我一直安慰自己灵嫌,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開白布葛作。 她就那樣靜靜地躺著寿羞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赂蠢。 梳的紋絲不亂的頭發(fā)上绪穆,一...
    開封第一講書人閱讀 49,821評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音虱岂,去河邊找鬼玖院。 笑死,一個(gè)胖子當(dāng)著我的面吹牛第岖,可吹牛的內(nèi)容都是我干的司恳。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼绍傲,長吁一口氣:“原來是場噩夢啊……” “哼扔傅!你這毒婦竟也來了耍共?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬榮一對情侶失蹤猎塞,失蹤者是張志新(化名)和其女友劉穎试读,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體荠耽,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡钩骇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了铝量。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片倘屹。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖慢叨,靈堂內(nèi)的尸體忽然破棺而出纽匙,到底是詐尸還是另有隱情,我是刑警寧澤拍谐,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布烛缔,位于F島的核電站,受9級(jí)特大地震影響轩拨,放射性物質(zhì)發(fā)生泄漏践瓷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一亡蓉、第九天 我趴在偏房一處隱蔽的房頂上張望晕翠。 院中可真熱鬧,春花似錦砍濒、人聲如沸淋肾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽巫员。三九已至庶香,卻和暖如春甲棍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背赶掖。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來泰國打工感猛, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人奢赂。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓陪白,卻偏偏與公主長得像,于是被迫代替她去往敵國和親膳灶。 傳聞我的和親對象是個(gè)殘疾皇子咱士,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容