手把手教你搭饥荒专用服务器(三)—MOD及其他高级设置

2023-03-10,,

友情链接:

手把手教你饥荒专用服务器(一)—服务器准备工作

手把手教你搭饥荒专用服务器(二)—环境配置及基本使用

手把手教你搭饥荒专用服务器(三)—MOD及其他高级设置

手把手教你搭饥荒专用服务器(四)—本地存档转专用存档

注:本篇含代码结构,在电脑上观看体验更佳


一、预备篇:存档路径及文件树

在讲解世界设置和MOD设置之前,讲一下之前已经生成好的世界的路径、文件树以及重要文件的作用,这里还是以A存档为例。

1、存档位置

如果是按照我的要求一步一步操作下来的话,云服务器饥荒存档路径

1 /root/.klei/DoNotStarveTogether          ##这个目录下有饥荒的所有存档

本地饥荒存档路径

1 我的文档\Klei\DoNotStarveTogether         ##如果找不到就在游戏主页面点击左下角的“数据”

2、MOD存放位置

本地MOD的存放路径为

1 *\Steam\steamapps\common\Don't Starve Together\mods   ##这里的*指的是你本地安装STEAM的路径
2 D:\Steam\steamapps\common\Don't Starve Together\mods ##例如这是我的MOD位置

服务器MOD的存放路径为

1 /root/Steam/steamapps/common/Don't Starve Together Dedicated Server/mods 

3、云服务器饥荒存档文件树

之前生成的文件树为以下结构

 1 /root/.klei/DoNotStarveTogether/A        ##这里以A存档为例
2 | cluster.ini ##服务器总配置文件,包括端口、密码等
3 | cluster_token.txt ##即第一节讲到的User Token
4 | startcaves.sh ##洞穴启动代码
5 | startmaster.sh ##地上启动代码
6 |——Master ##地上文件夹
7 | | modoverrides.lua ##地上的MOD配置文件
8 | | server.ini ##独立配置信息
9 | | leveldataoverride.lua ##资源配置文件
10 | |——backup文件夹 ##存放备份文件
11 | |——save文件夹 ##存放你的回退信息
12 |
13 |——Caves
14 | modoverrides.lua ##洞穴的MOD配置文件
15 | server.ini ##独立配置信息
16 | leveldataoverride.lua ##资源配置文件
17 | worldgenoverride.lua ##想要自己调整世界资源的建议删除,因为此配置信息优先级高于leveldataoverride.lua,就算你修改了资源,系统还是全默认资源
18 |——backup文件夹 ##存放备份文件
19 |——save文件夹 ##存放你的回退信息

我将在本篇最底部附上配置文件的详细信息,喜欢全手动的小伙伴可以研究

二、世界资源设置方法—移植法

由于按照一键端生成的世界是全资源默认的纯净档,所以需要自己调整世界资源,我把此种方法称为移植法。

顾名思义既然要移植,就需要有一个现成的世界设置配置文件。(当然你可以自己配置,本篇末尾我给出了如何手动配置文件)

1、获取现成的世界资源配置文件

在你电脑上打开饥荒游戏,点击创建世界,选择一个没有用过的存档,我们以第一个为例, 按照你想要的资源进行调整,洞穴也要设置。MOD暂时可以一个都不选,我在下一块会详细讲MOD的设置。

点击创建世界,等到进入世界的时候,退出,这个时候你的配置文件已经生成啦!

2、上传你刚生成的资源文件

如何找到这个配置文件呢,返回到主页面,点击左下角的“数据”即可打开本地的存档目录

打开之后是这种结构:

因为我们是在第一个存档修改的,所以需要Cluster_1里面的文件

(1)地上资源:打开 Cluster_1 /Master/,里面的leveldataoverride.lua就是地上世界的资源配置文件啦,把这个文件覆盖上传到你服务器的/root/.klei/DoNotStarveTogether/A/Master文件夹下,地上资源就配置好啦。

(2)洞穴资源:接下来我们再覆盖洞穴的资源配置文件,在游戏主页面点“数据”,打开你的本地存档,打开 Cluster_1 /Caves/ ,同理把洞穴文件夹下的 leveldataoverride.lua 覆盖 上传至你服务器的 /root/.klei/DoNotStarveTogether/A/ Caves ,至此,地上和洞穴世界的世界资源已经配置完成

