原文地址:http://www.cnblogs.com/hellohuang/p/6294763.html # HMX-ServerHMX-Server分步式伺服器框架,主要分為網關、登錄、世界、場景、數據伺服器,適用於大中小型項目 # 安裝步驟1. 下載後,將Source/dependence/下 ...
原文地址:http://www.cnblogs.com/hellohuang/p/6294763.html
# HMX-Server
HMX-Server分步式伺服器框架,主要分為網關、登錄、世界、場景、數據伺服器,適用於大中小型項目
# 安裝步驟
1. 下載後,將Source/dependence/下的boost,protobuf裡面的lib.rar解壓到當前目錄
2. 安裝Cmake-3.4 x64以上版本,vs2015 x64 ,mysql5.6 x64
3. 用Cmake進行創建方案然後並整個解決方案編譯
4. 導入Source/sql/下的hmx-data.sql數據,數據密碼配置在Source/WorldServer/serices.xml文件中
5. 在vs中按順序啟動WorldServer.exe、BServer.exe、GameServer.exe、LoginServer.exe、GatewayServer.exe或在Bin/Debug/中雙擊RunServers.bat啟動伺服器
5. 在vs中啟動Client.exe或在Bin/Debug/雙擊Client.exe啟動客戶端進行測試
***
# 運行示例圖
**世界服啟動**
**數據服**
**場景服**
**登錄服**
**網關服**
**客戶端**
# 目錄介紹
1. Bin/Debug/ 編譯存放目錄
2. Resource/ 配置及資源目錄
3. Source/ 源代碼文件
- 1. Client/ 測試客戶端
- 2. DBServer/ 資料庫處理服
- 3. dependence/ 第三方依賴庫
- 4. FlatServer/ 平臺方案服(跨平臺轉發協議用,暫未實現)
- 5. GameServer/ 場景伺服器
- 6. GatewayServer/ 網關伺服器
- 7. HelpTools/ 工具項目(用於生成數據、處理數據輔助開發用)
- 8. Include/ 共用引入文件
- 9. LibNetMysql/ Mysql資料庫封裝類庫
- 10. LibNetSocket/ Socket封裝類庫
- 11. LibProtocol/ Protocol協議類目錄
- 12. LibSrvcore/ 本項目共用類庫
- 13. LoginServer/ 登錄伺服器
- 14. LogServer/ 日誌伺服器(資料庫日誌、暫未實現)
- 15. MQServer/ 消息隊列伺服器(處理外部可延時事件,持久例事件處理,如充值、後臺調用等;暫未實現)
- 16. ShiftServer/ 區域管理伺服器(暫未實現)
- 17. sql/ 資料庫更新記錄目錄
- 18. WorldServer/ 世界伺服器
4. vc14/ 這個是用cmake 生成的文件目錄(名字自定)
# 伺服器層級介紹
平臺服 <-----------平臺服-------->Mysql(管理後臺資料庫)
|
/ \
區域服1 區域服2
|
/ \ 世界服、數據服、登錄服
世界服1 世界服N <------------------------>Mysql(游戲資料庫)
/ | \ \
/ | \ | \
/ | \ | \
場景服1 場景服N \ <-> 數據服 <-> 登錄服
\ \ | --- /
\ |(世界服) /
\ | /
網關服1 網關服N
# NetSerivce.cpp 總管理器文件
1. 聚合了大部分該伺服器的管理類,所有資源都需要從NetSerivce中獲得,這樣做的目的是將資源都聚合在一起,提供統一介面,方便記憶與管理,比如:你所找要的資源->NetSerivces實例對象->get各個資源類->get所需要的資源
2. NetSerivce也包括了main函數,啟動程式的入口
3. serivces.xml配置文件以WorldServer/目錄下的為準,當重新編譯WorldServer時,會自動將它拷貝到Bin/Debug和vs項目調度目錄下
[github]https://github.com/huangzuduan/HMX-Server