手游服务端
###todo
- 暂时用redis缓存,实际项目中会使用mysql保存冷数据,游戏角色超过一个星期没有上线,从缓存保存到mysql中并删除;缓存中的数据每天凌晨定时保存到mysql
###通讯架构
- 架构分为三部分,客户端,网关,中心服务器,以及其他逻辑服务器(例如pvp服务器,活动服务器);
- 消息头为16个字节;id,消息源或者目标id,4byte;seq,消息序列号,2byte;ret,消息返回结果,2byte;cmd,消息命令字,2byte;unlen,未压缩前长度;len,消息体长度,2byte,理论上不要超过65535字节.
- 逻辑服务器不保存任何状态,所有热数据都保存在redis;逻辑服务器id不允许相同,启动同个id的服务器会覆盖掉前一个服务器; 逻辑服务器可以允许注册相同cmd,来分摊计算压力;
###项目说明
- Gate - 网关服务器,用于转发客户端与游戏服务器之间的消息,验证玩家数据,负载均衡,广播,数据统计
- Login - 登陆服务器,玩家通过登陆服务器获取token,再使用token与Gate登陆,并提供第三方登陆和充值功能
- Center - 中心服务器,其中全局服务器提供验证token,创建角色等功能
- Client - 客户端测试程序
- Tool - 工具集合,目前有一个设置服务器的小程序,后面再补充配置文件读取工具