《僵尸毁灭工程》服务器 Mod 指南(Build 42):WorkshopItems 与 Mods 两行、反斜杠之问与版本不一致修复

《僵尸毁灭工程》Build 42 的服务器 Mod 靠 servertest.ini 里的两行运转:WorkshopItems 管下载,Mods 管启用。本文讲清这两行、两种 ID 的来源、老指南为何在 Mod ID 前印反斜杠与现行文档的说法,以及工坊版本不一致报错的低风险修复顺序。

《僵尸毁灭工程》服务器 Mod 指南(Build 42):WorkshopItems 与 Mods 两行、反斜杠之问与版本不一致修复
本篇导航14 个章节

一台 Mod 化服务器的成败,就系在某个设置文件的两行上。写对了,服务器会自己下载、加载,并把同一份 Mod 列表发给每个进服的玩家;写错一行,失败往往是无声的:服务器照常启动,只是 Mod 不在。这篇讲清这两行、最常见的 ID 混淆、把新老指南劈成两半的反斜杠问题,以及「Workshop item version is different than the server's」报错的冷静修法。

夜里在 Zippee Market 门口碰面的两位幸存者:共享世界正是这一切的目的
  • 配置文件:servertest.ini,位于运行服务器的用户的 Zomboid/Server 文件夹

  • 工坊文件夹的游戏 AppID:108600

  • 默认端口:UDP 16261 与 16262

  • 适用版本:Build 42.21(当前稳定版)

驱动一切的两行

打开服务器的 INI 文件(默认名 servertest.ini;改过名的服务器用它自己的名字),找到这两行:

表格可左右滑动,查看完整内容。

行填什么做什么

WorkshopItems=

数字 Steam 工坊 ID,分号分隔

服务器在启动时下载这些包,进服的客户端也会被提示安装相同物品

Mods=

Mod 的内部 Mod ID,分号分隔

启用已下载的内容,让它真正在游戏里加载

用两个已核实的生活质量 Mod 举一个完整例子:

WorkshopItems=2313387159;2847184718

Mods=BetterSortCC;ProximityInventory

这是 Better Sorting 与 Proximity Inventory:第一行负责取,第二行负责开。两种经典失败正好镜像:只有工坊 ID、没有对应 Mod ID,包下得欢却永不加载;只有 Mod ID、没有对应工坊 ID,则无从加载。一个工坊物品里还可以装好几个独立 Mod,这种情况下,想启用几个就在 Mods= 里写几个 Mod ID,工坊 ID 只出现一次。

KI5 车系的两辆 M998 悍马与拖车:给服务器装 Mod 的经典理由

两种 ID 各从哪来

工坊 ID 就是物品页网址里的那个数字,多数描述底部还会以「Workshop ID:」再写一遍。Mod ID 是 Mod 的内部名:多数描述里印着「Mod ID:」,下载之后它也是 Mod 的 mod.info 文件里的 id= 一行。两者永远不能互换。Mod 的展示标题是第三样东西,两行里哪行都不填;「that DAMN Library」是按框架条目加载的,不是按它的标题。Mod 无声不加载时,Mods= 一行的拼写错误是头号嫌疑:看服务器日志(server-console.txt 与最新的 DebugLog),里面有服务器实际识别到的 Mod ID。

反斜杠之问

读过老一点的服务器指南,你会见过 Mods= 写成每个条目前带反斜杠的样子:

Mods=\BetterSortCC;\ProximityInventory

这种写法是真的存在过:在 Build 42 较早的时期,专用服务器要求这个反斜杠前缀,当时写的若干托管指南至今仍在印它,个别还坚持说现在依然必需。但现行稳定版的文档写的是普通 ID:pz-fans 针对 B42.19 的服务器设置与版本不一致指南、社区 wiki 的服务器页面、以及多家托管商现行的完整示例,都用不带装饰的写法;Pine Hosting 更是明说,现行 Build 42 版本已不再需要早期 Build 42 联机版本用过的那个前导反斜杠。所以:在 42.19 到 42.21 上,写普通 ID。如果你的租用面板或旧备份生成的是反斜杠形式、且 Mod 能正常加载,就别动一台正在好好工作的服务器;如果是全新搭建时 Mod 无声不加载,先把这一行改回普通 ID 并核对拼写,再考虑其他。还有一条路可以绕开这个问题:通过游戏内 Host 菜单搭建的服务器,其设置里有 Steam Workshop 面板,在那里装 Mod 时两行都会自动写好。

游戏内建服与专用服务器

表格可左右滑动,查看完整内容。

对比项游戏内 Host(合作)专用服务器

运行方式

寄生在房主的游戏客户端里

独立进程(Steam 工具或 SteamCMD),常放在租用的机器上

世界是否持续

否;房主下线世界就停

是;无人在线时时间、天气与尸群迁移照常推进

Mod 在哪设置

服务器设置界面,包括 Workshop 面板

编辑服务器 INI 的两行,或由托管面板代为编辑

适合

几个朋友、休闲局

公开服或长期运营的社区世界

两条规则对两者都成立。服务器在启动时下载它的 WorkshopItems,所以每次改 Mod 都包含一次重启。而客户端的 Mods 菜单不会同步专用服务器的 INI:玩家在本地启用了什么是本地的事,服务器要求什么是服务器的事,这也是进服流程要逐项核对列表的原因。

农舍门廊边看雨的幸存者:专用服务器的世界里,所有人离线时天气也在走

