【正文】
..26 狀態(tài)的轉(zhuǎn)移和恢復(fù) .......................................................................................................27 Zone 服務(wù)器 ..................................................................................................................28 Disp 服務(wù)器 ...................................................................................................................28 Log 服務(wù)器 ....................................................................................................................287 備選方案 ................................................................................................301 / 351 背景2 概述 范圍 引用標(biāo)準(zhǔn) 術(shù)語和定義名詞 解釋 符號和縮略語縮寫 英文描述 中文描述2 / 353 總體架構(gòu)設(shè)計(jì) 設(shè)計(jì)原則? 盡量保持產(chǎn)品的獨(dú)立性? 在與其他產(chǎn)品進(jìn)行交互時(shí)僅提供必須的接口,以減少復(fù)雜度和錯(cuò)誤發(fā)生的可能性。? 在與其他產(chǎn)品交互的時(shí)候都通過一個(gè)中間進(jìn)程進(jìn)行,以降低產(chǎn)品之間的耦合性? 與幻想關(guān)聯(lián)的產(chǎn)品主要是: 和 Q 幣支付系統(tǒng)。? 對于一些已有的產(chǎn)品,如果可以滿足需求,直接整合到產(chǎn)品包中。 設(shè)計(jì)目標(biāo)階段 開始時(shí)間 完成時(shí)間 階段目標(biāo)和工作進(jìn)度指標(biāo)DEMO2022 年 10月 272022 年 1月 9 DEMO 的制作AHPLA12022 年 1月 9 2022312? 實(shí)現(xiàn)職業(yè)換裝的人物頭發(fā)換色? 完成以下界面: (1)開始選單 (2)控制面板 (3)人物狀態(tài)欄? 完成戰(zhàn)斗攻擊系統(tǒng)? 地圖編輯器: (1)人物換色數(shù)據(jù)組織 (2)公用物件編輯 (3)圖素拼接地表? 特效編輯器: 實(shí)現(xiàn)戰(zhàn)斗被擊特效編輯 .AHPLA2 2022312 2022423? 增加道具系統(tǒng)? 構(gòu)建游戲的第一個(gè)城鎮(zhèn)AHPLA3 2022423 202264? 組隊(duì)系統(tǒng)? 基本技能系統(tǒng)? 職業(yè)換裝系統(tǒng)? 稱號系統(tǒng)? 放置野外寶箱3 / 35AHPLA4 202264 202272? 功能性特性? 任務(wù)系統(tǒng)? 聊天系統(tǒng)? 怪物系統(tǒng)(怪物 AI、怪物寶石)? 道具鑲嵌和、改造、合成? 拜師系統(tǒng)? 好友系統(tǒng)(結(jié)合 )AHPLA5 202272 2022730? 建立跨組的游戲調(diào)試環(huán)境? 完成神明系統(tǒng)與異常狀態(tài)的開發(fā)? 完成部分職業(yè)的技能 (考慮紙娃娃實(shí)現(xiàn),延后進(jìn)行)? 進(jìn)行功能完善:AHPLA6 2022730 2022827? 完成界面的改進(jìn)? 實(shí)現(xiàn)傳送系統(tǒng)? Server 后臺功能實(shí)現(xiàn)? 加入修羅城,長樂村等地圖AHPLA7 2022827 2022930? DIRSERVER? 郵件系統(tǒng)? 寄售系統(tǒng)? 完善神明及戰(zhàn)斗異常狀態(tài)的畫面表現(xiàn)? 加入神武山迷宮地圖? 加入 2 張野外地圖AHPLA8 2022930 20221112? 開店系統(tǒng)? 職業(yè)技能AHPLA9 20221112 20221231 游戲內(nèi)容、數(shù)值調(diào)整Closed Beta 版本 20221231 2022325 測試、BUG 修改、完善;Closed Beta22022 年 4月第一周2022 年 4月第四周? 商業(yè)技能(部分) ? 怪物屬性傷害(部分) ? 道具鑲嵌與合成(部分) ? 任務(wù)(部分) ?Closed Beta3 2022 年 4月第一周2022 年 5月第四周? 卡片(部分)? 寵物系統(tǒng)(不含戰(zhàn)斗) ? 商業(yè)技能(全部) ? 道具鑲嵌和合成(全部) ? 新地圖黃金城和沙漠迷宮 ? 語音聊天功能(可選) ? 客戶端支持平滑升級(可選) ? 任務(wù)(部分) ?Open Beta 2022 年 4月第一周2022 年 6月第四周? 工會系統(tǒng)(基本功能) ? 怪物屬性傷害(全部) ? 支持代理服務(wù)器玩 MMOG ? 任務(wù)(部分) ? 交通飛空艇 4 / 35收費(fèi)版2022 年 4月第一周2022 年 8月第二周? 寵物系統(tǒng)-戰(zhàn)斗(完成)? 半自由 PK 系統(tǒng)? 工會系統(tǒng)(工會戰(zhàn))? 任務(wù)(部分)? 新地圖-新大陸(可選)? 婚姻系統(tǒng)國慶版2022 年 4月第一周2022 年 9月第四周? 全自由 PK 系統(tǒng)(預(yù)先完成)? 攻城戰(zhàn)? 工會飛空艇 系統(tǒng)需求? Slackware Linux Kernel (支持 epoll、iptables)? Cvs 版本管理系統(tǒng)? Mysql ? Heatbeat ? Lib DB 服務(wù)器:? DL380G3? 標(biāo)配:CPU P4 2? 內(nèi)存:1G HPDDRRAM 2? 硬盤:36G 4 RAID5(100G)前端服務(wù)器:? PT2300GII? 標(biāo)配:CPU P4 2? 內(nèi)存:1G DDRRAM 2? 硬盤:36G 1 NORAID日志服務(wù)器:5 / 35? DL380G3? 標(biāo)配:CPU P4 2? 內(nèi)存:1G HPDDRRAM 2? 硬盤:146G 4 RAID5(400G)? 實(shí)時(shí)戰(zhàn)斗模式,server 用 2D 方式實(shí)現(xiàn),client 端可以為 2D 或者 3D 沙盤? 用 號碼登錄游戲,不需單獨(dú)注冊? 通過 server 驗(yàn)證,用 Kerberos 方式實(shí)現(xiàn) C/S 128 bit 對稱加密? 用戶登錄后,可以在一個(gè) world 的不同地圖,不同 server 自由切換,不需重新連接? 用戶的前端連接和后臺 server 處理邏輯分離,后臺 server 的處理邏輯可以透明更新,不影響在線用戶? 支持后臺自動更新。當(dāng)?shù)卿浻脩粢呀?jīng)下載好新版本超過一定比例時(shí)才要求強(qiáng)行更新(如大于 80%)? server 盡可能支持不同版本的 client 登錄。? 最小化容量: 在一臺機(jī)器上支持一個(gè)完整的 world,約 510 萬注冊用戶,10002022 在線用戶? 最大化容量:在同一個(gè) IDC 大區(qū)下,支持 50 萬在線用戶,劃分 550 個(gè) world,每個(gè) world 支持 1 – 20 萬在線用戶。較小的地區(qū)采用更小的規(guī)模。FO 的基本架構(gòu)是由三層組成:最上一層是 Cluster,主要是管理帳號和計(jì)費(fèi),在一個(gè) Cluster 中,一個(gè)帳號只能登錄一次。最下一層是 Zone,負(fù)責(zé)游戲的邏輯,Zone 服務(wù)器是用戶直接相關(guān)的服務(wù)器,屬于同一個(gè) World 的Zone 服務(wù)器之間共享角色數(shù)據(jù)。? 簽名服務(wù)器根據(jù)用戶輸入的帳號和密碼,進(jìn)行鑒權(quán),并返回簽名。? Dir 服務(wù)器返回當(dāng)前可用的 Zone 服務(wù)器列表以及負(fù)載信息。? Zone 接到請求后,驗(yàn)證該簽名,并向 World 服務(wù)器發(fā)送帳號登錄請求。? Cluster 服務(wù)器接收到帳號登錄請求,記錄相應(yīng)的信息,并向 World 服務(wù)器返回應(yīng)答。? Zone 服務(wù)器得到應(yīng)答,進(jìn)行有關(guān)的帳號登錄處理,并通知客戶端。10 / 35? Zone 服務(wù)器計(jì)算出 Client 移動的新位置或打斗的動作,將它反射給其他 Client,使得其他用戶可見。? Zone 服務(wù)器將此請求發(fā)送給 World 服務(wù)器。? Zone 服務(wù)器將查詢結(jié)果返回給 Client。? 按每個(gè) World 有 5000 人同時(shí)在線人數(shù),平均每人每天 1 小時(shí)的在線時(shí)長,則將造成約 次/s 登錄請求,這樣 Zone 將有 次/s 訪問 World(內(nèi)網(wǎng)訪問) ,World 將有 (數(shù)據(jù)庫操作) 。用戶注銷:? 按每個(gè) Cluster 有 500K 同時(shí)在線人數(shù),平均每人每天 1 小時(shí)的在線時(shí)長,則將造成約 140 次/s 注銷請求,這樣 World 將有 140 次/s 訪問 Cluster(外網(wǎng)訪問) ,Cluster 將有 140 次/s 訪問 Cluster DB(數(shù)據(jù)庫操作) 。? 按每個(gè) Zone 有 1500 人同時(shí)在線人數(shù),平均每人每天 1 小時(shí)的在線時(shí)長,則將造成 次/s 注銷請求,這樣 Client 將有 次/s 訪問 Zone(外網(wǎng)訪問) 。? 按每個(gè) World 有 5000 人同時(shí)在線人數(shù),每 3 分鐘同步一次 Zone 的數(shù)據(jù),則將造成 27 次/s 同步請求,這樣 Zone 將有 27/s 訪問 World(內(nèi)網(wǎng)訪問) ,World 將有 25/s 訪問 World DB(數(shù)據(jù)庫操作) 。? Zone 與 World 的同步請求與用戶移動的操作同時(shí)進(jìn)行,故不再累計(jì)。? 按每個(gè) World 有 5000 人同時(shí)在線人數(shù),每 10 分鐘查詢一次數(shù)據(jù),則造成 次/s 查詢請求,這樣 Zone 將有 次/s 訪問 World(內(nèi)網(wǎng)訪問) ,World 將有 次/s 訪問 World DB(數(shù)據(jù)庫操作) 。14 / 35 Serverw o r l d _ l o g i n m i s c _ s e r v e rm a i l _ s e r v e r進(jìn)程組c o n s i g n _ s er v e rZ o n e s e r v e rO n l i n e R o l e T a b l eC l u s t e r s e r v e rw o r l d _ m i s cr o l e _ s e r v e r進(jìn)程組數(shù)據(jù)庫保證角色名的唯一性 , 以及刪除角色的備份一個(gè) world 可以包含多個(gè) zone server,每個(gè) zone server 管理一塊或者多塊地圖。15 / 35zone_connect 負(fù)責(zé)接收來自客戶端的連接,并進(jìn)行解密,并把消息傳遞給 zone_server 進(jìn)行處理。 性能容量分析 設(shè)備和流量需求Cluster:在線人數(shù):500K注冊人數(shù):500K/5%=10M平均在線時(shí)長:1 小時(shí)公式 計(jì)算結(jié)果 備注存儲要求 注冊用戶數(shù)單位用戶信息10M100Byte=1G 其中 100Byte 是單位用戶信息帶寬要求(內(nèi)網(wǎng)) 在線人數(shù)(World 與Cluster 之間通信量)/在線時(shí)間8Bit500K*(100Byte+100Byte)/3600*8Bit=其中第一個(gè) 100Byte 是Login 的開銷,后100Byte 是 Logout 的開銷帶寬要求(外網(wǎng)) 無機(jī)器要求 2 臺 G