返回 开服教程
僵尸毁灭工程开服14 min

《僵尸毁灭工程》专用服务器搭建与版本分支配置指南

介绍僵尸毁灭工程的版本分支、SteamCMD 安装、Java 堆内存、通信端口与模组标识,保留旧世界后再安排升级。

《僵尸毁灭工程》(Project Zomboid)专用服务器(Dedicated Server)支持多人离线常驻世界。由于游戏深度依赖物理同步、大量僵尸寻路和海量地图物品交互,服务端对内存分配、网络端口与 MOD 挂载顺序有明确规范。本文提供专用服务器的基础搭建、版本分支选择与运行调优指南。


一、硬件与分支架构选择

1. 稳定版与测试分支

Stable 和 Unstable 是发布通道,不是 B41 与 B42 的固定别名。官方 42.21 发布说明已确认 B42 进入稳定通道。安装前核对具体构建,客户端保持同版本。

分支类型 SteamCMD 参数 适用场景 切换前检查
默认稳定通道 不附加 beta 参数 小队长期世界 确认存档与模组适配该构建
Unstable 测试通道 -beta unstable 验证可用的预发布更新 使用独立实例与存档副本,不假定可以安全降级

2. 硬件资源基准

  • CPU:4 核 3.5GHz+ 推荐;僵尸集群寻路高度依赖单核与多核物理算力。
  • 内存 (RAM):基础占用约 6 GB;每增加一名活跃玩家及加载大型地图模组,建议预留 500MB~1GB 内存。
  • 存储:强烈建议安装于 SSD,防止大车队跨区域移动(Chunk 动态加载)时出现磁盘读写瓶颈引发的瞬时回弹。

二、通过 SteamCMD 部署服务端

1. 匿名拉取服务端

专服 AppID 为 380870。

  • 安装默认稳定版:
    Shell
    steamcmd +login anonymous +app_update 380870 validate +quit
    
  • 安装 Unstable 测试分支:
    Shell
    steamcmd +login anonymous +app_update 380870 -beta unstable validate +quit
    

2. 内存堆上限配置(JVM Heap Size)

使用服务端随附的启动脚本与 Java,修改其现有 JVM 参数;不要用下面的片段覆盖启动器 JSON。以 4 GB 初始堆、12 GB 最大堆为例:

Config
-Xms4096m -Xmx12288m

-Xmx 限制的是 Java 堆,不是进程总内存或物理内存上限;原生内存、线程栈和系统也需要余量。根据实际占用调整,参数定义见 Java 启动器文档。


三、网络通信与端口配置

现代 PZ 服务端已简化网络通信栈,不再使用早期的逐玩家 TCP 端口映射机制:

端口号 协议 作用说明 是否需端口转发
16261 UDP 主连接握手端口与 Master 状态广播 公网入口时映射
16262 UDP Steam 客户端网络直连与游戏数据同步 公网入口时映射

防火墙与路由器检查清单:

  1. 确保 Windows 防火墙已为 ProjectZomboid64.exe 放行 UDP 入站流量;
  2. 家用网络需在路由器中将外部 16261-16262 UDP 映射到服务器内网静态 IP;
  3. 同局域网玩家直接输入内网 IP(如 192.168.1.5:16261)加入,外网玩家输入公网 IP。

四、配置文件与 MOD 挂载规范

服务端数据默认存放在用户主目录下:

  • Windows: C:\Users\<用户名>\Zomboid\Server\
  • Linux: ~/Zomboid/Server/

1. 核心配置文件

  • <服务器名>.ini:管理连接、端口、密码、MOD 挂载与白名单规则。
  • <服务器名>_SandboxVars.lua:管理僵尸刷新率、停水断电时间、物资刷新与感染机制。
  • <服务器名>_spawnregions.lua:管理出生点区域划分。

2. 正确挂载创意工坊 MOD

下面仅示范字段格式,示例模组需先确认与所选版本兼容。在 <服务器名>.ini 中,分别配置 WorkshopItems 下载列表与 Mods 激活列表,并按作者要求设置模组依赖和加载顺序:

INI
WorkshopItems=2688809240;2392709985
Mods=Arsenal(26)GunFighter;Brita's Weapon Pack
  • WorkshopItems:模组在 Steam 创意工坊的纯数字 ID(服务端据此自动下载);
  • Mods:模组文件夹的 Mod-ID(游戏据此在世界中激活代码)。一个 Workshop 项目可能包含多个 Mod ID,不要假定两列总是一一对应;客户端和服务端应启用兼容版本。

五、用 LGSM 管理日常维护

僵毁换版本时,分支、模组与旧世界兼容性需要一起检查。LGSM 可以集中管理实例配置、运行日志与备份,但分支升级前仍应先验证当前存档和模组组合。

  • 记录客户端与服务端的具体版本,避免把稳定版或测试版名称当作固定的 B41/B42 对应关系。
  • 分别核对 Workshop ID 与 Mod ID,再检查各模组的依赖和加载顺序。
  • 迁移前保留世界、玩家数据和 INI/Lua 配置;崩溃时先读日志,避免直接清空缓存掩盖原因。

工具与文档:LGSM 产品页 · 项目仓库


六、长期运维高频故障处置

1. 报错:Server has terminated with code 1

  • 排查:退出码 1 本身不能定位原因;先读退出前日志,区分 Java 启动失败、内存分配、配置和模组错误。
  • 解决:日志若明确指向内存不足,检查可用资源并调整堆大小;否则按具体错误处理,不先扩大分页文件。

2. 玩家连接提示“文件与服务器不匹配 (File doesn't match the server)”

  • 原因:服务端与客户端的模组版本不一致,或服务端自动下载了新补丁而客户端未完成更新。
  • 解决:记录不匹配的文件与模组 ID,先让两端完成对应模组更新并重启;仍失败时保留日志与配置副本,再针对该模组修复下载,不直接清空整个 Workshop 目录。