- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
整体服务器架构分三大块:协调服务器(中心服务器:存储公共信息数据,建立主服务器信息点)登录服务器(帐号管理器:管理用户选择服务器登录地址,校验用户数据等。必需与协调服务器保持长连接,用于更新获取最新数据)游戏服务器(游戏逻辑服务:用于加载处理每款游戏逻辑与公共游戏逻辑(例如机器人整体随机进出任何游戏房间,机器人游戏信息处理等。必需与协调服务器保持长连接,用于传输最新游戏房间信息给协调服务器))
服务器核心:内核引擎
协调服务器:
配置信息:最大并发容量为512,端口号,服务名称等
创建必要组件:m_TimerEngine定时器引擎(用于做脉冲心跳)
m_AttemperEngine调度引擎(用于处理业务)
m_TCPNetworkEngine网络引擎
读取服务器信息配置文件:ServerParameter.ini
初始化接口,绑定接口,配置网络,等待房间注册信息等基本环境
启动服务后记录当前日志信息
关闭停止服务处理:释放停止定时器、调试、网络引擎,断开SCOKET,注销房间信息,清除绑定等
登录服务器:
配置信息:最大并发容量为512,端口号,服务名称,服务器IP地址,读取协调服务器信息(IP与端口号),配置数据库信息,连接数据库信息(AccountsDB用户库TreasureDB财富库PlatformDB公共信息库)
创建必要组件:m_TimerEngine定时器引擎(用于做脉冲心跳定时获取与协调服务器的最新列表信息)
m_AttemperEngine调度引擎(用于处理业务)
m_DataBaseEngine数据库引擎(处理业务层投递信息处理写入数据库)
m_TCPNetworkEngine网络引擎服务
m_TCPSocketService 网络接口ITCPSocketService
初始化接口,绑定接口,连接协调服务,与数据库连接
启动服务后记录当前日志信息
处理业务事件:读取服务器游戏列表信息,注册登录服务器信息(协调服务回调下发登录服务器请求事件获取游戏房间列表信息返回结果成功后启动网络引擎m_TCPNetworkEngine,设置状态等)
游戏服务器:
配置信息:首先初始化与数据库连接信息,从ServerParameter.ini配置文件里获取,首先连接PlatformDB公共配置库,获取连接数据库的端口,IP,数据库用户与密码(采用XOR加密方式)。
获取游戏房间加载信息,连接成功数据库后。
读取数据库信息后,开始检测当前服务配置信息是否正确,点击启动服务
1.首先创建游戏模块组件:m_TimerEngine、m_AttemperEngine、m_TCPSocketServicem(网络组件)_、TCPNetworkEngine(网络引擎组件)、m_KernelDataBaseEngine(数据库组件)、m_RecordDataBaseEngine(数据组件)、m_GameServiceManager(游戏模块)、m_GameMatchServiceManager(比赛模块如非比赛模式房间不启动)与上述登录服务器一致。
2.配置调整游戏服务参数(游戏服务器全局参数):读取数据库配置参数与游戏服务基础信息对比比较,是否合格等等一些基本信息。
3.配置游戏服务器参数(单款游戏加载的参数):获取连接协调服务器的IP,端口信息,读取ServerParameter.ini里面配置的协调服务器,登录服务器的连接信息
连接公共数据库、用户信息数据库、用户财富库
启动内核
配置游戏服务全局信息
全局数据库启动连接
再连接单款游戏服务里面的数据库引擎
加载游戏配置信息(业务层信息)
最后启动网络引擎
连接协调服务器
发送请求给协调服务器,发送游戏房间注册信息给协调服务器,并设置心跳时间,定时发送最新游戏房间信息给协调服务保存,然后获取协调服务下发信息。启动游戏服务器,动作正常游戏逻辑!
文档评论(0)