3、为什么我登上去还是默认资源?

因为你在启动服务器时,一键端已经帮你生成好了一个默认世界,要想使你自己修改的世界生效的话,需要在游戏中重新生成世界。

方法:加入到你创建的游戏中,按键Tab键,在出现的面板里点···按钮,再点击生成世界即可。

★ 如果不想一键生成,世界资源手动配置方法附加在最底部

三、MOD设置方法—移植法

学会了世界资源的移植法,MOD移植法也是同一个道理,主要分为以下三步

1、获取现成的MOD配置资源

还是登陆游戏,选择创建游戏,我们还是以第一个存档为例,在模组里勾选你想添加的模组,点击回到世界。

进入游戏之后就可以退出了, 此时MOD的配置文件已经通过游戏生成好了。

2、将生成的MOD配置文件覆盖上传

按照之前的方法,打开游戏保存位置

因为我们是在第一个存档修改的,所以需要Cluster_1里面的文件

(1)地上MOD: 打开 Cluster_1 /Master/,里面的modoverrides.lua就是地上世界的资源配置文件,把这个文件覆盖上传到你服务器的/root/.klei/DoNotStarveTogether/A/Master文件夹下,地上MOD就配置好啦。

(2)洞穴MOD: 打开 Cluster_1 /Master/,里面的modoverrides.lua就是洞穴世界的资源配置文件,把这个文件覆盖上传到你服务器的/root/.klei/DoNotStarveTogether/A/Master文件夹下,洞穴MOD就配置好啦。

3、如何使MOD生效

MOD覆盖上传之后,这时候还没有生效,因为你只是把配置文件上传了,但是还没有上传MOD的源文件。顶部预备篇我们已经提到本地MOD和服务器MOD源文件的存放路径,把本地MOD上传至服务器即可。

1 *\Steam\steamapps\common\Don't Starve Together\mods                         ##这里的*指的是你本地安装STEAM的路径
2 ↓上传至服务器
3 /root/Steam/steamapps/common/Don't Starve Together Dedicated Server/mods ##这是服务器MOD目录

★ MOD手动配置方法同样附加在最底部

四、设置管理员(可选)

饥荒的管理员会有特殊操作权限,如果创建者不在而你因为特殊原因要回滚世界 ,就需要被赋予管理员权限才能执行回退世界的操作

1、首先获取自己的KLEI用户ID,我在第一节提到过 ,进游戏之后点“账户”即可查看

2、在服务器存档(比如之前建立的A存档)下新建一个文本文档,命名为adminlist.txt,将你的KLEI用户ID写进去就可以啦,保存退出。

五、设置白名单(可选)

如果人太多了,挤不进去怎么办

这就需要提前给自己预留一个位置,如果服务器可以容纳8个人,设置两个白名单的话,那么相当于这个服务器只能进入6个普通用户。就算两个白名单没有上线,也只能进6个

在存档根目录下新建whitelist.txt,在里面输入你的klei用户ID即可

六、如何BAN恶意操作用户

如果有人进来就烧家、喂你植物纤维的话

BAN他!

在存档根目录下新建blocklist.txt,在里面输入他的klei用户ID,它的ID可以在日志信息中找到

当然最简单的办法是在游戏中按下Tab,直接踢

只要掌握了如何修改资源和MOD,就可以正常游戏了,如果操作能力强的可以继续往下研究,我在本页底部会把每个配置文件的内容的作用列出来

正文结束


附:各配置文件信息及手动修改方法

所给的配置文件均在ubuntu系统下调试通过,可直接使用


1、世界地图资源(地上部分)

