目录

饥荒服务器MOD的安装

注意
本文最后更新于 2017-02-17,文中内容可能已过时。

注意,本文安装的MOD是服务器或服务器客户端都要安装的MOD。如果仅仅是客户端MOD,直接订阅就行了,和服务器配置无关。

获取MOD

首先在创意工坊里,订阅想要安装的MOD,Steam平台就会自动下载安装到饥荒客户端里。

即使游戏没有关闭,重新进入里面的MOD菜单,就会看到列表里有新的MOD。 这样就说明MOD下载完成了。

配置MOD(可选)

如果你下载的服务器MOD需要进行一些配置,请创建一个新世界,或者找一个不玩的世界,在MOD里勾上新下载的MOD,然后进行设置。

设置完后,进入一次世界,进到选人那里就可以退出了。选了人进去玩也不要紧。

安装MOD

首先找到饥荒游戏的位置,默认是在Steam安装目录下的 steamapps\common\Don't Starve Together 里面有一个mods文件夹,我们订阅过的MOD都在这里。

如果有很多个MOD,怎么找到刚才订阅的那个mod? 这里利用一个小技巧,让这些文件夹按修改时间升序或者降序排列,第一个或最后一个以workshop开头命名的,就是刚才订阅的mod。

然后为了确保准确无误,我们进去它里面,使用记事本打开看一下它的modinfo.lua文件,看看这个mod的描述信息是不是刚才下载的MOD。

确保无误后,将这个mod文件夹workshop-XXXXXXX以你自己喜欢的方式,上传到服务器对应的饥荒服务器下的mods目录。

顺便记下文件夹的名字,主要是workshop-后半部分的那一串数字。

至此服务器上就有这个MOD了。

启用MOD

新的世界

运行游戏,创建一个世界,设置好密码,地图大小,打开地穴等等。然后在MOD里的服务器MOD勾上刚才订阅的MOD,然后进到选人界面就可以了。 这样生成出来的Cluster文件夹是已经启用了刚才订阅的MOD的,然后把这个文件夹上传到服务器。

启动服务器时,请务必确保启动脚本里的Cluster_name和这次上传的名字相同。 这个带有MOD的饥荒服务器就架设完成了。

修改世界

不需要配置的MOD

如果一个世界已经玩了比较久,不想删档,想再加一个服务器MOD怎么办呢? 也很简单。

饥荒分为地上和地下世界,这两个世界允许加载不一样的MOD,也可以加载一样的MOD。上面全新创建的世界时,默认是都加载相同的MOD。

首先在服务器上,找到当前运行的Cluster文件夹,进入里面的Master文件夹,里面有一个modoverrides.lua文件,这就是配置Master世界的mod。

vi modoverrides.lua

打开此文件去修改它。此文件的内容每个人的情况会有不同。 我在这里举例一个最简单的配置

return {
  ["workshop-438293817"]={ configuration_options={  }, enabled=true },
  ["workshop-596438350"]={ configuration_options={ uses=10000000000 }, enabled=true } 
}

相信大家很容易找到这个规律,中括号[ ]里是mod的文件夹名称,后面的enabled=true是启用这个mod。中间的configuration_options是对这个mod的配置,这些参数我们是利用客户端进行生成的。

这个文件是用Lua脚本语言编写的,语法要符合Lua语法,但不必为此去学Lua这门脚本语言,按照规律复制粘贴修改即可。

如果现在要添加的MOD不需要任何配置,那么,按照原本的规律,紧跟在return下面新插入一行,并且修改其中的workshop-123456为你要添加的mod的文件夹名称。

 ["workshop-123456"]={ configuration_options={  }, enabled=true },

最后修改完的文件是这样:

return {
  ["workshop-123456"]={ configuration_options={  }, enabled=true },
  ["workshop-438293817"]={ configuration_options={  }, enabled=true },
  ["workshop-596438350"]={ configuration_options={ uses=10000000000 }, enabled=true } 
}

为什么要紧跟在return下面的开头插,而不是文件的尾部插?

这是因为Lua的语法规则,大括号里是表示一个数组,数组每个元素用逗号分隔。注意到最后一个元素末尾是没有逗号的。

为了复制粘贴修改的方便,我们复制末尾带有逗号语句的作为模板,插到顶部,这样直接修改文件夹名即可,不需要理会这个语法规则。

然后重启服务器即可自动载入新的MOD~(≧▽≦)/~啦啦啦

需要配置的MOD

我们利用游戏客户端自动生成配置参数,而不需要我们手动写配置参数。

按照上面的办法,在本机客户端里创建或修改一个世界,勾上要用的服务器MOD,并为他做配置。配置完后,进入世界,到选人物的界面即可。进到游戏里也不要紧。

然后在电脑上游戏的存档目录(不是服务器上的),找到对应的Cluster,里面的Master文件夹,有一个modoverrides.lua文件 打开这个文件,找到刚刚配置过的MOD的文件夹名称对应的那一行 它的configuration_options参数应该是有内容的,而不是一对空括号{ } 比如像下面这样的:

 ["workshop-375859599"]={
    configuration_options={
      divider=5,
      random_health_value=0,
      random_range=0,
      show_type=0,
      unknwon_prefabs=1,
      use_blacklist=true 
    },
    enabled=true 
 },

现在要做的是完整准确无误地复制这大段。最起码你要检查复制出来的东西,大括号是否都匹配了。注意带上后面的逗号,插到服务器那边对应的Cluster文件夹下的Master文件夹的modoverrides.lua文件里return的下面。

一般情况,地上和地下世界都加载相同的mod,所以对应的,Caves文件夹那边里的modoverrides.lua也要一样地插入这段。

这样就完成了把原有的世界加上一个MOD了。

#存档情况

/posts/20170217010026/20170217000227.jpg

饥荒服务器里每个世界的存档目录是在Master和Caves里的save文件夹,里面有一个Session文件夹,再进去一层,游戏服务器会为每一个Steam玩家的Steam ID号(KU_开头)起一个文件夹,这个文件夹里有玩家们的数据,想要删除一个玩家直接删除他们的文件夹(KU_开头)即可。

而整个世界的存档,就在与玩家ID文件夹同级的那些0000开头的文件。序号是世界的天数。 当关闭服务器后,服务器会保留最新的6个世界存档,其余的世界存档会删除,所以想要会退到5天前更早的版本,请在关闭服务器前备份好存档文件。

Just Enjoy It !