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 集成

状态标记

  • 账号系统与宠物系统被标记为“部分注释/逻辑未实现”,需要进一步确认现状与规划。

关联实体

来源回溯