如需要自己配置,将以下内容保存为 leveldataoverride.lua,放入Master文件夹中

  1 return {
2 desc="标准《饥荒》体验。",
3 hideminimap=false,
4 id="SURVIVAL_TOGETHER",
5 location="forest",
6 max_playlist_position=999,
7 min_playlist_position=0,
8 name="默认",
9 numrandom_set_pieces=4,
10 override_level_string=false,
11 overrides = { ##以下为修改世界的各种选项
12 ## 默认的资源等级分别为 "never", "rare", "default", "often", "always"
13
14 ## 环境配置
15 task_set = "default", ## 默认为"classic", "default", "cave_default"
16 start_location = "default", ## 默认为"caves", "default", "plus", "darkness"
17 world_size = "default", ## 默认为"small", "medium", "default", "huge"
18 branching = "default", ## 默认为"never", "least", "default", "most"
19 loop = "default", ## 默认为"never", "default", "always"
20 autumn = "default", ## 默认为"noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
21 winter = "default", ## 默认为"noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
22 spring = "default", ## 默认为"noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
23 summer = "default", ## 默认为"noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
24 season_start = "default", ## 默认为"default", "winter", "spring", "summer", "autumnorspring", "winterorsummer", "random"
25 day = "default", ## 默认为"default", "longday", "longdusk", "longnight", "noday", "nodusk", "nonight", "onlyday", "onlydusk", "onlynight"
26 weather = "default",
27 earthquakes = "default",
28 lightning = "default",
29 frograin = "default",
30 wildfires = "default",
31 touchstone = "default",
32 regrowth = "default", ## 默认为"veryslow", "slow", "default", "fast", "veryfast"
33 cavelight = "default", ## 默认为"veryslow", "slow", "default", "fast", "veryfast"
34 boons = "default",
35 prefabswaps_start = "default", ## 默认为"classic", "default", "highly random"
36 prefabswaps = "default", ## 默认为"none", "few", "default", "many", "max"
37
38 ## 资源设置
39 flowers = "default",
40 grass = "default",
41 sapling = "default",
42 marshbush = "default",
43 tumbleweed = "default",
44 reeds = "default",
45 trees = "default",
46 flint = "default",
47 rock = "default",
48 rock_ice = "default",
49 meteorspawner = "default",
50 meteorshowers = "default",
51 mushtree = "default",
52 fern = "default",
53 flower_cave = "default",
54 wormlights = "default",
55
56 ## 随机设置
57 berrybush = "default",
58 carrot = "default",
59 mushroom = "default",
60 cactus = "default",
61 banana = "default",
62 lichen = "default",
63
64 ## 动物设置
65 rabbits = "default",
66 moles = "default",
67 butterfly = "default",
68 birds = "default",
69 buzzard = "default",
70 catcoon = "default",
71 perd = "default",
72 pigs = "default",
73 lightninggoat = "default",
74 beefalo = "default",
75 beefaloheat = "default",
76 hunt = "default",
77 alternatehunt = "default",
78 penguins = "default",
79 cave_ponds = "default",
80 ponds = "default",
81 bees = "default",
82 angrybees = "default",
83 tallbirds = "default",
84 slurper = "default",
85 bunnymen = "default",
86 slurtles = "default",
87 rocky = "default",
88 monkey = "default",
89
90 ## 怪物设置
91 spiders = "default",
92 cave_spiders = "default",
93 hounds = "default",
94 houndmound = "default",
95 merm = "default",
96 tentacles = "default",
97 chess = "default",
98 lureplants = "default",
99 walrus = "default",
100 liefs = "default",
101 deciduousmonster = "default",
102 krampus = "default",
103 bearger = "default",
104 deerclops = "default",
105 goosemoose = "default",
106 dragonfly = "default",
107 bats = "default",
108 fissure = "default",
109 worms = "default",
110 },
111 }

2、世界地图资源(洞穴部分)

