本文介绍了 Don't Starve Together(饥荒联机版)的配置文件, 适用于专用服务器端(服务器端)& 客户端、Windows 版本 & Linux 版本。

前言

Don't Starve Together(饥荒联机版)的绝大部分配置文件是通用的,可以使用客户端生成的绝大部分配置文件。

其中 客户端生成的 "cluster_token.txt(访问令牌)" 不是通用的,专用服务器建议使用 Klei 官网生成的,而不是客户端生成的。

客户端可以生成绝大部分配置文件,只有 "admin.txt(管理员名单)"、"whitelist.txt(白名单)"、" blocklist.txt(黑名单)" 需要手动创建。

服务器

服务器的配置文件包含了以下的全部文件,其中 "admin.txt(管理员名单)"、"whitelist.txt(白名单)"、" blocklist.txt(黑名单)" 是可选的。

Windows:

\文档\Klei\DoNotStarveTogether\MyDediServer
│
│  cluster_token.txt-------------------------------访问令牌
│  cluster.ini-------------------------------------服务器配置文件
│  admin.txt---------------------------------------管理员名单(可选)
│  whitelist.txt-----------------------------------白名单(可选)        
│  blocklist.txt-----------------------------------黑名单(可选)

Linux:

~/.klei/DoNotStarveTogether/MyDediServer
│
│  cluster_token.txt-------------------------------访问令牌
│  cluster.ini-------------------------------------服务器配置文件
│  admin.txt---------------------------------------管理员名单(可选)
│  whitelist.txt-----------------------------------白名单(可选)        
│  blocklist.txt-----------------------------------黑名单(可选)

cluster_token.txt(访问令牌)

没有 " cluster_token.txt(访问令牌)" 就无法启动游戏,生成 " cluster_token.txt(访问令牌)" 的账户默认拥有管理员权限。

Step1:登陆你的 Klei 账号

打开官网,登录你的 Klei 账号。

Step2:生成访问令牌

点击此处,生成访问令牌。

cluster.ini(服务器配置文件)

cluster.ini(服务器配置文件):

[GAMEPLAY]
game_mode = survival
max_players = 6
pvp = false
pause_when_empty = true


[NETWORK]
lan_only_cluster = false
cluster_intention = social
cluster_password = 
cluster_description = 
cluster_name = Jianrry的世界
offline_cluster = false
cluster_language = zh
whitelist_slots = 0


[MISC]
console_enabled = true


[SHARD]
shard_enabled = true
bind_ip = 127.0.0.1
master_ip = 127.0.0.1
master_port = 10888
cluster_key = defaultPass

[STEAM]
steam_group_admins = false
steam_group_id = 0
steam_group_only = false

[GAMEPLAY]

game_mode(游戏模式)

  • 默认值: survival(生存)。
  • 只有 survival(生存)、 endless(无尽) 、wilderness(荒野)这3种游戏模式。

max_players(最大人数)

  • 默认值:16。
  • 服务器内玩家同时在线的最大人数。

pvp( pvp 模式)

  • 默认值:false。
  • pvp 模式下,玩家可以互相伤害。

pause_when_empty(服务器内没有玩家在线时,暂停服务器)

  • 默认值:true。
  • 服务器内没有玩家在线时,暂停服务器。

[NETWORK]

lan_only_cluster(局域网游戏)

  • 默认值:false。
  • 只允许同一个局域网中的玩家加入。

cluster_intention(游戏风格)

  • 默认值:无。
  • 只有 cooperative(合作)、 competitive(竞争)、social(社交)、madness(疯狂)这4种游戏风格,对游戏无任何影响。

cluster_password(服务器密码)

  • 默认值:空。
  • 服务器密码为空时,玩家加入不需要输入密码,否则需要输入密码。

cluster_description(服务器描述)

  • 默认值:空。
  • 服务器的描述。

cluster_name(服务器名)

  • 默认值:无。
  • 服务器的名字。

offline_cluster(离线)

  • 默认值:false。
  • 创建一个离线服务器,该服务器不会公开。只有本地网络上的玩家才能加入,任何与 Steam 相关的功能都将无法使用。

cluster_language(服务器语言)

  • 默认值:无。
  • 服务器内显示的语言。

