2.4 KiB
2.4 KiB
扫雷游戏部署教程
项目结构
game/
├── app/ # React 前端(用户玩游戏)
├── server/ # Nakama 游戏服务器逻辑
├── docker-compose.yml
└── 游戏逻辑文档.txt
1. 部署 Nakama 游戏服务器
1.1 服务器准备
# 安装 Docker 和 Docker Compose
apt install docker.io docker-compose
1.2 启动服务
cd /path/to/game
# 构建并启动
docker-compose up -d --build
# [推荐] 方式2:分别部署 (业务后端 + 游戏服)
# 1. 启动业务后端 (在 bindbox_game 目录)
# 2. 启动游戏服 (使用 docker-compose.cloud.yml, 需确保网络互通)
# docker-compose -f docker-compose.cloud.yml up -d
# [推荐] 方式3:全量合并部署 (业务后端 + 游戏服 + 数据库)
# docker-compose -f docker-compose.all.yml up -d
# 云端部署 (由于是云端,通常使用拉取的镜像)
# docker-compose -f docker-compose.cloud.yml up -d
# 查看日志
docker-compose logs -f nakama
1.3 验证服务
- Nakama API: http://your-server:7350
- Nakama Console: http://your-server:7351
- CockroachDB UI: http://your-server:8081
2. 部署前端游戏
2.1 构建前端
cd /path/to/game/app
# 安装依赖
npm install
# 构建生产版本
npm run build
2.2 配置 Nginx
server {
listen 80;
server_name game.1024tool.vip;
root /var/www/game;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
2.3 部署文件
# 将构建产物复制到服务器
scp -r dist/* root@server:/var/www/game/
# 重载 Nginx
nginx -s reload
3. 配置小程序对接
3.1 后端配置(bindbox_game)
在 system_configs 表添加:
INSERT INTO system_configs (key, value) VALUES
('nakama_server', 'wss://game.1024tool.vip:7350'),
('nakama_key', 'defaultkey');
3.2 前端跳转
小程序扫雷入口已配置跳转到:
https://game.1024tool.vip?ticket={ticket_token}
4. 完整流程
小程序点击「进入游戏」
↓
调用 /api/app/games/enter
↓
获取 ticket_token
↓
跳转 webview: game.1024tool.vip?ticket=xxx
↓
游戏前端连接 Nakama 服务器
↓
开始对战
5. 常用命令
# 查看服务状态
docker-compose ps
# 重启服务
docker-compose restart nakama
# 查看实时日志
docker-compose logs -f
# 停止服务
docker-compose down