服务器框架 https://blog.csdn.net/nie2314550441/article/details/105981967
一、游戏服介绍
负责用户游戏逻辑处理。一个游戏服是一个游戏房间,例如:掼蛋金币房间(初级场、中级场、高级场),好友房,比赛场分别对应一个游戏房间,后台配置决定房间游戏玩法。一个房间有多个桌子,桌子数量后台配置,同一个桌子上的玩家可以一起玩牌,一个桌子有多个椅子,椅子数据感觉玩法来定,斗地主椅子数量是3,竞技掼蛋椅子数是4个。
二、服务器启动流程
1、启动准备
- 初始化网络库
- 监听事件注册
2、开始启动
- 创建日志、定时器
- 创建网络服务
- 挂接逻辑事件(用户线程读取网络数据)
- 创建广场客户端(与广场服进行连接)
- 和广场服连接成功时候发生房间配置请求
- 广场服将游戏房间信息发生给游戏服
- 加载游戏逻辑
- 初始化机器人
- 创建DB服代理服务(连DB服并进行消息交互)
- 创建中心服代理服务(连中心服务器并进行消息交互)
- 创建对象工厂
- 初始化网络连接池
- 目录监听服务启动
- 加载插件
- 启动网络服务器监听
3、启动流程图
三、广场服与其他服务器交互
- DB服务器启动
- 中心服启动并和DB服务器连接
- 广场服启动并和DB服务器、中心服进行连接
- 游戏服启动并和广场服连接
- 广场服将游戏服房间配置信息发生给游戏服,游戏服和DB服务器、中心服进行连接
- 网关服启动并和中心服连接
- 网关服连接成功发送登录信息
- 中心服收到网关服登陆信息,1.将网关服信息广播给已经连接的服务器;2.将所有和中心服连接的服务器信息发生给新连接的网关服
- 客户端连接网关服
- 客户端通过网关服将消息转发给广场服(如果未连接、先进行连接在转发消息)
- 广场服通过网关服将消息转发给客户端
- 客户端通过网关服将消息转发给游戏服(如果未连接、先进行连接在转发消息)
- 游戏服通过网关服将消息转发给客户端
四、类图
先上图,后续再细谈
游戏服类图
游戏房间类图