关于如何设置《Project Zomboid》在线游戏服务器的教程
本文将介绍如何搭建 Project Zomboid 游戏服务器,重点讲解面向玩家和服务器管理员的安装、配置和优化。.

关于如何设置《Project Zomboid》在线游戏服务器的教程

本文提供了一套完整的《Project Zomboid》在线游戏服务器搭建教程。通过学习如何安装、配置和优化性能,您可以为玩家创建一个稳定安全的服务器。.
0 股票
0
0
0
0

前提条件和服务器选择

本节提供设置服务器的基本要求和硬件建议。 僵尸毁灭工程 我们回顾了所提出的分布。 Ubuntu 20.04/22.04 或者 Debian 11/12 它们以经过测试且稳定的游戏服务器而闻名。.

推荐硬件资源:

  • 最多 10 名玩家: 2-4 个虚拟 CPU4-8 GB 内存固态硬盘
  • 10-50名玩家或多种游戏模式: 4个以上虚拟CPU8GB以上内存
  • 笔记: 模组和服务器渲染需要更多内存和 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.service

Java优化和内存分配

为了获得更佳性能,请使用合适的参数运行 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

要核实信息来源,可以使用诸如以下工具: htopiotop 以及 netstat。在专业环境中,可以使用 Prometheus + Grafana 或云监控服务。.

测试连接性和排除常见问题

玩家通常通过 IP:端口 或者 Steam 服务器列表会连接。如果连接失败:

  • 检查端口(例如: ufw 状态 或者 sudo ss -ulnp | grep 16261).
  • 检查NAT和转发设置。.
  • 检查服务器日志中是否存在 Java 模式或版本错误。.
  • 服务器和客户端上的模组版本必须一致。.

选址及实用建议

为了获得最低延迟,请选择靠近大多数玩家的服务器:

  • 中欧对欧洲玩家而言意义重大
  • 美国玩家可以选择东美洲或西美洲。
  • 亚洲(新加坡/日本)面向亚洲玩家

提供的服务 全球85多个地点游戏 VPS 和反 DDoS 服务器允许您将服务器部署在更靠近玩家的位置,以减少延迟和卡顿。.

更多技巧和最佳配置

  • 自动更新:编写脚本,在更新前进行备份。.
  • 使用快照功能可以在云服务器上快速回滚。.
  • 通过负载测试(用户或机器人测试)检查服务器行为。.
  • 维护模式和配置变更的文档。.

结论: 按照以上步骤,您可以搭建一个稳定、安全且可扩展的《Project Zomboid》服务器。我们涵盖了从安装 SteamCMD 和配置文件到管理模组和备份等所有内容。.

常见问题解答

您可能也喜欢

战神2游戏剧情

引言:奎托斯,这位曾经的凡人战士,击败了战神阿瑞斯,成为了新的战神。然而……