地图 Mod 还要多一行

地图 Mod 在两行之外多一个要求:地图的文件夹名还要写进服务器设置的 Map= 一行,放在「Muldraugh, KY」之前、分号分隔,让服务器在原版地图之前加载新区。和单人一样,地图要进开局名单;往已经存在的世界里加地图不受支持。

一份稳妥的起步名单

新服务器更适合先上一份短而无聊、人人都能跑的名单:先界面与生活质量类(Better Sorting、Proximity Inventory、Map Legend UI),再一个全队都同意的沉浸类,车辆则必须把它的框架库排在前面——库永远在依赖它的 Mod 之前。我们的 Build 42 最佳 Mod 清单里有带 ID 的已核实候选;从那里小步扩充,每加一批就重启验证一次。

Map Legend UI 自己的对比图:原版图例与它的紧凑图例

玩家进不来:版本不一致

这个报错写的是「Workshop item version is different than the server's」,意思只有一件:至少有一个工坊物品,客户端下载的副本与服务器下载的副本不是同一个构建。它是逐物品的过时问题,不是版本买错了,也不是 Mod 坏了。进服流程的 Server Workshop Items 界面会告诉你卡在哪个物品、该怀疑哪一侧:

表格可左右滑动,查看完整内容。

显示状态含义下一步

Not Subscribed

这个客户端还没有订阅该物品

在该界面安装/订阅,等下载完再进

Downloading

还在下载中

等待;下载中途关 Steam 会把不一致再造出来

Update Required

Steam 那里有这个物品的更新版本待装

退出游戏,彻底重启 Steam,等更新完成再进

Installed

客户端这份看起来没问题

多半是服务器那份过时了;房主应重启服务器

Error

该物品检查失败

记下工坊 ID,按下面的顺序修

修复顺序,从低风险开始:

1. 对齐游戏构建。客户端与服务器必须同构建、同 Steam 分支;分支不一致不是清缓存能解决的。

2. 客户端一侧:彻底重启 Steam,让排队中的工坊更新装完,再重新进服。

3. 服务器一侧:干净地停服再重启。房主服与专用服都在启动时拉取 WorkshopItems;一台 Mod 更新后从不重启的长开服务器,是这个报错最常见的原因:每个先更新好的客户端都会撞上服务器的旧副本。

4. 核对两份列表。服务器的 WorkshopItems 与 Mods 应与客户端预期运行的一致,依赖也算在内。

5. 只剩一个 ID 顽固不化时:停掉游戏与服务器,只删 steamapps/workshop/content/108600/ 下面那一个物品的文件夹,让它重新下载。

6. 最后手段:删掉整个 108600 内容文件夹连同 appworkshop_108600.acf,强制这台机器上的全部《僵尸毁灭工程》Mod 重新下载。先备份;并且要预期你玩的每个服务器都会重新拉全套列表。

诺克斯县乡间公路上的撞车现场:持续世界会积累历史

更新 Mod 而不弄崩服务器

工坊作者按自己的节奏更新 Mod,而上面的不一致机制意味着时机要紧。实用的服务器卫生习惯:

  • 知道某个 Mod 更新了,先重启服务器,再让玩家去撞不一致。

  • 加 Mod、删 Mod 时两行一起改;任何一行留下的孤儿条目,都是明天的工单。

  • 永远不要手改工坊内容文件夹里的文件。Steam 刷新时会覆盖掉它们,本地修法会消失,还可能让你与所有人版本不一致。

  • 游戏大补丁之后,等 48 到 72 小时再重建大名单。作者需要时间跟进,42.20.x 的热修此前就改过 Mod 依赖的规则。

  • 把 Mod 列表和服务器的确切构建号钉在玩家看得见的地方。进服问题有一半是玩家在错误分支或客户端过时,信息摆出来,这两样都能自助解决。

Authentic Z 的服装范围:这个体量的内容 Mod,正是更新时机成为服务器政策的原因
errorMagnifier 的报告:每条报错都写明来源 Mod,可直接贴进求助帖

常见问题

玩家需要自己去订阅服务器的 Mod 吗?

进服流程会带着他们走:Server Workshop Items 界面列出服务器的要求及每个物品在其账号上的状态,可以直接在那里安装。他们仍然需要启用对应的 Mod,而以什么为准,看服务器的列表。

能给已经在跑的服务器世界加 Mod 吗?

大多数可以:两行加上,重启,进服。往世界里刷的内容出现在世界尚未生成过的区域,与单人的未访问区块规则相同。地图 Mod 是例外,属于新世界。

某个 Mod 单人能用、服务器上不行,为什么?

按这份短清单查:它的工坊 ID 在 WorkshopItems 里吗?它确切的 Mod ID 在 Mods 里吗?它需要的框架排在它前面吗?改完之后服务器重启了吗?几乎每个案例都出在这四条里。

servertest.ini 在哪?

在运行服务器的那个用户的 Zomboid 用户文件夹里的 Server 文件夹:Windows 是 C:\Users\<用户名>\Zomboid\Server\,Linux 与 macOS 是 ~/Zomboid/Server/。用其他名字创建的服务器,用的是那个名字对应的 INI 与配套文件。要在真正运行服务器的那台机器上改这些文件。

相关攻略

  • Build 42 最佳 Mod 精选:带 ID 的已核实名单

  • Build 42 Mod 安装全解:启用、存档规则与加载顺序

  • 维修技能指南:让 Mod 车辆与武器保持运转