Docker 部署幻兽帕鲁(Palworld)服务器¶
简介¶
幻兽帕鲁(Palworld)是一款支持多人联机的开放世界生存建造游戏。使用 Docker 部署服务器可以方便地实现数据持久化、备份和迁移。
本文使用镜像 kagurazakanyaa/palworld 部署服务器。
整体架构¶
环境准备¶
- 操作系统:Linux(推荐 Ubuntu 22.04+)
- Docker 已安装
- 开放端口:8211/UDP(游戏主端口)、27015/UDP(Steam 查询端口,可选)
- 网络:公网 IP 或内网穿透(如 cpolar)
镜像说明¶
kagurazakanyaa/palworld 是社区维护的 Palworld 专用服务器镜像,开机即用,无需手动安装 SteamCMD。
主要特性: - 内置 SteamCMD 自动更新 - 支持 SaveData 持久化 - 可通过环境变量或配置文件调整服务器参数 - 兼容 Windows/Linux/macOS
部署步骤¶
Step 1:拉取镜像¶
Step 2:创建数据持久化目录¶
# 在宿主机创建存储目录
mkdir -p /mnt/palworld/save
mkdir -p /mnt/palworld/config
mkdir -p /mnt/palworld/backup
Step 3:启动容器(基础持久化)¶
docker run -d \
--name palworld-server \
--restart unless-stopped \
-p 8211:8211/udp \
-p 27015:27015/udp \
-v /mnt/palworld/save:/palworld/Pal/Saved \
-v /mnt/palworld/config:/palworld/Pal/Saved/Config/LinuxServer \
-e PUID=1000 \
-e PGID=1000 \
kagurazakanyaa/palworld
数据卷映射说明: -
/palworld/Pal/Saved→ 存档数据(玩家数据、基地、帕鲁等) -/palworld/Pal/Saved/Config/LinuxServer→ 服务器配置文件(WorldOptions.sav、GameUserSettings.ini 等) - 两者映射到宿主机后,即使删除重建容器,数据也不会丢失
Step 4:验证运行状态¶
日志中看到类似以下内容表示正常运行:
Step 5:连接服务器¶
在 Palworld 游戏中: 1. 打开游戏 → 多人游戏 → 加入服务器 2. 输入服务器公网 IP 或域名(端口默认 8211) 3. 如果在内网,需要用 cpolar 等工具穿透
服务器配置¶
环境变量配置(启动时指定)¶
docker run -d \
--name palworld-server \
--restart unless-stopped \
-p 8211:8211/udp \
-p 27015:27015/udp \
-v /mnt/palworld/save:/palworld/Pal/Saved \
-v /mnt/palworld/config:/palworld/Pal/Saved/Config/LinuxServer \
-e PUID=1000 \
-e PGID=1000 \
-e SERVER_NAME="My Palworld Server" \
-e SERVER_DESCRIPTION="A fun Palworld server" \
-e MAX_PLAYERS=16 \
-e DIFFICULTY="None" \
-e DAY_SPEED_SCALE="1.0" \
-e NIGHT_SPEED_SCALE="1.0" \
-e EXP_RATE="1.0" \
-e PAL_CAPTURE_RATE="1.0" \
-e PAL_SPAWN_RATE="1.0" \
kagurazakanyaa/palworld
常用配置参数¶
| 参数 | 说明 | 默认值 |
|---|---|---|
SERVER_NAME |
服务器名称 | Palworld Server |
MAX_PLAYERS |
最大玩家数 | 16 |
DIFFICULTY |
难度(None/Normal/Hard) | None |
EXP_RATE |
经验值倍率 | 1.0 |
PAL_CAPTURE_RATE |
捕获概率倍率 | 1.0 |
DAY_SPEED_SCALE |
白天时间速度 | 1.0 |
NIGHT_SPEED_SCALE |
夜间时间速度 | 1.0 |
手动修改配置文件¶
配置文件位于映射的宿主机目录:
修改后重启容器生效:
备份与恢复¶
备份策略¶
Palworld 服务器数据包含两类:
- Config 配置文件(服务器设置)
- SaveData 存档数据(玩家进度、帕鲁数据、基地)
建议备份策略: - 每日自动备份:保留最近 7 天的备份 - 重要节点备份:每次大版本更新前手动备份
手动备份¶
# 备份整个数据目录
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
tar -czf /mnt/palworld/backup/palworld_backup_${TIMESTAMP}.tar.gz \
/mnt/palworld/save \
/mnt/palworld/config
echo "备份完成: palworld_backup_${TIMESTAMP}.tar.gz"
自动备份脚本(crontab)¶
创建备份脚本 /mnt/palworld/backup.sh:
#!/bin/bash
# palworld_backup.sh
BACKUP_DIR="/mnt/palworld/backup"
DATA_DIR="/mnt/palworld"
DAYS_TO_KEEP=7
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="${BACKUP_DIR}/palworld_backup_${TIMESTAMP}.tar.gz"
# 创建备份
tar -czf "$BACKUP_FILE" "$DATA_DIR/save" "$DATA_DIR/config"
# 删除 7 天前的备份
find "$BACKUP_DIR" -name "palworld_backup_*.tar.gz" -mtime +${DAYS_TO_KEEP} -delete
echo "[$(date)] 备份完成: $BACKUP_FILE"
添加到 crontab,每天凌晨 3 点自动备份:
添加行:
恢复备份¶
# 停止容器
docker stop palworld-server
# 解压备份(以最新备份为例)
LATEST_BACKUP=$(ls -t /mnt/palworld/backup/palworld_backup_*.tar.gz | head -1)
tar -xzf "$LATEST_BACKUP" -C /
# 重启容器
docker start palworld-server
echo "恢复完成,从备份: $LATEST_BACKUP"
单存档恢复(精确恢复)¶
如果只想恢复特定存档(不覆盖整个目录):
# 解压备份到临时目录
mkdir -p /tmp/palworld_restore
tar -xzf /mnt/palworld/backup/palworld_backup_20260415_030000.tar.gz -C /tmp/palworld_restore
# 恢复 SaveData(玩家数据)
cp -r /tmp/palworld_restore/mnt/palworld/save/* /mnt/palworld/save/
# 恢复 Config(可选)
cp -r /tmp/palworld_restore/mnt/palworld/config/* /mnt/palworld/config/
# 重启
docker restart palworld-server
数据迁移(换机器)¶
在原机器上打包:
到新机器后解压:
然后直接启动容器即可,数据完整保留。
常见问题¶
Q1:容器无法启动,提示端口被占用¶
Q2:玩家无法连接¶
- 检查防火墙/安全组是否开放 8211/UDP 和 27015/UDP
- 检查 cpolar 等穿透工具是否正常运行
- 确认服务器 IP 是否可公网访问
Q3:如何更新服务器版本¶
# 拉取最新镜像
docker pull kagurazakanyaa/palworld:latest
# 停止并删除旧容器(数据不会丢失)
docker stop palworld-server
docker rm palworld-server
# 用同样的命令重新启动(卷映射不变)
docker run -d ...(同上)
Q4:存档损坏怎么办¶
- 从备份恢复(见「恢复备份」章节)
- 如果没有备份,尝试在游戏客户端验证存档完整性
Q5:如何查看玩家列表¶
相关资源¶
- Docker Hub 镜像:https://hub.docker.com/r/kagurazakanyaa/palworld
- Palworld 官方:https://www.pocketpair.jp/
- SteamCMD 文档:https://developer.valvesoftware.com/wiki/SteamCMD
核心:数据卷映射实现持久化,备份脚本实现自动化,备份文件实现可迁移。Docker 部署的 Palworld 服务器,维护成本极低。