饥荒联机版服务器端MOD应用的关键,是把创意工坊ID写进专用服务器的 mods/dedicated_server_mods_setup.lua,再在 Master 和 Caves 的 modoverrides.lua 中启用并填参数,最后重启服务器。 只订阅不配置,服务器不会替玩家加载MOD。
饥荒联机版服务器端MOD怎么应用:先分清三类MOD
很多人卡在第一步:把“订阅”当成“装好”,客户端订阅只是把MOD下到本地,专用服务器读的是另一套配置,据Klei官方文档,专用服务器通过 dedicated_server_mods_setup.lua 拉取创意工坊内容,再用 modoverrides.lua 决定启不启用。
先看 modinfo.lua 里的字段,基本能判断一个MOD该怎么处理:
| MOD类型 | 常见字段表现 | 服务器是否加载 | 玩家是否必须装 | 典型场景 |
|---|---|---|---|---|
| 客户端专用MOD | client_only_mod = true |
不加载 | 玩家自己装 | 界面美化、显示类 |
| 服务器逻辑MOD | all_clients_require_mod = false |
加载 | 通常不需要 | 掉落调整、世界规则 |
| 双端必需MOD | all_clients_require_mod = true |
加载 | 必须装 | 新增物品、角色、机制 |
这张表比背命令有用,你拿到一个MOD,先看它属于哪类,客户端专用MOD塞进服务器配置,服务器不会生效;双端必需MOD只装在服务器,玩家进服会提示缺失。
服务器MOD的目录和配置关系
专用服务器的MOD链路就三处,别绕晕:
- 下载表:
mods/dedicated_server_mods_setup.lua,负责告诉服务器去创意工坊拿哪些ID。 - 启用表:
Cluster_1/Master/modoverrides.lua和Cluster_1/Caves/modoverrides.lua,负责启用MOD、写配置参数。 - MOD本体:
mods/workshop-xxxx目录,由服务器启动时拉取,一般不用手动复制。
实操顺序可以照这个走:
- 用SteamCMD安装专用服务器,应用ID是
343050,安装后进入mods目录。 - 编辑
dedicated_server_mods_setup.lua,加入ServerModSetup("创意工坊ID"),合集用ServerModCollectionSetup("合集ID")。 - 在
Master/modoverrides.lua写启用表,洞穴也开的话,复制到Caves/modoverrides.lua,只开主世界,Caves写return {}也行。 - 重启服务器,看控制台有没有下载和加载MOD的日志。
启用表长这样,注意ID前要加 workshop-:
return {
["workshop-123456789"] = {
enabled = true,
configuration_options = {
-- 按MOD作者文档填参数
},
},
}
Master 和 Caves 两个分片都要放 modoverrides.lua,这一步最容易翻车,只改主世界,下洞穴就可能报MOD缺失或配置不一致。
饥荒联机版服务器MOD不生效怎么办
先别急着重装,多数情况是配置链路断了一环,按下面顺序排查,基本能定位:
- 只订阅没写下载表:服务器根本没拉MOD,客户端订阅再多也没用。
- ID写错或少前缀:
dedicated_server_mods_setup.lua用纯数字ID,modoverrides.lua用workshop-数字ID。 - 启用表语法错:Lua表少逗号、少括号,服务器会整段忽略,改完用本地Lua环境或重启看报错。
- 只改Master没改Caves:主世界正常,一下洞穴就缺MOD。
- 把客户端MOD当服务器MOD:
client_only_mod = true的MOD不会在服务器加载。 - 双端必需MOD玩家没装:
all_clients_require_mod = true时,玩家客户端也要订阅。 - 权限或网络拉取失败:
mods目录不可写、云服务器连创意工坊不稳定,都会导致下载失败。
看日志比猜快,专用服务器启动时的控制台输出、Master/server_log.txt 和 Caves/server_log.txt 都会记录MOD下载与加载情况,业内专家指出,多数MOD问题不是MOD本身坏了,而是配置表没同步到两个分片。
饥荒联机版本地服务器和云服务器MOD区别
本地开主机和云服务器开专用服,MOD配置逻辑一样,差别在运行方式和维护成本,行业共识认为,长期联机优先专用服务器,本地主机更适合调试和临时玩。
| 对比项 | 本地服务器/房主主机 | 云服务器专用服 |
|---|---|---|
| MOD配置位置 | 本机存档Cluster目录 | 云服务器~/.klei下的Cluster目录 |
| 在线稳定性 | 房主掉线世界停 | 持续在线,适合长期档 |
| 性能占用 | 吃房主电脑资源 | 吃云服务器配置 |
| 排查难度 | 路径直观,改完重启快 | 要登录远程、看日志、放行端口 |
| 适合场景 | 测试MOD、短局 | 固定队伍、洞穴常开、多MOD |
实际场景很常见:几个人周末开长期档,房主用自己电脑开主机,朋友一掉线世界就停;换云服务器后,MOD配置忘了从Master复制到Caves,下洞穴就报错,问题不在云服务器,而在配置没同步。
饥荒联机版云服务器装MOD教程:从本地上传到云端
云服务器装MOD不神秘,把它当成“把本地跑通的配置搬上去”,推荐先在本地专用服务器跑通,再上云,能少走很多弯路。
- 本地测试:用本地专用服务器启动一次,确认MOD能下载、能启用、玩家能进。
- 上传目录:把
Cluster_1整个目录传到云服务器~/.klei/DoNotStarveTogether/下。mods/dedicated_server_mods_setup.lua也要带过去。 - 安装服务端:云服务器用SteamCMD安装
343050,路径记清楚,启动脚本指向对应二进制。 - 检查权限:
mods目录和Cluster目录要给运行用户写权限,否则下载和存档都会出问题。 - 放行端口:主世界常用UDP 10999,洞穴常用UDP 11000,Steam查询端口也按服务端配置放行。
- 启动验证:先起Master,再看Caves,控制台出现MOD加载信息,再让玩家进服测试。
启动命令因安装路径不同会有差异,常见形式是:
./dontstarve_dedicated_server_nullrenderer -console -cluster Cluster_1 -shard Master
洞穴分片把 -shard Master 换成 -shard Caves,用systemd托管时,把工作目录、启动用户和环境变量写清楚,重启服务就能触发MOD更新检查。
饥荒联机版云服务器装MOD多少钱才合理
看到“云服务器装MOD多少钱”这类问题,先别只盯价格,费用受CPU、内存、带宽、地区、计费方式影响,国内云服务器和海外云服务器差异也不小,MOD多、洞穴常开、玩家数量多,内存和CPU要留余量,低配机器能启动,不代表长期稳定。
更合理的判断方式是:先算固定队伍人数和MOD数量,再选配置,只开主世界、MOD不多,入门配置可能够用;洞穴常开、大型整合MOD多,配置要往上走。价格不是唯一指标,磁盘IO、网络线路和可维护性同样重要。 买之前用本地或按量计费实例压测一次,比看宣传页靠谱。
MOD冲突与更新维护
MOD冲突的典型表现是进服崩溃、物品消失、洞穴和主世界不同步,排查时先做减法:
- 关掉最近新增的MOD,重启验证。
- 双端必需MOD确认玩家客户端版本一致。
- 检查两个分片的
modoverrides.lua是否一致。 - 看崩溃日志里最后加载的MOD,再逐个启用。
- 更新MOD后重启服务器,让
ServerModSetup重新拉取。
创意工坊MOD更新后,专用服务器通常重启时检查更新,想锁定版本,就别随意改下载表;想追新,维护窗口里重启并备份存档。先备份 Cluster_1,再动MOD配置,这是长期服的基本习惯。
把配置链路走通,服务器端MOD就稳了:下载表负责拿MOD,启用表负责开MOD,Master和Caves负责保持一致。先本地跑通,再上云长期开服,比反复重装更省时间。
Q&A:饥荒联机版服务器端MOD怎么应用常见问题
服务器端MOD需要每个玩家都订阅吗?
看 all_clients_require_mod,为 true 时,服务器和玩家客户端都要有;为 false 时,通常服务器加载即可。client_only_mod = true 的MOD服务器不加载,由玩家本地负责。
创意工坊MOD更新后服务器要手动更新吗?
多数情况下重启专用服务器就会触发检查,服务器读取 dedicated_server_mods_setup.lua 中的ID,从创意工坊拉取更新,更新前备份存档,避免MOD变更影响现有世界。
云服务器装MOD需要重新开档吗?
不需要,把原Cluster目录和 mods 配置搬过去,保证路径、权限和端口正确即可,新增MOD可能改变世界机制,启用前先备份,专用服务器读取的是 modoverrides.lua 中的启用表,而不是客户端订阅列表。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/791494.html