如需要自己配置,将以下内容保存为  leveldataoverride.lua ,放入Caves文件夹中

  1 return {
2 background_node_range={ 0, 1 },
3 desc="探查洞穴…… 一起!",
4 hideminimap=false,
5 id="DST_CAVE",
6 location="cave",
7 max_playlist_position=999,
8 min_playlist_position=0,
9 name="洞穴",
10 numrandom_set_pieces=0,
11 override_level_string=false,
12 overrides = { ##以下为修改世界的各种选项
13 ## 默认的资源等级分别为"never", "rare", "default", "often", "always"
14
15 ## 环境配置
16 task_set = "cave_default", ## 默认为"classic", "default", "cave_default"
17 start_location = "default", ##默认为 "caves", "default", "plus", "darkness"
18 world_size = "default", ## 默认为"small", "medium", "default", "huge"
19 branching = "default", ## 默认为"never", "least", "default", "most"
20 loop = "default", ## 默认为"never", "default", "always"
21 autumn = "default", ## 默认为"noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
22 winter = "default", ## 默认为"noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
23 spring = "default", ## 默认为"noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
24 summer = "default", ## 默认为"noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
25 season_start = "default", ## 默认为"default", "winter", "spring", "summer", "autumnorspring", "winterorsummer", "random"
26 day = "default", ## 默认为"default", "longday", "longdusk", "longnight", "noday", "nodusk", "nonight", "onlyday", "onlydusk", "onlynight"
27 weather = "default",
28 earthquakes = "default",
29 lightning = "default",
30 frograin = "default",
31 wildfires = "default",
32 touchstone = "default",
33 regrowth = "default", ## 默认为"veryslow", "slow", "default", "fast", "veryfast"
34 cavelight = "default", ## 默认为"veryslow", "slow", "default", "fast", "veryfast"
35 boons = "default",
36 prefabswaps_start = "default", ## 默认为"classic", "default", "highly random"
37 prefabswaps = "default", ## 默认为"none", "few", "default", "many", "max"
38
39 ## 资源配置
40 flowers = "default",
41 grass = "default",
42 sapling = "default",
43 marshbush = "default",
44 tumbleweed = "default",
45 reeds = "default",
46 trees = "default",
47 flint = "default",
48 rock = "default",
49 rock_ice = "default",
50 meteorspawner = "default",
51 meteorshowers = "default",
52 mushtree = "default",
53 fern = "default",
54 flower_cave = "default",
55 wormlights = "default",
56
57 ## 随机配置
58 berrybush = "default",
59 carrot = "default",
60 mushroom = "default",
61 cactus = "default",
62 banana = "default",
63 lichen = "default",
64
65 ## 动物配置
66 rabbits = "default",
67 moles = "default",
68 butterfly = "default",
69 birds = "default",
70 buzzard = "default",
71 catcoon = "default",
72 perd = "default",
73 pigs = "default",
74 lightninggoat = "default",
75 beefalo = "default",
76 beefaloheat = "default",
77 hunt = "default",
78 alternatehunt = "default",
79 penguins = "default",
80 cave_ponds = "default",
81 ponds = "default",
82 bees = "default",
83 angrybees = "default",
84 tallbirds = "default",
85 slurper = "default",
86 bunnymen = "default",
87 slurtles = "default",
88 rocky = "default",
89 monkey = "default",
90
91 ## 怪物配置
92 spiders = "default",
93 cave_spiders = "default",
94 hounds = "default",
95 houndmound = "default",
96 merm = "default",
97 tentacles = "default",
98 chess = "default",
99 lureplants = "default",
100 walrus = "default",
101 liefs = "default",
102 deciduousmonster = "default",
103 krampus = "default",
104 bearger = "default",
105 deerclops = "default",
106 goosemoose = "default",
107 dragonfly = "default",
108 bats = "default",
109 fissure = "default",
110 worms = "default",
111 },
112 }

