Architecture

面向实时协作与游戏托管的分层架构

平台采用主客户端、中心服务、Launcher、数据服务和容器服务分层设计,既保持主流程稳定,也为组件更新与游戏托管提供独立扩展空间。

用户入口层
  ├─ Qt 主客户端:登录、好友、私聊、群聊、文件、音视频、屏幕共享、游戏邀请
  ├─ P2PLauncher:版本分发、组件管理、Docker 开服、存档管理、游戏大厅
  └─ WebChat:轻量登录、私聊、群聊、好友申请、入群邀请

业务服务层
  ├─ NetworkServer:UDP 业务接收、线程池投递
  ├─ BusinessHandler:cmd 分发、认证校验、消息中继、游戏房间业务
  ├─ TcpFileServer:文件上传下载与访问控制
  └─ GameInstanceManager:容器实例、端口、托管生命周期管理

数据与运行层
  ├─ MySQL:用户、好友、群组、通知、群消息、文件、游戏房间
  ├─ Redis:会话、在线状态、最近私聊记录
  ├─ HTTPS 版本分发:客户端清单、组件包、完整性校验
  └─ Docker:TankWar / Factorio / Minecraft 等服务端容器

解耦

主客户端专注通信体验,Launcher 专注组件与运行环境,中心服务专注业务分发与数据协调。

扩展

新增游戏服务只需扩展镜像、配置模板和组件清单,不影响主客户端通信核心链路。

部署

门户、版本分发、WebChat、中心服务与容器服务可按职责独立运行,便于维护和演示。