旧版脚本:(可能已无法使用)
一键脚本:
容器介绍:
详细的结构分析图 + 启动顺序说明和实现方式
┌──────────────────────────────────────────────┐ │ Docker Network │ │ palworld-net │ │ │ │ ┌─────────────────────┐ ┌─────────────────────┐ │ │ palworld-server │◄────►│ pst-agent │ │ │ (游戏服务器核心) │ │ (存档代理/同步工具) │ │ └─────────────────────┘ └─────────────────────┘ │ ▲ │ │ │ ▼ │ │ ┌─────────────────────┐ │ │ │ pst │ │ │ │ (管理面板 WebUI) │ │ ▼ └─────────────────────┘ │ 玩家连接 / Steam 验证 / RCON 控制 │ └──────────────────────────────────────────────┘
用途详解:
1️⃣ palworld-server
幻兽帕鲁的官方专用服务器(Dedicated Server)
主要功能:
启动游戏世界(地图、存档、玩家进出)
暴露端口
8211/udp给玩家连接提供
RCON(远程控制接口)和REST API管理存档、日志、配置文件
关键端口:
类型 端口 用途 UDP 8211 游戏连接端口 TCP 25575 RCON 控制台 TCP 8212 REST API 关键数据路径:
宿主机目录 容器路径 说明 /www/docker/palworld/server /palworld 游戏安装目录 /www/docker/palworld/SaveGames /palworld/Pal/Saved/SaveGames 存档数据 /www/docker/palworld/Config /palworld/Pal/Saved/Config 游戏配置 /www/docker/palworld/Logs /palworld/Pal/Logs 运行日志
✅ 它是整个系统的 第一启动容器,必须在最前启动。
其他容器都依赖它的运行状态。
2️⃣ pst-agent
存档代理服务(Palworld Server Tool Agent)用于和“管理面板”进行文件同步、存档备份。
主要功能:
负责在宿主机和 Web 面板之间同步存档文件(Level.sav 等)
监控存档目录变化(自动同步/备份)
通过 REST API 与
pst通信
容器内部逻辑:
启动后扫描
/game目录(即宿主机存档目录)找到
Level.sav、worldoptions.sav等文件提供同步接口
/sync(供 Web 管理面板使用)
关键挂载:
✅ 必须 等 palworld-server 启动后再启动
否则它扫描不到存档文件。
因此 compose 里设置了:
depends_on: - palworld-server command: sh -c "sleep 30 && /app/pst-agent"
这表示:
“等待 30 秒,确保服务器生成存档后,再启动 agent”
3️⃣ pst
Web 管理面板(Palworld Server Tool)
主要功能:
提供浏览器可视化控制页面
管理服务器状态、备份、配置、RCON 操作
调用
pst-agent进行存档同步调用
palworld-server的RCON/REST API接口控制游戏(比如踢人、修改设置)
常用端口:
关键配置:
✅ 它依赖前两个容器都已就绪。
因此我们让它延迟启动 120 秒:
command: sh -c "sleep 120 && /app/pst"
启动总结:
| 启动顺序 | 容器名 | 主要功能 | 等待逻辑 |
|---|---|---|---|
| 第1步 | palworld-server | 启动幻兽帕鲁专服(核心) | 无需等待 |
| 第2步 | pst-agent | 同步/代理存档 | 延迟30秒,等存档生成 |
| 第3步 | pst | Web 管理面板 | 延迟120秒,确保服务端和 agent 都就绪 |
截图展示:
(面板控制端)

(容器编排端)

升级记录:
1.禁止重启docker自动升级(发现每次重启docker的时候都会自动下载一遍,很慢,有提示升级时再改成true)
environment:
# 用户权限配置
- PUID=1000
- PGID=1000
# 网络与管理端口配置
- PORT=8211
- RCON_PORT=25575
- RCON_ENABLED=true
- RCON_PASSWORD=Aa112211
- REST_API_ENABLED=true
- REST_API_PORT=8212
- REST_API_PASSWORD=Aa112211
- ADMIN_PASSWORD=Aa112211
# 字符编码
- LANG=C.UTF-8
- LC_ALL=C.UTF-8
# 禁用自动更新(彻底关闭 SteamCMD 验证)
- FORCE_UPDATE=false
- SKIP_UPDATE=true
- UPDATE_ON_BOOT=false
- AUTO_UPDATE_ENABLED=false
# 自动修复权限(让容器自己 chown)
- CHOWN_DIRECTORIES=/home/steam/Steam,/home/steam/.steam,/palworld,/palworld/Pal/Saved,/www/docker/palworld
restart: unless-stopped
networks:
- palworld-net
stop_grace_period: 30s✅ 改动说明
| 改动点 | 说明 | | --------------------------- | -------------------------------------------------- | | `UPDATE_ON_BOOT=false` | 彻底禁用每次启动时的 SteamCMD 更新检查 | | `AUTO_UPDATE_ENABLED=false` | 禁用定时更新机制 | | `SKIP_UPDATE=true` | 跳过任何内部 SteamCMD 自动执行逻辑 | | `CHOWN_DIRECTORIES` | 启动时容器内部自动修正挂载目录权限 | | 清理重复目录 | `/home/steam/.steam` 和 `/home/steam/Steam` 分离持久化缓存 | | 保留 `stop_grace_period: 30s` | 确保退出前存档写入完成 |
✅ 完整配置
原创声明:本文章为原创内容,所有文章均由博主亲自撰写,严格遵循原创原则。我们承诺不使用任何人工智能生成的内容,所发布的每一篇文章都经过深思熟虑,旨在为读者提供真实、有价值的观点和信息。我们坚信原创才是知识分享的根本,致力于为广大读者呈现最具真实性和独特性的文章。感谢您的支持与关注,欢迎持续关注我们的原创内容。

