
World of ClaudeCraft生产部署指南Docker Compose、Caddy反代与AWS单机上线完整步骤【免费下载链接】world-of-claudecraft项目地址: https://gitcode.com/gh_mirrors/wo/world-of-claudecraftWorld of ClaudeCraft 是一款基于浏览器的 3D 开放世界 MMORPG 开源项目服务端为 Node.js PostgreSQL 架构游戏客户端、REST API 与 WebSocket 世界循环全部打包在单个 Docker 镜像中。本文带你用一台 AWS 单机Docker Compose Caddy TLS 反代完成从裸机到 HTTPS 上线的完整流程适合想自建游戏私服或学习游戏服务器运维的新手。1. 部署架构一台机器跑什么整个生产栈只有4 个 Docker 服务 1 个 Caddy 反向代理全部定义在 docker-compose.yml 中服务作用对外暴露postgresPostgreSQL 16 游戏数据库仅回环127.0.0.1:5433game游戏服务端客户端静态文件 API WebSocket单端口 8787仅回环127.0.0.1:8787discord-bot可选的 Discord 中继机器人discordprofile不监听端口mediawiki玩家 Wiki含独立 MariaDB仅回环127.0.0.1:8080关键安全设计所有服务只绑定回环地址Caddy 是唯一公网入口因此安全组只需要放行22 / 80 / 443三个端口。镜像构建过程见 Dockerfile多阶段构建先用node:26-slim pnpm 编译客户端与服务端运行时镜像以node非特权用户启动并内置/livez健康检查与 75 秒优雅停机窗口覆盖角色存档落盘。2. 准备 AWS 实例最快配置方法官方推荐规格见 DEPLOY.mdAMIUbuntu Server 24.04 LTSarm64机型t4g.small2 vCPU Graviton / 2 GB约 $14/月适合少量在线玩家存储20 GB gp3安全组22限你的 IP、80、443其他一律不放行 2 GB 内存偏紧初始化脚本会自动加 2 GB swap游戏容器有mem_limit: 5g与NODE_OPTIONS堆上限保护适合约 8 GB 内存主机小机器请按比例调小。别忘了分配一个Elastic IP保证域名始终指向同一地址。3. 一键初始化User Data 脚本无需手动装环境。编辑 deploy/user-data.sh填入域名后整体粘贴到 EC2 启动向导的User data字段DOMAINplay.example.com # 你的游戏域名先留空可测 IP ADMIN_DOMAIN # 可选管理后台独立域名脚本会自动完成安装 Docker Compose v2 Caddy创建 swapclone 仓库到/opt/eastbrook私有 fork 请改用 deploy key用openssl rand生成强随机 Postgres 密码写入.env权限 600docker compose up -d --build构建并启动全部服务写入 Caddyfile、配置每日 03:15 UTC 的pg_dump自动备份保留 14 天安装 deploy/game_watchdog.sh 看门狗每分钟巡检容器unhealthy时自动重启构建耗时几分钟可用以下命令实时观察ssh ubuntu弹性IP sudo tail -f /var/log/eastbrook-setup.log4. Caddy 反代与自动 HTTPSuser-data.sh写入的 Caddy 配置做了三件关键事自动 HTTPS域名指向实例后Caddy 自动申请并续期 Lets Encrypt 证书WebSocket 无需额外配置客户端在 https 页面会自动走wss://屏蔽运维端点/livez、/readyz、/metrics、/internal/*对外一律 404健康探测只发生在容器内部避免暴露运维信息gzip 压缩encode gzip降低静态资源传输体积如果先用 IP 测试无域名之后启用 TLS 只需重写/etc/caddy/Caddyfile并执行sudo systemctl reload caddy配置模板见 DEPLOY.md 第 4 节。5. 上线后验证清单curl -fsS http://127.0.0.1:8787/api/status # 服务端应答 sudo docker compose ps # 容器状态应为 healthy sudo docker compose logs game --since 10m # 启动日志无报错浏览器打开https://play.example.com能登录进世界即上线成功。6. 日常更新流程6 步sudo git pull拉取最新代码按 DEPLOY.md 在容器内跑一次tsc --noEmit类型检查门槛可选POST /internal/restart-countdown带RESTART_COUNTDOWN_SECRET头向玩家广播 10 分钟维护倒计时sudo docker compose stop game—— 优雅停机服务端会保存全部角色sudo docker compose up -d --build重建启动复跑第 5 节的验证清单在线玩家仅断开数秒即可重新登录存档不丢失。7. 可选进阶配置需求配置项参考真实邮件SESEMAIL_PROVIDERses IAM 角色server/email/世界容量上限MAX_PLAYERS_PER_REALM默认 5000docker-compose.yml人机检测私有版克隆到private/bot_detectorserver/bot_detector/性能遥测METRICS_TOKEN开启/metricsDEPLOY.md全部可配置项及说明见 .env.examplecp .env.example .env后按需修改。备份恢复命令、回滚注意事项与更多运维细节请直接查阅 DEPLOY.md。至此你的 World of ClaudeCraft 世界已在单机上稳定运行Caddy 负责 TLSDocker Compose 管理服务生命周期看门狗与自动备份兜底——这正是生产级游戏服务的最小完整形态。【免费下载链接】world-of-claudecraft项目地址: https://gitcode.com/gh_mirrors/wo/world-of-claudecraft创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考