Contents
  1. 1. Common
    1. 1.1. CommonShare
    2. 1.2. DependModules
    3. 1.3. ServerBase
    4. 1.4. Table
    5. 1.5. TestClient
  2. 2. SeBaseServer
    1. 2.1. 服务器架构
    2. 2.2. 项目结构
    3. 2.3. AuctionServer
    4. 2.4. ChatServer
    5. 2.5. CommunityServer
    6. 2.6. ContactServer
    7. 2.7. DBLogServer
    8. 2.8. DBServer
    9. 2.9. GlobalServer
    10. 2.10. LoginServer
    11. 2.11. MatchServer
    12. 2.12. RaceServer
    13. 2.13. SwitchServer
    14. 2.14. TcpServer
    15. 2.15. TownServer
    16. 2.16. WorldServer

根据MMServer.sln的结构来确认

Common

CommonShare

一些重要的通用方法和工具,一般需要先行编译。

DependModules

依赖库

ServerBase

定义了SeBaseServerNew和SeNetworkService,前者用来发送心跳包,注册包,更新连接等方法;后者用于检测网络状态(?

Table

根据策划xml动态生成的c++代码

TestClient

没看,但是感觉没卵用,现在用u3d客户端直接测试。

SeBaseServer

所有的服务器都基于一个基础服务器类SeBaseServer,其中包括一些通用功能,比如初始化,更新,以及网络负载均衡等。

启动服务器后,每个server都会启动一个监听窗口,实时打印出服务器的状态,连接情况。

服务器架构

这张图可能有点老,但是基本架构不变

项目结构

每个Server的目录下有几个固定的文件路径:

xxxServer
|
├── (D)Logic/GameLogic: 处理业务逻辑
├── (D)MSGProcess
| └── (D)yyyServer: yyyServer的Send和Agent,自定义的Agent用来处理回调(Handle函数)
| └── (D)Auto: 自动生成的inl,列出需要实现的函数文件头
├── (D)Stream: 流处理,传输统一使用二进制
└── xxxServer.h/cpp/-Def.h: 服务器的初始化,以及输出到控制台的信息序列化

AuctionServer

交易服不太了解,貌似暂时没有用,需要监听服务器端口、WS,连接DS【MySQL】

ChatServer

单独的聊天服。处理WS中的聊天,需要监听服务器端口、TS,连接DS

CommunityServer

处理社团相关,需要监听服务器端口、TS,连接DS

ContactServer

好友服。需要监听服务器端口、TS,连接DS【好友缓存】、DLS、SS

DBLogServer

日志系统,目前没卵用。监听服务器端口、WS、GS、ContactS、MS、CommunityS、ChatS

DBServer

连接指定的数据库表,提供服务器处理服务。监听服务器端口、TS、ContactS

GlobalServer

全局服。监听服务器端口、WS、LS、HttpS、MS、连接DS、NodeJSHttp集群、MySQL【全服账户信息】

LoginServer

登录服集群。连接GS

MatchServer

匹配服?监听服务器端口、RS、TS、HttpS、DLS、SS

RaceServer

比赛服,处理对战时的逻辑。TCP监听,连接MS

SwitchServer

听说是取代TS的一种方案,让切换服务器的时候绕开TS。监听服务器端口、MS、ContactS、WS

TcpServer

连接检测,socket。监听TS

TownServer

中心Server,基本上所有的Server的中转站。监听服务器端口、TS,连接WS、MS、DS、ContactS、CommunityS、ChatS

WorldServer

逻辑服/支持水平扩展。监听服务器端口、TS、HttpS,连接GS、DS【逻辑缓存】、Redis【位置信息】、DLS、AS(已注释)、SS

Contents
  1. 1. Common
    1. 1.1. CommonShare
    2. 1.2. DependModules
    3. 1.3. ServerBase
    4. 1.4. Table
    5. 1.5. TestClient
  2. 2. SeBaseServer
    1. 2.1. 服务器架构
    2. 2.2. 项目结构
    3. 2.3. AuctionServer
    4. 2.4. ChatServer
    5. 2.5. CommunityServer
    6. 2.6. ContactServer
    7. 2.7. DBLogServer
    8. 2.8. DBServer
    9. 2.9. GlobalServer
    10. 2.10. LoginServer
    11. 2.11. MatchServer
    12. 2.12. RaceServer
    13. 2.13. SwitchServer
    14. 2.14. TcpServer
    15. 2.15. TownServer
    16. 2.16. WorldServer