安装部署¶
本章节介绍如何安装和部署小丑引擎。支持 Windows 桌面版和 Docker 容器版两种部署方式。
系统要求¶
-
🖥️ Windows 环境
项目 最低配置 推荐配置 OS Win 10 / Server 2016 Win 11 / Server 2022 CPU 2 Cores 4 Cores+ RAM 4 GB 8 GB+ Disk 50 GB SSD (数据存储) 100 GB SSD Runtime .NET 9.0 .NET 9.0 -
🐳 Docker 环境
项目 版本要求 Docker Desktop >= 20.10 Compose Version >= 2.0 Disk >= 2 GB Free Space Network Bridge Mode
服务架构¶
小丑引擎由三个核心服务组成:
| 服务 | 说明 | 默认端口 |
|---|---|---|
| 账号服务器 | 用户注册、登录、门票生成 | 8001 (TCP) |
| 游戏服务器 | 主游戏逻辑服务器 | 8701 (TCP) |
| 管理后台 | Web 管理界面 | 5000 (HTTP) |
通信流程¶
客户端
│
├─→ [8001/TCP] 账号服务器
│ │ 用户登录 → 生成门票
│ │
│ └─→ [6678/UDP] 游戏服务器 (发送门票)
│
└─→ [8701/TCP] 游戏服务器
│ 游戏逻辑
│
└─→ [8080/TCP] 管理后台 API
Windows 桌面版部署¶
目录结构¶
D:\CQYH\
├── 游戏服务器/
│ ├── 游戏服务器.exe # 游戏服务器主程序
│ ├── Setup.ini # 配置文件
│ └── Database/ # 数据目录
│ ├── System/ # 系统配置数据
│ └── User/ # 玩家数据
│
├── 账号服务器/
│ ├── 账号服务器.exe # 账号服务器主程序
│ └── appsettings.json # 配置文件
│
└── Database/ # 共享数据目录
├── Account/ # 账号数据
├── System/ # 系统配置
└── Patchs/ # 补丁文件
启动顺序¶
-
启动账号服务器
-
启动游戏服务器
配置文件¶
游戏服务器 Setup.ini¶
[General]
客户连接端口=8701 # 游戏客户端连接端口
门票接收端口=6678 # 账号服务器门票端口
Http门票接收端口=7777 # HTTP门票接收端口
游戏开放等级=40 # 新手保护等级
怪物经验倍率=1.0 # 经验获取倍率
自动保存时间=5 # 数据自动保存间隔(分钟)
游戏数据目录=./Database # 数据存储目录
数据备份目录=./Backups # 备份目录
数据存储
小丑引擎使用自定义二进制存储,无需安装 MySQL 等数据库。
Docker 容器版部署¶
快速启动 (3 步)¶
步骤 1: 构建镜像¶
步骤 2: 启动服务¶
步骤 3: 验证部署¶
端口映射¶
| 服务 | 容器端口 | 宿主机端口 | 说明 |
|---|---|---|---|
| 账号服务器 | 12001 | 8001 | 客户端登录 |
| 游戏服务器 | 8701 | 8701 | 游戏连接 |
| 游戏服务器 | 8080 | 8080 | API 接口 |
| 游戏服务器 | 6678 | 6678 | 门票接收 (UDP) |
| 管理后台 | 8080 | 5000 | Web 界面 |
数据持久化¶
Server_Container/Database/
├── Account/ # 账号数据
├── System/ # 系统配置 (只读)
├── GS1/ # 一区数据
│ ├── User/ # 玩家数据
│ ├── Log/ # 日志
│ └── Backups/ # 备份
└── GS2/ # 二区数据 (多区部署)
常用命令¶
# 启动所有服务
docker-compose up -d
# 停止所有服务
docker-compose down
# 查看日志
docker-compose logs -f game-server
# 重启单个服务
docker-compose restart game-server
# 进入容器
docker exec -it mir3d-game-server /bin/bash
多区部署¶
docker-compose.yml 已配置双区支持:
| 服务 | 容器名 | 游戏端口 | API 端口 |
|---|---|---|---|
| 一区 | mir3d-game-server | 8701 | 8080 |
| 二区 | mir3d-game-server-2 | 8702 | 8081 |
故障排查¶
容器无法启动¶
账号服务器无法连接游戏服务器¶
# 检查网络连通性
docker exec mir3d-account-server ping game-server
# 检查门票端口
docker exec mir3d-game-server netstat -ulnp | grep 6678
数据丢失¶
确保 volumes 配置正确:
下一步¶
获取帮助¶
如有问题,请加入 QQ 群:433597028