本文只讲 Linux 系统开服。用 Windows 的朋友请转:《僵尸毁灭工程开服保姆级教程(Windows版)》→ https://z0w.cn/wiki/project-zomboid-server-guide-windows.html
Linux 系统准备见:《Linux 云服务器开服通用前置教程》→ https://z0w.cn/wiki/linux-gameserver-setup.html
PZ 服务端在 Linux 上是官方原生支持的,用 start-server.sh 就能跑,比很多只有 Windows 版的游戏省心。
一、开服前必读:三个坑
坑 1:端口要开全
UDP 16261(游戏)+ 16262(查询),另外 Steam 通信还要 8766 和 27016。
坑 2:模组必须两端一致
服务端和客户端模组不一致会导致玩家卡在连接界面。
坑 3:32 位库要装
PZ 服务端依赖 32 位的 Steam 客户端库,缺了会启动失败。
二、配置与端口规划
| 项目 | 要求 |
|---|---|
| 系统 | Ubuntu 22.04 / Debian 12 |
| CPU | 2-4 核 |
| 内存 | 4 人原版:3G | 8 人带模组:6-8G |
| 硬盘 | 20G SSD |
端口表:UDP 16261、16262、8766、27016。
三、安装依赖
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 libcurl4-gnutls-dev:i386 openjdk-17-jre-headless screen创建专用用户:
sudo useradd -m -s /bin/bash pz
sudo passwd pz
sudo su - pz四、SteamCMD 下载服务端
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
./steamcmd.sh +quit
./steamcmd.sh +force_install_dir /home/pz/pzserver +login anonymous +app_update 380870 validate +quit五、首次启动与配置
cd /home/pz/pzserver
chmod +x start-server.sh
./start-server.sh首次启动会要求设置管理员密码,并询问是否生成默认配置,输入 y。
完成后输入 quit 停服,去改配置:
nano ~/Zomboid/Server/servertest.ini关键项:
Public=true
PublicName=我的僵尸服
PublicDescription=和朋友一起生存
Port=16261
DefaultPort=16261
UDPPort=16262
MaxPlayers=8
Password=
PauseEmpty=false
Open=true
WorkshopItems=2282423496;1234567890WorkshopItems 用分号分隔各个模组 ID。六、启动脚本
创建 /home/pz/pzserver/start.sh:
#!/bin/bash
cd /home/pz/pzserver
exec ./start-server.shchmod +x /home/pz/pzserver/start.sh七、放行端口
sudo ufw allow 16261/udp
sudo ufw allow 16262/udp
sudo ufw allow 8766/udp
sudo ufw allow 27016/udp
sudo ufw reloadNAT 型服务器还要在服务商控制台映射。详见:《NAT 端口映射完全指南》→ https://z0w.cn/wiki/nat-port-forwarding-guide.html
八、screen 常驻
PZ 服务端自带交互式控制台,用 screen 最方便(可以随时连回去敲命令):
screen -S pz
/home/pz/pzserver/start.sh
# Ctrl+A 然后 D 脱离
screen -r pz # 想回控制台时执行开机自启:创建 /etc/systemd/system/pz.service:
[Unit]
Description=Project Zomboid Server
After=network-online.target
[Service]
Type=simple
User=pz
WorkingDirectory=/home/pz/pzserver
ExecStart=/home/pz/pzserver/start-server.sh
ExecStop=/bin/kill -INT $MAINPID
Restart=on-failure
RestartSec=20
[Install]
WantedBy=multi-user.target注意:PZ 服务端有交互式控制台,用 systemd 接管后控制台命令需要通过 RCON 或直接在启动脚本里传参。想保留控制台就优先用 screen。
sudo systemctl daemon-reload
sudo systemctl enable pz
sudo systemctl start pz九、客户端进服
游戏主菜单 → Join → Favorites → 添加服务器,输入 外网IP:外网端口。
十、控制台常用命令
servermsg "服务器5分钟后重启"
players
save
quit
adduser 用户名 密码
banuser 用户名用 screen 时直接敲;用 systemd 时需要另配 RCON。
十一、更新与备份
systemctl stop pz
/home/pz/steamcmd/steamcmd.sh +force_install_dir /home/pz/pzserver +login anonymous +app_update 380870 +quit
systemctl start pz存档在 ~/Zomboid/Saves/,更新前务必备份。详见:《存档备份与自动维护教程》→ https://z0w.cn/wiki/game-server-backup-guide.html
十二、常见问题
Q:启动报缺 libsteam_api.so?
服务端目录下缺 32 位 Steam 库,一般是依赖没装全,回到第三节重装。
Q:列表看不到服务器?
16262 没放行;Public=true;等几分钟让 Steam 刷新。
Q:玩家卡在连接界面?
模组不一致,检查 WorkshopItems 和玩家订阅。
Q:内存占用持续上涨?
PZ 长时间运行会有内存增长,配定期重启(每周一次)。
十三、总结
| 项目 | 值 |
|---|---|
| AppID | 380870 |
| 游戏端口 | UDP 16261 |
| 查询端口 | UDP 16262 |
| Steam 端口 | UDP 8766 / 27016 |
| 启动脚本 | start-server.sh |
| 配置目录 | ~/Zomboid/Server/servertest.ini |
| 存档目录 | ~/Zomboid/Saves/ |
| Linux 支持 | ✅ 原生 |
📌 有问题评论区见。
我们家的云服务器内存给得足,装一打模组也不虚;NAT 型价格更省,控制台自助映射端口 → 财富云计算 https://z0w.cn
延伸阅读
- 网站环境怎么选:LNMP 手动 / 宝塔面板 / Docker / 云开发
- 问卷表单系统搭建:SurveyKing / Formbricks,数据自己收
- 图床搭建:Lsky Pro / Lychee,自托管图片托管方案
- 邮件列表搭建:listmonk 自托管 Newsletter,把读者握在自己手里
- 文档站点搭建:MkDocs / VuePress / Docsify,产品文档与技术手册方案
- RSS 阅读器搭建:FreshRSS 自托管,把信息流拿回自己手里
- 短链接服务搭建:Shlink 自托管,链接数据自己掌握
- 网站状态监控页搭建:Uptime Kuma,服务器挂了第一时间知道

[...]这是本站长期维护的游戏配置与教程总索引。想开服,先在这页搞清楚两件事:你的游戏要吃多少配置、你的系统该看哪篇教程。建议收藏——换游戏、加 MOD、人数变多时,回来核对一遍能省掉大部分"卡爆了"和"连不上"。搭配阅读:还没买服务器?先看购前决策索引(预算分级 / NAT vs 独立 IP / 避坑清单);端口映射看不懂?先看端口速查表(40+ 游戏端口协议一页查清)。一、全游戏配置需求速查表下表按"[...]
2026-10-18 回复