Architecture
面向实时协作与游戏托管的分层架构
平台采用主客户端、中心服务、Launcher、数据服务和容器服务分层设计,既保持主流程稳定,也为组件更新与游戏托管提供独立扩展空间。
用户入口层 ├─ Qt 主客户端:登录、好友、私聊、群聊、文件、音视频、屏幕共享、游戏邀请 ├─ P2PLauncher:版本分发、组件管理、Docker 开服、存档管理、游戏大厅 └─ WebChat:轻量登录、私聊、群聊、好友申请、入群邀请 业务服务层 ├─ NetworkServer:UDP 业务接收、线程池投递 ├─ BusinessHandler:cmd 分发、认证校验、消息中继、游戏房间业务 ├─ TcpFileServer:文件上传下载与访问控制 └─ GameInstanceManager:容器实例、端口、托管生命周期管理 数据与运行层 ├─ MySQL:用户、好友、群组、通知、群消息、文件、游戏房间 ├─ Redis:会话、在线状态、最近私聊记录 ├─ HTTPS 版本分发:客户端清单、组件包、完整性校验 └─ Docker:TankWar / Factorio / Minecraft 等服务端容器
解耦
主客户端专注通信体验,Launcher 专注组件与运行环境,中心服务专注业务分发与数据协调。
扩展
新增游戏服务只需扩展镜像、配置模板和组件清单,不影响主客户端通信核心链路。
部署
门户、版本分发、WebChat、中心服务与容器服务可按职责独立运行,便于维护和演示。