3、通用配置文件(即根目录下cluster.ini

 1 [GAMEPLAY]
2 max_players = 16 # 最大游戏人数
3 pvp = true # 能不能攻击其他玩家,能不能给其他玩家喂屎
4 game_mode = survival # 游戏模式,可选 survival, endless or wilderness,与玩家死亡后的负面影响有关
5 pause_when_empty = false # 没人服务器暂停,刷天数必备
6 vote_kick_enabled = false # 投票踢人
7
8 [STEAM]
9 steam_group_only = false # 只允许某 Steam 组的成员加入
10 steam_group_id = 0 # 指定某个 Steam 组,填写组 ID
11 steam_group_admins = false # 开启后,Steam 组的管理员拥有服务器的管理权限
12
13
14 [NETWORK]
15 cluster_description = ~ # 游戏房间描述
16 cluster_name = ~ # 游戏房间名称
17 cluster_intention = social # 游戏偏好,可选 cooperative, competitive, social, madness,随便设置,没用
18 cluster_password = # 游戏密码,不设置表示无密码
19 offline_server = false # 是否离线服务器,只有局域网用户能加入,并且所有依赖于 Steam 的任何功能都无效,比如说饰品掉落
20 tick_rate = 15 # 每秒通信次数,越高游戏体验越好,但是会加大服务器负担
21 whitelist_slots = 0 # 为白名单用户保留的游戏位
22 lan_only_cluster = false # 局域网游戏
23
24
25 [MISC]
26 console_enabled = true # 是否开启控制台
27 max_snapshots = 6 # 最大快照数,决定了可回滚的天数
28
29
30 [SHARD]
31 shard_enabled = true # 是否允许地上及洞穴互通,开启洞穴的话必须填true
32 bind_ip = 127.0.0.1 # 服务器监听的地址,单服务器搭建填 127.0.0.1,双服务器搭建填0.0.0.0
33 master_ip = 127.0.0.1 # 主世界服务器的 IP,单服务器搭建填127.0.0.1,双服务器搭建填写服务器的公网IP
34 master_port = 10889 # 监听 master 服务器的 UDP 端口
35 cluster_key = supersecretkey # 游戏通讯密码,每台服务器必须相同

4、独立配置文件(MasterCaves下的server.ini

(1) 地上部分,保存为 server.ini,并放到 Master 文件夹内:

 1 [NETWORK]
2 server_port = 11000 # 监听的 UDP 端口,只能介于 10998 - 11018 之间,确保每个实例都不相同
3
4
5 [SHARD]
6 is_master = true # 是否是 master 服务器,只能存在一个 true,其他全是 false
7
8
9 [STEAM]
10 master_server_port = 27018 # Steam 用的端口,确保每个实例都不相同
11 authentication_port = 8768 # Steam 用的端口,确保每个实例都不相同
12
13
14 [ACCOUNT]
15 encode_user_path = true

(2) 洞穴部分,保存为 server.ini,放到 Caves 文件夹内:

 1 [NETWORK]
2 server_port = 11001 # 监听的 UDP 端口,只能介于 10998 - 11018 之间,确保每个实例都不相同
3
4
5 [SHARD]
6 is_master = false # 是否是 master 服务器,只能存在一个 true,其他全是 false
7 name = Caves # 从世界的名称
8 id = 3156403571 # 随机生成,不用加入该属性
9
10 [STEAM]
11 master_server_port = 27019 # Steam 用的端口,确保每个实例都不相同
12 authentication_port = 8769 # Steam 用的端口,确保每个实例都不相同
13
14
15 [ACCOUNT]
16 encode_user_path = true

5、MOD配置文件

因为MOD设置地上和洞穴是一样的,配置完一个之后一式两份拷贝到 Master 和 Caves 就可以了。

这里给出我配置的MOD文件作为参考

  1 return {
2 ["workshop-1079538195"]={
3 configuration_options={
4 beebox=true,
5 birdcage=true,
6 cartographydesk=true,
7 cookpot=true,
8 dragonflychest=true,
9 dragonflyfurnace=true,
10 endtable=true,
11 firesuppressor=true,
12 icebox=true,
13 lightning_rod=true,
14 meatrack=true,
15 modsupport=true,
16 moondial=true,
17 mushroom_farm=true,
18 mushroom_light=true,
19 nightlight=true,
20 perdshrine=true,
21 pottedfern=true,
22 rainometer=true,
23 researchlab=true,
24 researchlab2=true,
25 researchlab3=true,
26 researchlab4=true,
27 resurrectionstatue=true,
28 saltlick=true,
29 scarecrow=true,
30 sculptingtable=true,
31 succulent_potted=true,
32 townportal=true,
33 treasurechest=true,
34 wardrobe=true,
35 winterometer=true
36 },
37 enabled=true
38 },
39 ["workshop-1166220990"]={ configuration_options={ attract=2, language=2 }, enabled=true },
40 ["workshop-1185229307"]={ configuration_options={ }, enabled=true },
41 ["workshop-1699194522"]={ configuration_options={ Language=true }, enabled=true },
42 ["workshop-1829477822"]={ configuration_options={ }, enabled=true },
43 ["workshop-1914860022"]={ configuration_options={ }, enabled=true },
44 ["workshop-1914899068"]={
45 configuration_options={
46 [""]=0,
47 BATTLE_HAT_ABSORPTION=80,
48 BATTLE_HAT_HP=12000,
49 BATTLE_SPEAR_DAMAGE=42.5,
50 BATTLE_SPEAR_USES=400,
51 HAMBAT_DAMAGE=110.5,
52 HAMBAT_PERISHABLE="NO",
53 hat_goldnugget=1,
54 hat_rocks=1,
55 spear_flint=1,
56 spear_goldnugget=1,
57 spear_twigs=1
58 },
59 enabled=true
60 },
61 ["workshop-347079953"]={
62 configuration_options={ DFV_Language="CN", DFV_MinimalMode="default" },
63 enabled=true
64 },
65 ["workshop-362175979"]={ configuration_options={ ["Draw over FoW"]="disabled" }, enabled=true },
66 ["workshop-374550642"]={ configuration_options={ MAXSTACKSIZE=250 }, enabled=true },
67 ["workshop-375850593"]={ configuration_options={ }, enabled=true },
68 ["workshop-375859599"]={
69 configuration_options={
70 divider=5,
71 random_health_value=0,
72 random_range=0,
73 send_unknwon_prefabs=false,
74 show_type=0,
75 unknwon_prefabs=1,
76 use_blacklist=true
77 },
78 enabled=true
79 },
80 ["workshop-378160973"]={
81 configuration_options={
82 ENABLEPINGS=true,
83 FIREOPTIONS=2,
84 OVERRIDEMODE=false,
85 SHAREMINIMAPPROGRESS=true,
86 SHOWFIREICONS=true,
87 SHOWPLAYERICONS=true,
88 SHOWPLAYERSOPTIONS=2
89 },
90 enabled=true
91 },
92 ["workshop-462434129"]={
93 configuration_options={
94 MOD_RESTART_ALLOW_KILL=true,
95 MOD_RESTART_ALLOW_RESTART=true,
96 MOD_RESTART_ALLOW_RESURRECT=true,
97 MOD_RESTART_CD_BONUS=0,
98 MOD_RESTART_CD_KILL=0,
99 MOD_RESTART_CD_MAX=0,
100 MOD_RESTART_CD_RESTART=0,
101 MOD_RESTART_CD_RESURRECT=0,
102 MOD_RESTART_FORCE_DROP_MODE=0,
103 MOD_RESTART_IGNORING_ADMIN=true,
104 MOD_RESTART_MAP_SAVE=1,
105 MOD_RESTART_RESURRECT_HEALTH=100,
106 MOD_RESTART_TRIGGER_MODE=1,
107 MOD_RESTART_WELCOME_TIPS=true,
108 MOD_RESTART_WELCOME_TIPS_TIME=6
109 },
110 enabled=true
111 },
112 ["workshop-466732225"]={ configuration_options={ }, enabled=true },
113 ["workshop-588560555"]={ configuration_options={ }, enabled=true },
114 ["workshop-661253977"]={
115 configuration_options={ amudiao=true, baodiao=1, kong=0, rendiao=2, zbdiao=true },
116 enabled=true
117 },
118 ["workshop-666155465"]={
119 configuration_options={
120 chestB=-1,
121 chestG=-1,
122 chestR=-1,
123 food_estimation=-1,
124 food_order=0,
125 food_style=1,
126 lang="chs",
127 show_food_units=-1,
128 show_uses=-1
129 },
130 enabled=true
131 },
132 ["workshop-679636739"]={ configuration_options={ }, enabled=true },
133 ["workshop-770901818"]={
134 configuration_options={ days=2, enable_houndattack=true, format="complex" },
135 enabled=true
136 }
137 }

如需转载,请注明出处:wuter.cn

手把手教你搭饥荒专用服务器(三)—MOD及其他高级设置的相关教程结束。

《手把手教你搭饥荒专用服务器(三)—MOD及其他高级设置.doc》

下载本文的Word格式文档,以方便收藏与打印。