前提条件和服务器选择
本节提供设置服务器的基本要求和硬件建议。 僵尸毁灭工程 我们回顾了所提出的分布。 Ubuntu 20.04/22.04 或者 Debian 11/12 它们以经过测试且稳定的游戏服务器而闻名。.
推荐硬件资源:
- 最多 10 名玩家: 2-4 个虚拟 CPU, 4-8 GB 内存固态硬盘
- 10-50名玩家或多种游戏模式: 4个以上虚拟CPU, 8GB以上内存
- 笔记: 模组和服务器渲染需要更多内存和 CPU;对于高负载应用,请使用计算服务器或图形服务器。.
玩家需要使用最新版本的操作系统、root 或 sudo 权限以及开放的端口才能访问播放器。.
安装基本软件包示例(Ubuntu/Debian)
sudo apt update && sudo apt install -y openjdk-11-jre-headless steamcmd screen unzip htop fail2ban rsync解释: 根据游戏版本选择 Java 版本(通常 OpenJDK 11 兼容)。如有需要,请使用 OpenJDK 17。.
创建专用用户和目录结构
建议以非root用户身份运行游戏服务器。 安全隔离 并简化权限管理。.
sudo useradd -m -s /bin/bash pzserver
sudo passwd pzserver
sudo mkdir -p /home/pzserver
sudo chown -R pzserver:pzserver /home/pzserver使用 SteamCMD 下载并安装专用服务器
从服务器下载文件 SteamCMD Project Zomboid 支持 Steam 创意工坊的模组。.
sudo -u pzserver steamcmd +login anonymous +force_install_dir /home/pzserver +app_update 380870 validate +quit解释: 如果遇到不同的 appid,请查看 SteamCMD 日志或官方游戏文档。.
创建和编辑服务器配置文件
主要的配置文件通常位于安装文件夹中。文件名可能包括 servertest.ini、server.ini 或 serverconfig.lua。.
servertest.ini 中的基本设置示例
# servertest.ini (sample)
Public=true
ServerName=MyPZServer
ServerPort=16261
MaxPlayers=32
Password=MySecretPass
RCONPort=16262根据您的需要选择端口,并在防火墙中打开它们。测试所有更改并重启服务。.
打开端口并配置防火墙(UFW 和 iptables)
开始之前,请先在防火墙配置文件中打开指定的端口。例如,使用 UFW 防火墙:
sudo ufw allow OpenSSH
sudo ufw allow 16261/udp
sudo ufw allow 16262/udp
sudo ufw enable
sudo ufw status某些安装可能需要 TCP 端口;请检查服务器日志。如果服务器位于 NAT 之后,请在路由器上设置端口转发。.
安装模组(Steam创意工坊)
安装模组有两种常见方法:直接使用 SteamCMD 下载,或者通过客户端订阅创意工坊并将模组文件夹复制到服务器。.
方法一:使用 SteamCMD 下载模组
sudo -u pzserver steamcmd +login anonymous +workshop_download_item 108600 <ITEMID> +quit安装完模组后,请根据模组的文档填写 server/mods 或 server/WorkshopItems.txt 文件,然后重启服务器。.
运行服务器(screen/systemd)
为了快速执行,您可以使用 屏幕 使用或创建 systemd 服务来自动运行服务器。.
屏幕示例
sudo -u pzserver screen -S pzserver
cd /home/pzserver
./start-server.sh退出屏幕: Ctrl+A 然后 D. 返回: sudo -u pzserver screen -r pzserver.
示例 systemd 服务
sudo tee /etc/systemd/system/pzserver.service > /dev/null <<'EOF'
[Unit]
Description=Project Zomboid Server
After=network.target
[Service]
Type=simple
User=pzserver
WorkingDirectory=/home/pzserver
ExecStart=/bin/bash -lc './start-server.sh'
Restart=on-failure
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now pzserver.service
sudo systemctl status pzserver.serviceJava优化和内存分配
为了获得更佳性能,请使用合适的参数运行 JVM。以下是一个应根据内存和性能测试情况设置的通用示例:
java -Xms4G -Xmx6G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication -jar ProjectZomboidServer.jar笔记: 根据服务器内存和玩家数量设置 Xmx 值。通常针对每个玩家进行设置。 150-400 MB 请注意:模组会增加消耗。.
备份
定期备份玩家和世界存档,并将备份发送到远程位置(远程备份或云存储)。.
每日备份的 cron 示例
sudo crontab -u pzserver -e
# Example using rsync
0 3 * * * /usr/bin/rsync -a --delete /home/pzserver/Saves /backups/pzserver/$(date +\%F)/
# Or using tar
0 2 * * * /bin/tar -czf /backups/pzserver/saves_$(date +\%F).tar.gz -C /home/pzserver Saves安全和DDoS防护
安全建议包括设置服务器密码,使用 失败2禁止 它用于 SSH 保护和定期系统更新。.
- 使用反DDoS服务或多层防火墙来抵御攻击。.
- 限制对 RCON 或管理工具的访问,仅限特定 IP 地址。.
公司 85+ 个地点 他们提供的 BGP/Anti-DDoS 基础设施可以提供重要的保护。.
监控和日志记录
日志通常位于 /home/pzserver/logs 或类似文件夹中;要实时查看日志,请使用 tail -f 命令:
tail -f /home/pzserver/console.txt要核实信息来源,可以使用诸如以下工具: htop, iotop 以及 netstat。在专业环境中,可以使用 Prometheus + Grafana 或云监控服务。.
测试连接性和排除常见问题
玩家通常通过 IP:端口 或者 Steam 服务器列表会连接。如果连接失败:
- 检查端口(例如:
ufw 状态或者sudo ss -ulnp | grep 16261). - 检查NAT和转发设置。.
- 检查服务器日志中是否存在 Java 模式或版本错误。.
- 服务器和客户端上的模组版本必须一致。.
选址及实用建议
为了获得最低延迟,请选择靠近大多数玩家的服务器:
- 中欧对欧洲玩家而言意义重大
- 美国玩家可以选择东美洲或西美洲。
- 亚洲(新加坡/日本)面向亚洲玩家
提供的服务 全球85多个地点游戏 VPS 和反 DDoS 服务器允许您将服务器部署在更靠近玩家的位置,以减少延迟和卡顿。.
更多技巧和最佳配置
- 自动更新:编写脚本,在更新前进行备份。.
- 使用快照功能可以在云服务器上快速回滚。.
- 通过负载测试(用户或机器人测试)检查服务器行为。.
- 维护模式和配置变更的文档。.
结论: 按照以上步骤,您可以搭建一个稳定、安全且可扩展的《Project Zomboid》服务器。我们涵盖了从安装 SteamCMD 和配置文件到管理模组和备份等所有内容。.









