请启动一次服务端后生成相应配置文件再进行配置,如修改地图资源相关文件请删除已生成地图或者在游戏内重新生成世界。请按照以下步骤准备好用户IDtoken,并按照文件树状图填入相应文件,不存在的文件可自行新建文件并按照所给文件名重命名。

准备

  1. 打开https://accounts.klei.com/login登录购买了饥荒的 Steam 账号

  2. 此处为所需要的用户ID,保存下来

  3. 点击左上方游戏,并选择饥荒游戏服务器

  4. 随意输入一个名字并点击添加新服务器(此处名字可随意输入,不影响后续房间名)

  5. 图中红框内容就是需要的token,保存下来(无需点击配置服务器)

饥荒存档文件树状图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
.klei/DoNotStarveTogether/MyDediServer   ## 以存档 MyDediServer 为例
| adminlist.txt ## 管理员名单
| blocklist.txt ## 黑名单配置
| cluster.ini ## 服务器主要配置文件
| cluster_token.txt ## 用户 Token
| whitelist.txt ## 白名单配置
|——Master ## 地上文件夹
| | leveldataoverride.lua ## 资源配置文件
| | modoverrides.lua ## 地上的MOD配置文件
| | server.ini ## 独立配置信息
| | server_chat_log.txt ## 服务器玩家聊天记录
| | server_log.txt ## 服务器运行日志
| | worldgenoverride.lua ## 此配置信息优先级高于 leveldataoverride.lua,需要自己修改资源配置的请删除
| |——backup ## 备份文件
| |——save ## 回退信息
|
|——Caves
| leveldataoverride.lua ## 资源配置文件
| modoverrides.lua ## 洞穴的MOD配置文件
| server.ini ## 独立配置信息
| server_chat_log.txt ## 服务器玩家聊天记录
| server_log.txt ## 服务器运行日志
| worldgenoverride.lua ## 此配置信息优先级高于 leveldataoverride.lua,需要自己修改资源配置的请删除
|——backup ## 备份文件
|——save ## 回退信息

服务端配置文件

修改完成相应配置后请删除注释,否则启动时可能出现报错

adminlist.txt

此处填写需要设置为管理员的用户ID,如需设置多个管理员请换行填写

blocklist.txt

此处填写需要加入黑名单的用户ID,如需设置多个黑名单请换行填写

cluster.ini

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
[MISC]
max_snapshots = 6 ; 最大快照数,决定了可回滚的天数
console_enabled = true ; 是否开启控制台

[SHARD]
shard_enabled = true ; 服务器共享,要开启洞穴服务器的必须启用
bind_ip = 127.0.0.1 ; 服务器监听的地址,当所有实例都运行在同一台机器时,可填写 127.0.0.1,会被 server .ini 覆盖
master_ip = 127.0.0.1 ; master 服务器的 IP,针对非 master 服务器,若与 master 服务器运行在同一台机器时,可填写 127.0.0.1,会被 server.ini 覆盖
master_port = 10888 ; 监听 master 服务器的 UDP 端口,所有连接至 master 服务器的非 master 服务器必须相同
cluster_key = dst ; 通讯密码,每台服务器必须相同,会被 server.ini 覆盖

[STEAM]
steam_group_only = false ; 只允许某 Steam 组的成员加入
steam_group_id = 0 ; 指定某个 Steam 组,填写组 ID
steam_group_admins = false ; 开启后,Steam 组的管理员拥有服务器的管理权限

[NETWORK]
offline_server = false ; 离线服务器,只有局域网用户能加入,并且所有依赖于 Steam 的任何功能都无效,比如饰品掉落
tick_rate = 15 ; 每秒通信次数,越高游戏体验越好,但是会加大服务器负担
whitelist_slots = 0 ; 为白名单用户保留的房间位置(假如服务器最大人数为10人,此处设置为3,则只能进入7位不在白名单内的玩家,剩余3个位置可供拥有白名单玩家进入)
cluster_password = ; 服务器加入密码,不设置表示无密码
cluster_name = ttionya test ; 服务器名称
cluster_description = description ; 服务器描述
lan_only_cluster = false ; 局域网游戏
cluster_intention = madness ; 服务器风格,可选 cooperative, competitive, social, madness,分别对应 合作、竞争、社交、疯狂(分类作用,在搜索时分类筛选,除此外并无其他作用)
cluster_language = zh ; 服务器内语言设置

[GAMEPLAY]
max_players = 6 ; 最大游戏人数
pvp = true ; 是否开启PVP
game_mode = survival ; 游戏模式,可选 survival, endless, wilderness,与玩家死亡后的负面影响有关(endless无尽模式 survival生存 wilderness荒野)
pause_when_empty = false ; 当服务器内没人时暂停时间
vote_kick_enabled = false ; 投票踢人
autosaver_enabled = true ; 是否启用自动存档

cluster_token.txt

此处填写准备阶段获取到的token(必填)

whitelist.txt

此处填写需要加入白名单的用户ID,如需设置多个白名单请换行填写

地图配置文件

server.ini

参数详解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[SHARD]
is_master = true /false ; 是否是 master 服务器,只能存在一个 true,其他全是 false
name = caves ; 针对非 master 服务器的名称
id = ??? ; 随机生成,无需加入该属性

[STEAM]
authentication_port = 9900 ; Steam 用的端口,确保每个实例都不相同
master_server_port = 9901 ; Steam 用的端口,确保每个实例都不相同

[NETWORK]
server_port = 11000 ; 监听的 UDP 端口,只能介于 10998 - 11018 之间,确保每个实例都不相同

[ACCOUNT]
encode_user_path = true

地上部分

1
2
3
4
5
6
7
8
9
10
[SHARD]
is_master = true

[STEAM]
authentication_port = 9900
master_server_port = 9901

[NETWORK]
server_port = 11000

洞穴部分

1
2
3
4
5
6
7
8
9
10
11
[SHARD]
is_master = false
name = caves

[STEAM]
authentication_port = 9902
master_server_port = 9903

[NETWORK]
server_port = 11001

MOD及地图资源配置

此处可偷懒使用较为便捷的方式,如果存在 worldgenoverride.lua 文件,请将其删除

  1. 打开饥荒点击创建世界

  2. 此处游戏风格可任意选择,在前面的 cluster.ini 文件已经配置过了

  3. 此处同样在 cluster.ini文件中已进行过配置,直接跳过即可

  4. 地上洞穴两个选项中根据需求修改其中的世界选项世界生成,

  5. MOD选项中选择服务器MOD并勾选启用需要的MOD,右下角螺丝图标点击可修改MOD配置

  6. 修改完成后点击创建世界,待创建成功后退出到游戏主菜单界面,点击创建世界进入(后续修改配置修改完成后只需要点击创建世界,然后点击返回即可)

  7. 按照图中顺序依次点击扳手图标 打开世界文件夹

  8. 忽略cluster.ini文件,Master为地上地图及配置文件,Caves为洞穴地图及配置文件

  9. 打开地图文件夹之后将leveldataoverride.luamodoverrides.lua这两个文件覆盖掉服务器对应地图文件夹中文件即可