Project Zomboid 专用服务器(App ID 380870)可通过 SteamCMD 在 Windows 或 Linux 上免费安装。根据玩家与 Mod 数量需要 4–8 GB 内存,耗时约 15–30 分钟。Build 41 为稳定分支,Build 42(测试版)的世界与 B41 不兼容。
分步安装
选择机器:至少 4 GB 内存,Mod 或玩家多时需要更多。
安装 SteamCMD。
使用 app_update 380870 validate(anonymous 登录)安装服务器。
运行 start-server.sh(Linux)或 StartServer64.bat(Windows)。
首次启动时输入 admin 账号的密码。
停止服务器并编辑 Zomboid/Server/servertest.ini 与 servertest_SandboxVars.lua。
开放 UDP 16261 和 16262 端口(防火墙、服务商、路由器)。
先连接 127.0.0.1(本地)再连接公网 IP 进行测试。
配置自动启动(systemd 或计划任务)。
安排更新、Zomboid/ 备份和重启。
系统要求
- 64 位 Windows 或 Linux(Ubuntu/Debian)
- 内存:通过启动脚本/JSON 中的 -Xmx 设置(如 -Xmx8g);Build 42 需要更多
- 下载无需 Steam 账号(anonymous)
本地安装(Windows)
请使用 64 位启动器(StartServer64.bat),不要用 32 位。配置文件会生成在 C:\Users\<用户>\Zomboid\Server\(默认服务器名 servertest)。在游戏中选择加入并连接 127.0.0.1。
C:\steamcmd\steamcmd.exe +force_install_dir C:\pzserver +login anonymous +app_update 380870 validate +quit
cd C:\pzserver
.\StartServer64.batLinux VPS 安装(Ubuntu/Debian)
创建专用的非 root 用户,安装 SteamCMD(Ubuntu 需启用 multiverse 与 i386),然后安装并运行。配置位于 ~/Zomboid/Server/,服务器名(文件前缀)用 -servername 指定。
sudo adduser --disabled-password --gecos "" pz
sudo add-apt-repository multiverse && sudo dpkg --add-architecture i386 && sudo apt update
sudo apt install -y steamcmd
sudo -iu pz
/usr/games/steamcmd +force_install_dir /home/pz/server +login anonymous +app_update 380870 validate +quit
cd /home/pz/server && ./start-server.sh -servername servertest需开放的端口
servertest.ini 中 DefaultPort 为 UDP 16261,下一个端口(16262)自动分配;修改 DefaultPort 会整体移动。RCON(RCONPort,示例文件中为 27015)在设置 RCONPassword 之前保持禁用。部分教程还提到 Steam 的 UDP 端口(8766-8767),此处未获官方确认,请查看你的 servertest.ini。家用路由器做端口转发(NAT);OVH、Hetzner、Scaleway 需在服务商防火墙/安全组放行,并从其他网络测试。
- 16261/UDP — game (DefaultPort)
- 16262/UDP — DefaultPort + 1, assigned automatically
- 27015/TCP — RCON (RCONPort, optional)
Linux 防火墙(ufw)
启用 ufw 前先允许 SSH。
sudo ufw allow OpenSSH
sudo ufw allow 16261:16262/udp
sudo ufw enableWindows 防火墙
管理员 PowerShell:
netsh advfirewall firewall add rule name="Zomboid" dir=in action=allow protocol=UDP localport=16261-16262systemd 服务(自动启动)
创建 /etc/systemd/system/zomboid.service,然后执行 sudo systemctl enable --now zomboid。Windows 上创建“开机时”运行 StartServer64.bat 的计划任务。
[Unit]
Description=Project Zomboid Server
After=network-online.target
Wants=network-online.target
[Service]
User=pz
WorkingDirectory=/home/pz/server
ExecStart=/home/pz/server/start-server.sh -servername servertest
Restart=on-failure
RestartSec=15
[Install]
WantedBy=multi-user.target更新与备份
停止服务器,备份 ~/Zomboid(配置及 Saves/Multiplayer 中的世界),重新运行 app_update 后重启。游戏也提供自动备份(servertest.ini 中的 BackupsCount、BackupsOnStart)。
sudo systemctl stop zomboid
tar czf ~/zomboid-backup-$(date +%F).tar.gz -C /home/pz Zomboid
sudo -u pz /usr/games/steamcmd +force_install_dir /home/pz/server +login anonymous +app_update 380870 validate +quit
sudo systemctl start zomboid
# crontab -e (root) : 0 5 * * * systemctl restart zomboid发布服务器
设置 Public=true 和 PublicName 即可出现在游戏内列表;否则玩家通过 IP:16261 连接。也请把服务器添加到 game-rank.com/jeux/project-zomboid。
故障排查
- 外网无法连接:UDP 16261-16262 未开放(防火墙、服务商或 NAT)。
- Mod 未加载:确认 WorkshopItems(数字)和 Mods(Mod ID)都已用分号填写。
- 内存不足/崩溃:提高启动脚本或 JSON 中的 -Xmx,Mod 多时尤其需要。
- 世界丢失或不兼容:Build 42 与 Build 41 世界不通用,请保持同一分支。
- 无法修改配置:文件在用户目录的 Zomboid/Server/ 而非安装目录,请在服务器停止时编辑。
常见问题
- Project Zomboid 服务器的 App ID 是多少?
- 380870(游戏本体为 108600):steamcmd +login anonymous +app_update 380870 validate +quit。
- 需要开放哪些端口?
- UDP 16261(DefaultPort)和 UDP 16262;仅启用 RCON 时才开放 TCP 27015。
- 管理员密码在哪里设置?
- 首次启动时控制台会要求设置 admin 账号密码(可使用所有管理命令),请妥善保管。
- Build 41 还是 Build 42?
- Build 41 是默认稳定分支;Build 42 是可选测试分支,其世界不兼容。迁移前请确认当前分支。
