GameFrameX Server:核心架构与业务轮廓
摘要
对 GameFrameX Server 的能力做结构化归纳:以 Actor + 组件化为核心抽象,围绕消息协议/路由、网络会话、数据持久化形成通用底座,并在此之上落地玩家/背包等业务模块,同时辅以定时任务与服务器状态管理。
架构切分
Actor 与组件
- 组件化 Actor(ComponentAgent + Component)
- 状态管理(StateComponent + CacheState)
- Actor 类型管理(ActorType)
- 支持全局与玩家级组件
消息与路由
- Protobuf 协议
- 请求/响应(IRequestMessage/IResponseMessage)
- 通知消息(INotifyMessage)
- MessageMapping 特性映射
- HTTP API 处理器系统(见:HTTP API 体系)
网络与会话
- 网络通道抽象(INetWorkChannel)
- 会话管理(SessionManager + Session)
- 在线玩家管理与断连事件处理
- WebSocket/TCP 支持
持久化
- 数据库抽象(GameDb)
- 异步读写(FindAsync/SaveOneAsync)
- 状态自动持久化(WriteStateAsync)
- MongoDB(BSON 序列化)
业务轮廓(示例模块)
玩家系统(Player)
- 登录请求处理与状态加载
- 会话绑定与在线列表维护
- 生命周期:下线处理、自动回收、定时器清理(QuartzTimer)
背包系统(Bag)
- 状态:BagState / BagItemState
- 操作:增/删/用/查
- 通知:背包变化推送、数量变更推送
- 校验:物品配置、存在性、数量不足、错误码(OperationStatusCode)
- 离线发送:在线实时推送;离线写库;支持 HTTP 接口发送道具
服务器管理(Server)
- OnlineSet 在线集合维护与遍历
- 服务器信息:首次启动时间、服务器状态
- 定时任务:跨天定时器、Cron 表达式、QuartzTimer 集成
状态标记
- 账号系统与宠物系统被标记为“部分注释/逻辑未实现”,需要进一步确认现状与规划。