whitelist_slots(白名单席位)

  • 默认值:0。
  • 为白名单玩家预留的空位,只有白名单玩家才能加入。

[MISC]

console_enabled(启用控制台)

  • 默认值:true。
  • 允许玩家在控制台中输入命令。

[SHARD]

shard_enabled(启用共享)

  • 默认值:false。
  • 启用服务器共享。对于多层世界,值必须是 true。对于单层世界,值可以省略。

bind_ip

  • 默认值:127.0.0.1。
  • 这是 主世界 将侦听其他 从世界 连接到的网络地址。如果所有服务器都在同一台机器上,则将此设置为 127.0.0.1,如果服务器在不同的机器上,则将其设置为 0.0.0.0。

master_ip(主 ip)

  • 默认值:无。
  • 从世界 在尝试连接到 主世界 时将使用的 IP 地址。如果所有服务器都在同一台机器上,请将其设置为 127.0.0.1。如果所有服务器不在同一台机器上,请将其设置为 运行主世界的那台机器的公网 ip。

master_port(主端口)

  • 默认值:10888。
  • 这是 主世界 将侦听的 UDP 端口,从世界 在尝试连接到 主世界 时将使用该端口。所有的机器上的 master_port 必须保持一致,而且不能和同一台机器上的 server_port 相同。

cluster_key(服务器认证密码)

  • 默认值:无。
  • 主世界 验证 从世界 的密码。如果所有世界都在同一台机器上,则只需要设置一次。所有的世界运行在不同的机器上,值只能保持一致。

[STEAM]

steam_group_only(只允许组成员加入)

  • 默认值:false。
  • 服务器只允许加入了steam_group_id 中指定的 Steam 组的成员加入。

steam_group_id( Steam 组 ID )

  • 默认值:0。
  • steam_group_only / steam_group_admins 设置的 Steam 组 ID。

steam_group_admins(Steam 组管理员)

  • 默认值:false。
  • steam_group_id 中指定的 Steam 组的管理员,拥有服务器的管理员权限。

admin.txt(管理员名单)

"admin.txt(管理员名单)" 上的用户,拥有服务器的管理员权限。

Step1:查看服务器日志,获取 "Klei ID"。

Step2:用记事本打开"admin.txt(管理员名单)"。

Step3:逐行添加 "Klei ID",一个占据一行。

whitelist.txt(白名单)

"whitelist.txt(白名单)" 上的用户,在服务器人数达到上限时,可以通过 "whitelist_slots(白名单席位)" 加入服务器。

Step1:编辑 "cluster.ini(服务器配置文件)",设置 "whitelist_slots(白名单席位)"。

Step2:查看服务器日志,获取 "Klei ID"。

Step3:用记事本打开"whitelist.txt(白名单)"。

Step4:逐行添加 "Klei ID",一个占据一行。

blocklist.txt(黑名单)

"blocklist.txt(黑名单)" 上的用户,无法加入服务器。

Step1:查看服务器日志,获取 "Steam 64位 ID"。

Step2:用记事本打开"blocklist.txt(黑名单)"。

Step3:逐行添加 "Steam 64位 ID",一个占据一行。

森林

森林的配置文件包含了以下的全部文件:

Windows:

\文档\Klei\DoNotStarveTogether\MyDediServer\Master
│
│  server.ini----------------------------------森林服务器配置文件
│  leveldataoverride.lua-----------------------森林地形配置文件
│  modoverrides.lua----------------------------森林 Mod 配置文件        

Linux:

~/.klei/DoNotStarveTogether/MyDediServer/Master
│
│  server.ini----------------------------------森林服务器配置文件
│  leveldataoverride.lua-----------------------森林地形配置文件
│  modoverrides.lua----------------------------森林 Mod 配置文件   

server.ini(森林服务器配置文件)

server.ini(森林服务器配置文件):

[NETWORK]
server_port = 10999


[SHARD]
is_master = true
name = Master
id = 1


[ACCOUNT]
encode_user_path = true


[STEAM]
master_server_port = 27014
authentication_port = 8764

[NETWORK]

server_port(服务器端口)

  • 默认值:10999。
  • 取值范围:10998 - 11018。
  • 此服务器将侦听连接的 UDP 端口。如果您正在运行多层世界,则同一台机器上的每个世界的此端口必须不同。

