一台 Mod 化服务器的成败,就系在某个设置文件的两行上。写对了,服务器会自己下载、加载,并把同一份 Mod 列表发给每个进服的玩家;写错一行,失败往往是无声的:服务器照常启动,只是 Mod 不在。这篇讲清这两行、最常见的 ID 混淆、把新老指南劈成两半的反斜杠问题,以及「Workshop item version is different than the server's」报错的冷静修法。
配置文件: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 只出现一次。
两种 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 的已核实候选;从那里小步扩充,每加一批就重启验证一次。
玩家进不来:版本不一致
这个报错写的是「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 列表和服务器的确切构建号钉在玩家看得见的地方。进服问题有一半是玩家在错误分支或客户端过时,信息摆出来,这两样都能自助解决。
常见问题
玩家需要自己去订阅服务器的 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 车辆与武器保持运转

