而支撑这些平台稳定运行的核心,正是高效、稳定且安全的服务器架构
网狐科技有限公司,作为棋牌游戏平台的佼佼者,其服务器架构的设计无疑是业界的一个典范
本文将从网狐服务器的整体架构、主要功能模块、技术创新等方面进行详细剖析,展示其卓越的性能和独特的设计理念
一、网狐服务器整体架构 网狐服务器整体上分为四个核心部分:中转服务器、房间服务器、大厅服务器以及SQL Server数据库
这四个部分各司其职,共同确保了游戏平台的稳定运行
1. 中转服务器 中转服务器在整个架构中扮演着举足轻重的角色
它负责收集所有房间服务器和大厅服务器的IP、端口、在线游戏人数等信息,并中转全局的游戏消息
所有房间服务器和大厅服务器都与中转服务器保持在线连接,并定时更新状态
中转服务器还通过连接平台库,获取平台的信息,从而实现游戏数据的实时同步和更新
2. 房间服务器 房间服务器主要用于加载和处理每款子游戏的逻辑与公共游戏逻辑
例如,机器人整体随机进出任何游戏房间、机器人游戏信息处理等,都是由房间服务器来完成的
房间服务器也必须与中转服务器保持长连接,以便及时传输最新的游戏房间信息给中转服务器
3. 大厅服务器 大厅服务器主要负责帐号管理,包括管理用户选择服务器登录地址、校验用户数据等
它必须与中转服务器保持长连接,以更新和获取最新数据
大厅服务器的主要功能涵盖了玩家注册、登录、创建桌子、创建和管理俱乐部、修改个人资料、游戏任务处理、用户成就和游戏商城等多个方面
通过大厅服务器,玩家可以方便地获取游戏类型信息、游戏种类信息、房间信息以及网关信息等,从而选择自己感兴趣的游戏进行参与
4. SQL Server数据库 SQL Server数据库作为整个架构的数据存储中心,存储了所有用户信息、游戏数据、配置信息等关键数据
大厅服务器、房间服务器和中转服务器都分别与数据库进行连接,可以独立进行操作对应的数据库,从而确保了数据的实时性和一致性
二、主要功能模块与启动流程 1. 大厅服务器启动流程 大厅服务器的启动流程包括点击启动服务按钮、调用OnBnClickedStartService()函数、调用StartService()函数进行初始化等多个步骤
在StartService()函数中,会先加载配置信息,包括初始化用户数据库、财富数据库、站点页面、进程当前启动目录、相关配置文件路径名称、获取本地IP、中转服务器信息等
然后配置数据库信息,设置最大连接数、监听端口、UDP监听端口等
接下来,创建必要的组件,如定时器引擎、数据库引擎、调度引擎、网络引擎等,并绑定相应的回调钩子函数
最后,依次启动时间引擎、内部网络服务、数据库引擎、调度引擎、网络引擎和UDP引擎,完成大厅服务器的启动
2. 中转服务器启动流程 中转服务器的启动流程相对复杂,但同样重要
它从CCenterService::StartService()函数启动,初始化网络设置,配置好PlatformDB平台数据库相关参数,创建数据库引擎、调度引擎、网络引擎、定时器引擎等组件接口,并把这些组件和内核绑定
设置好数据库引擎和调度引擎的回调钩子后,配置网络引擎参数,包括设置好以服务端口为文件名的内核日志文件、设置好内核设置配置文件、建立内核日志目录等
然后依次启动时间引擎、网络引擎、数据库引擎、调度引擎,完成中转服务器的启动
三、技术创新与独特设计 1. 网关层的引入 网狐在U3D至尊平台中,突破性地在游戏服务器和各业务服务器之前加入了网关层
这一创新设计实现了服务路由、负载均衡以