[SHARD]

is_master(主世界)

  • 默认值:无。
  • 只有一个世界是 主世界 ,主世界 的值是 true,从世界的值是 false。

name(服务器名)

  • 默认值:无。

id(服务器 id)

  • 默认值:随机生成的数字。
  • 为 从世界 随机生成的数字,每个世界都有一个独一无二的 id,用于区分不同的世界。

[STEAM]

master_server_port(主服务器端口)

  • 默认值:27016。
  • Steam 使用的内部端口。确保在同一台机器上运行的每个世界的 "master_server_port(主服务器端口)" 都不同。

authentication_port(认证端口)

  • 默认值:8766。
  • Steam 使用的内部端口。确保在同一台机器上运行的每个世界的 "authentication_port(认证端口)" 都不同。

leveldataoverride.lua(森林地形配置文件)

leveldataoverride.lua(森林地形配置文件):

return {
  desc="标准《饥荒》体验。",
  hideminimap=false,
  id="SURVIVAL_TOGETHER",
  location="forest",
  max_playlist_position=999,
  min_playlist_position=0,
  name="标准森林",
  numrandom_set_pieces=4,
  override_level_string=false,
  overrides={
    alternatehunt="default",
    angrybees="default",
    antliontribute="default",
    autumn="default",
    bats_setting="default",
    bearger="default",
    beefalo="default",
    beefaloheat="default",
    beequeen="default",
    bees="default",
    bees_setting="default",
    berrybush="default",
    birds="default",
    boons="default",
    branching="default",
    brightmarecreatures="default",
    bunnymen_setting="default",
    butterfly="default",
    buzzard="default",
    cactus="default",
    carrot="default",
    carrots_regrowth="default",
    catcoon="default",
    catcoons="default",
    chess="default",
    cookiecutters="default",
    crabking="default",
    day="default",
    deciduousmonster="default",
    deciduoustree_regrowth="default",
    deerclops="default",
    dragonfly="default",
    dropeverythingondespawn="default",
    evergreen_regrowth="default",
    extrastartingitems="default",
    fishschools="default",
    flint="default",
    flowers="default",
    flowers_regrowth="default",
    frograin="default",
    frogs="default",
    fruitfly="default",
    gnarwail="default",
    goosemoose="default",
    grass="default",
    grassgekkos="default",
    has_ocean=true,
    hound_mounds="default",
    houndmound="default",
    hounds="default",
    hunt="default",
    keep_disconnected_tiles=true,
    klaus="default",
    krampus="default",
    layout_mode="LinkNodesByKeys",
    liefs="default",
    lightning="default",
    lightninggoat="default",
    loop="default",
    lureplants="default",
    malbatross="default",
    marshbush="default",
    merm="default",
    merms="default",
    meteorshowers="default",
    meteorspawner="default",
    moles="default",
    moles_setting="default",
    moon_berrybush="default",
    moon_bullkelp="default",
    moon_carrot="default",
    moon_fissure="default",
    moon_fruitdragon="default",
    moon_hotspring="default",
    moon_rock="default",
    moon_sapling="default",
    moon_spider="default",
    moon_spiders="default",
    moon_starfish="default",
    moon_tree="default",
    moon_tree_regrowth="default",
    mosquitos="default",
    mushroom="default",
    mutated_hounds="default",
    no_joining_islands=true,
    no_wormholes_to_disconnected_tiles=true,
    ocean_bullkelp="default",
    ocean_seastack="ocean_default",
    ocean_shoal="default",
    ocean_waterplant="ocean_default",
    ocean_wobsterden="default",
    penguins="default",
    penguins_moon="default",
    perd="default",
    petrification="default",
    pigs="default",
    pigs_setting="default",
    ponds="default",
    prefabswaps_start="default",
    rabbits="default",
    rabbits_setting="default",
    reeds="default",
    regrowth="default",
    roads="default",
    rock="default",
    rock_ice="default",
    saltstack_regrowth="default",
    sapling="default",
    season_start="default",
    seasonalstartingitems="default",
    shadowcreatures="default",
    sharks="default",
    spawnprotection="default",
    specialevent="default",
    spider_warriors="default",
    spiderqueen="default",
    spiders="default",
    spiders_setting="default",
    spring="default",
    squid="default",
    start_location="default",
    summer="default",
    tallbirds="default",
    task_set="default",
    tentacles="default",
    touchstone="default",
    trees="default",
    tumbleweed="default",
    twiggytrees_regrowth="default",
    walrus="default",
    walrus_setting="default",
    wasps="default",
    weather="default",
    wildfires="default",
    winter="default",
    wobsters="default",
    world_size="default",
    wormhole_prefab="wormhole" 
  },
  random_set_pieces={
    "Sculptures_2",
    "Sculptures_3",
    "Sculptures_4",
    "Sculptures_5",
    "Chessy_1",
    "Chessy_2",
    "Chessy_3",
    "Chessy_4",
    "Chessy_5",
    "Chessy_6",
    "Maxwell1",
    "Maxwell2",
    "Maxwell3",
    "Maxwell4",
    "Maxwell6",
    "Maxwell7",
    "Warzone_1",
    "Warzone_2",
    "Warzone_3" 
  },
  required_prefabs={ "multiplayer_portal" },
  required_setpieces={ "Sculptures_1", "Maxwell5" },
  settings_desc="标准《饥荒》体验。",
  settings_id="SURVIVAL_TOGETHER",
  settings_name="标准森林",
  substitutes={  },
  version=4,
  worldgen_desc="标准《饥荒》体验。",
  worldgen_id="SURVIVAL_TOGETHER",
  worldgen_name="标准森林" 
}

