跳转至

安装部署

本章节介绍如何安装和部署小丑引擎。支持 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/             # 补丁文件

启动顺序

  1. 启动账号服务器

    D:\CQYH\joker_cqyh\账号服务器\AccountServer.exe
    

  2. 启动游戏服务器

    D:\CQYH\joker_cqyh\游戏服务器\GameServer.exe
    

配置文件

游戏服务器 Setup.ini

[General]
客户连接端口=8701        # 游戏客户端连接端口
门票接收端口=6678        # 账号服务器门票端口
Http门票接收端口=7777    # HTTP门票接收端口
游戏开放等级=40          # 新手保护等级
怪物经验倍率=1.0         # 经验获取倍率
自动保存时间=5           # 数据自动保存间隔(分钟)
游戏数据目录=./Database  # 数据存储目录
数据备份目录=./Backups   # 备份目录

数据存储

小丑引擎使用自定义二进制存储,无需安装 MySQL 等数据库。


Docker 容器版部署

快速启动 (3 步)

步骤 1: 构建镜像

cd Server_Container
docker-compose build

步骤 2: 启动服务

docker-compose up -d

步骤 3: 验证部署

# 查看容器状态
docker ps --filter "name=mir3d"

# 访问管理后台
curl http://localhost:8080/api/test

端口映射

服务 容器端口 宿主机端口 说明
账号服务器 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 logs mir3d-game-server

# 检查端口占用
netstat -ano | findstr "8701 12001"

账号服务器无法连接游戏服务器

# 检查网络连通性
docker exec mir3d-account-server ping game-server

# 检查门票端口
docker exec mir3d-game-server netstat -ulnp | grep 6678

数据丢失

确保 volumes 配置正确:

volumes:
  - ./Database/GS1/User:/app/Database/User

下一步

获取帮助

如有问题,请加入 QQ 群:433597028