modoverrides.lua(森林 Mod 配置文件)

modoverrides.lua(森林 Mod 配置文件):

return {  }

洞穴

洞穴的配置文件包含了以下的全部文件:

Windows:

\文档\Klei\DoNotStarveTogether\MyDediServer\Caves
│
│  server.ini----------------------------------洞穴服务器配置文件
│  leveldataoverride.lua-----------------------洞穴地形配置文件
│  modoverrides.lua----------------------------洞穴 Mod 配置文件        

Linux:

~/.klei/DoNotStarveTogether/MyDediServer/Caves
│
│  server.ini----------------------------------洞穴服务器配置文件
│  leveldataoverride.lua-----------------------洞穴地形配置文件
│  modoverrides.lua----------------------------洞穴 Mod 配置文件   

server.ini(洞穴服务器配置文件)

server.ini(洞穴服务器配置文件):

[NETWORK]
server_port = 11001


[SHARD]
is_master = false
name = Caves
id = 3


[ACCOUNT]
encode_user_path = true


[STEAM]
master_server_port = 27016
authentication_port = 8766

[NETWORK]

server_port(服务器端口)

  • 默认值:10999。
  • 取值范围:10998 - 11018。
  • 此服务器将侦听连接的 UDP 端口。如果您正在运行多层世界,则同一台机器上的每个世界的此端口必须不同。

[SHARD]

is_master(主世界)

  • 默认值:无。
  • 只有一个世界是 主世界 ,主世界 的值是 true,从世界的值是 false。

name(服务器名)

  • 默认值:无。

id(服务器 id)

  • 默认值:随机生成的数字。
  • 为 从世界 随机生成的数字,每个世界都有一个独一无二的 id,用于区分不同的世界。

[STEAM]

master_server_port(主服务器端口)

  • 默认值:27016。
  • Steam 使用的内部端口。确保在同一台机器上运行的每个世界的 "master_server_port(主服务器端口)" 都不同。

authentication_port(认证端口)

  • 默认值:8766。
  • Steam 使用的内部端口。确保在同一台机器上运行的每个世界的 "authentication_port(认证端口)" 都不同。

leveldataoverride.lua(洞穴地形配置文件)

leveldataoverride.lua(洞穴地形配置文件):

return {
  background_node_range={ 0, 1 },
  desc="探查洞穴…… 一起!",
  hideminimap=false,
  id="DST_CAVE",
  location="cave",
  max_playlist_position=999,
  min_playlist_position=0,
  name="洞穴",
  numrandom_set_pieces=0,
  override_level_string=false,
  overrides={
    atriumgate="default",
    banana="default",
    bats="default",
    bats_setting="default",
    beefaloheat="default",
    berrybush="default",
    boons="default",
    branching="default",
    brightmarecreatures="default",
    bunnymen="default",
    bunnymen_setting="default",
    cave_ponds="default",
    cave_spiders="default",
    cavelight="default",
    chess="default",
    day="default",
    dropeverythingondespawn="default",
    dustmoths="default",
    earthquakes="default",
    extrastartingitems="default",
    fern="default",
    fissure="default",
    flint="default",
    flower_cave="default",
    flower_cave_regrowth="default",
    fruitfly="default",
    grass="default",
    grassgekkos="default",
    krampus="default",
    layout_mode="RestrictNodesByKey",
    lichen="default",
    liefs="default",
    lightflier_flower_regrowth="default",
    lightfliers="default",
    loop="default",
    marshbush="default",
    merms="default",
    molebats="default",
    moles_setting="default",
    monkey="default",
    monkey_setting="default",
    mushgnome="default",
    mushroom="default",
    mushtree="default",
    mushtree_moon_regrowth="default",
    mushtree_regrowth="default",
    nightmarecreatures="default",
    pigs_setting="default",
    prefabswaps_start="default",
    reeds="default",
    regrowth="default",
    roads="never",
    rock="default",
    rocky="default",
    rocky_setting="default",
    sapling="default",
    season_start="default",
    seasonalstartingitems="default",
    shadowcreatures="default",
    slurper="default",
    slurtles="default",
    slurtles_setting="default",
    snurtles="default",
    spawnprotection="default",
    specialevent="default",
    spider_dropper="default",
    spider_hider="default",
    spider_spitter="default",
    spider_warriors="default",
    spiderqueen="default",
    spiders="default",
    spiders_setting="default",
    start_location="caves",
    task_set="cave_default",
    tentacles="default",
    toadstool="default",
    touchstone="default",
    trees="default",
    weather="default",
    world_size="default",
    wormattacks="default",
    wormhole_prefab="tentacle_pillar",
    wormlights="default",
    worms="default" 
  },
  required_prefabs={ "multiplayer_portal" },
  settings_desc="探查洞穴…… 一起!",
  settings_id="DST_CAVE",
  settings_name="洞穴",
  substitutes={  },
  version=4,
  worldgen_desc="探查洞穴…… 一起!",
  worldgen_id="DST_CAVE",
  worldgen_name="洞穴" 
}

modoverrides.lua(洞穴 Mod 配置文件)

modoverrides.lua(洞穴 Mod 配置文件):

return {  }

文件汇总

Windows :

\文档\Klei\DoNotStarveTogether\MyDediServer
│
│  cluster_token.txt-------------------------------访问令牌
│  cluster.ini-------------------------------------服务器配置文件
│  admin.txt---------------------------------------管理员名单(可选)
│  whitelist.txt-----------------------------------白名单(可选)        
│  blocklist.txt-----------------------------------黑名单(可选)
│
├─Master
│      server.ini----------------------------------森林服务器配置文件
│      leveldataoverride.lua-----------------------森林地形配置文件
│      modoverrides.lua----------------------------森林Mod配置文件
│
└─Caves 
        server.ini----------------------------------洞穴服务器配置文件
        leveldataoverride.lua-----------------------洞穴地形配置文件
        modoverrides.lua----------------------------洞穴Mod配置文件

Linux :

~/.klei/DoNotStarveTogether/MyDediServer
│
│  cluster_token.txt-------------------------------访问令牌
│  cluster.ini-------------------------------------服务器配置文件
│  admin.txt---------------------------------------管理员名单(可选)
│  whitelist.txt-----------------------------------白名单(可选)        
│  blocklist.txt-----------------------------------黑名单(可选)
│
├─Master
│      server.ini----------------------------------森林服务器配置文件
│      leveldataoverride.lua-----------------------森林地形配置文件
│      modoverrides.lua----------------------------森林Mod配置文件
│
└─Caves 
        server.ini----------------------------------洞穴服务器配置文件
        leveldataoverride.lua-----------------------洞穴地形配置文件
        modoverrides.lua----------------------------洞穴Mod配置文件  

参考资料

Dedicated Server Settings Guide