DST联机

饥荒联机版服务器搭建教程

2018-08-09  本文已影响13319人  HoPGoldy

前言

准备

  1. 一个可以正常访问的windows server 2012服务器

    • 本教程使用腾讯云主机进行演示
  2. 饥荒联机版服务器包: Don't Starve Together Dedicated Server

    • 在steam上打开库→工具,找到 Don't Starve Together Dedicated Server 双击下载
      steam DST server
  1. 本地游戏端
    • 直接在steam上下载游戏即可

服务器搭建

和别的游戏不同,饥荒联机版的服务器根目录和服务器管理目录是不同的。我们绝大多数的操作将在服务器管理目录下进行,在服务器根目录下进行的操作只有mod添加及打开服务器。而饥荒联机版是不会创建管理目录的。所以首先让我们先来完成服务器管理目录的建设吧。

还有什么我需要了解的?

创建服务器管理目录

服务器管理目录需要创建在Klei\DoNotStarveTogether\目录下,该目录同样也是饥荒联机版的存档所在位置。创建服务器管理目录有以下两种方法:

  1. 下载我整理好的服务器管理文件包(密码:39gf) 注意!该方案虽然可用,但依旧建议使用游戏内新建存档的方式获得该目录 并将其解压至服务器的(我的)文档\Klei\DoNotStarveTogether\目录下,注意!请确保解压之后的MyDediServer文件夹下即为Master、Caves文件夹和两个文件,而没有夹杂额外的文件夹。

  2. 按下图在(我的)文档\Klei\DoNotStarveTogether\目录下新建目录并填充文件:
    具体文件内容参见本教程末尾的附录-服务器配置文件内容
    MyDediServer —— 服务器管理目录
     ├ Caves —— 洞穴地图存档目录
      ├ server.ini —— 洞穴配置文件
      ├ modoverrides.lua —— 服务器MOD设置文件
      └ worldgenoverride.lua —— 洞穴地形文件
     ├ Master —— 地面地图存档目录
      ├ server.ini —— 地面配置文件
      ├ modoverrides.lua ——此文件和Caves文件夹中的modoverrides.lua文件内容完全一致
      └ worldgenoverride.lua —— 地图地形文件(留空为随机地形)
     ├ cluster.ini —— 服务器配置文件
     └ cluster_token.txt —— 服务器令牌(接下来会通过游戏获取到)

申请服务器令牌

为了方便管理,饥荒联机版的服务器都需要申请一个服务器令牌,而申请该令牌的玩家将自动成为服务器的第一个管理员,申请令牌有以下两种方式:

  1. 控制台指令申请:
  1. 个人资料申请:

配置并启动服务器

  1. 服务器配置:打开MyDediServer\cluster.ini文件,填写服务器名称、服务器密码、服务器简介并按照中文提示设置相关选项,然后保存关闭。
  2. 创建服务器启动文件:进入\steam\SteamApps\common\Don't Starve Together Dedicated Server\bin路径,并在其下新建文本文档,填入以下内容后保存并改名为start,.bat
@echo off
start dontstarve_dedicated_server_nullrenderer -console -cluster MyDediServer -shard Master
start dontstarve_dedicated_server_nullrenderer -console -cluster MyDediServer -shard Caves
  1. 启动服务器:双击start.bat运行服务器,此时会生成两个cmd窗口,一个负责地面,一个负责洞穴。当出现以下字样时说明服务器启动成功: 启动服务器

至此,我们已经完成了一个纯净饥荒联机版服务器的搭建,现在就可以登陆游戏搜索你的服务器和小伙伴愉快的开黑啦。不过我们的服务器搭建并没有到此完结,若希望自定义地图和添加mod,请继续阅读接下来的服务器维护章节

服务器维护

该章节将介绍mod添加与删除、服务器地图更换、服务器管理指令等内容,请配合目录进行阅读。注意!接下来的操作中,mod管理与更换地图均需关闭服务器进行,未关闭服务器进行操作将会导致未知错误的发生。

mod添加、配置与删除

饥荒联机版的mod管理分为两部分,分别为mod的下载与更新(位于\steam\SteamApps\common\Don't Starve Together Dedicated Server\mod路径下,由其中的dedicated_server_mods_setup.lua进行控制)和mod的启用和配置(由(我的)文档\Klei\DoNotStarveTogether\MyDediServer\Caves(Master)\modoverrides.lua进行控制)。

mod的下载与更新

由于饥荒联机版加入了steam的创意工坊,这就使得mod的管理变的异常方便。我们甚至不需要去下载mod,只需要找到mod的编号,将其以ServerModSetup("mod编号")的方式加入\steam\SteamApps\common\Don't Starve Together Dedicated Server\mod\dedicated_server_mods_setup.lua文件即可(没有分号,一行一个)。如图:

dedicated_server_mods_setup.lua

这样,下次服务器启动时会检查该列表并自动访问创意工坊下载或更新所需的mod

我该怎么得知我需要的mod编号为多少?

  1. 打开创意工坊,找到自己想要添加的mod: 找到mod
  2. 打开mod页面,观察上方地址栏,红框标记出来的即为mod编号: 确认编号

mod的启用与配置

  1. 启用mod:在dedicated_server_mods_setup.lua文件中添加的mod是默认关闭的。如果想启用mod,就需要访问(我的)文档\Klei\DoNotStarveTogether\MyDediServer\Caves(Master)\modoverrides.lua文件,进行以下修改
return {
  ["workshop-MOD编号"] = {enabled=true},--添加该条语句将启用对应的mod。一行一个,使用,分隔
  }

注意!该文件在Caves和Master文件夹中均有一份,内容完全一样,请在修改一份后及时复制更新另一份
注意!请确保该文件中的mod已经添加在dedicated_server_mods_setup.lua文件中,否则可能出现无法预计的错误

  1. 配置mod:该操作有两种方法:
["workshop-MOD编号"]={
   configuration_options={ 
       配置项1 = "配置内容", 
       配置项2 = "配置内容", 
   },
   enabled = true 
 },

地图更换

当第一次运行时,服务器会根据MyDediServer\Master\MyDediServer\Caves\中的worldgenoverride.lua文件生成地图。倘若未对这两个文件进行修改,服务器将会随机生成地图,生成的地图存档就保存在上述两个文件夹内。而我们若是想游玩自己准备好的地图,就按接下来的步骤找到自己的存档,并将其覆盖至MyDediServer\Master\MyDediServer\Caves\文件夹中,重新启动服务器即可。
注意!更换地图后请确保地图存档中mod列表的一致性,如需修改请根据上文的的mod添加、配置与删除小节进行修改。

我该怎么找到自己的存档?

  1. 登陆游戏,找到自己的存档编号: 存档槽对应的数字即为存档编号
  2. 打开(我的)文档\Klei\DoNotStarveTogether\目录,其中的Cluster_1 ~ 5即为存档文件夹,根据自己的存档编号找到自己的存档文件夹:

    打开对应文件夹
  3. 打开自己的存档文件夹,将Caves文件夹里的东西复制到MyDediServer\Caves\中,将Master文件夹里的东西复制到MyDediServer\Master\中。

  4. 检查存档文件modoverrides.lua中是否存在服务器根目录\mod\dedicated_server_mods_setup.lua文件中没有的mod,若存在请根据上一小节进行修改。

服务器管理指令

添加管理员

  1. 向你的朋友询问他的id,可以登陆游戏后在个人资料中查看: 个人id
  2. 新建adminlist.txt文件,将好友的id填入该文件,一行一个,无需分割符。

  3. 将该文件分别放入\Klei\DoNotStarveTogether\MyDediServer\Caves(Master)\中。

  4. 重启服务器。

常用服务器命令

下列指令请以管理员权限进入游戏后在控制台输入:

参考资料:流年饥荒控制台指令大全

附录-服务器配置文件内容

cluster.ini

文档\Klei\DoNotStarveTogether\MyDediServer\cluster.ini

[GAMEPLAY]
game_mode = endless ;游戏模式,可选项有三个 survival(生存)、wilderness(荒野)、endless (无尽)
max_players = 6 ;游戏最大玩家数
pvp = false ;是否启用玩家伤害
pause_when_empty = true ;当服务器内没人时暂停时间

[NETWORK]
cluster_name = 服务器名称
cluster_description = 服务器简介
cluster_password = 服务器密码
cluster_intention = cooperative ;服务器风格,类型有四种 交际、合作、竞争、疯狂
autosaver_enabled = true ;是否启用自动存档
enable_vote_kick = false ;是否启用投票踢人

[MISC]
console_enabled = true ;是否启用控制台

[SHARD]
shard_enabled = true
bind_ip = 127.0.0.1
master_ip = 127.0.0.1
cluster_key = DontStarveTogetherDedicatedServer

Master\server.ini

文档\Klei\DoNotStarveTogether\MyDediServer\Master\server.ini

[NETWORK]
server_port = 10999


[SHARD]
is_master = true


[STEAM]
master_server_port = 10000
authentication_port = 20000


[ACCOUNT]
encode_user_path = true

Caves\server.ini

文档\Klei\DoNotStarveTogether\MyDediServer\Caves\server.ini

[NETWORK]
server_port = 11000


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


[STEAM]
master_server_port = 10001
authentication_port = 20001


[ACCOUNT]
encode_user_path = true

Caves\worldgenoverride.lua

文档\Klei\DoNotStarveTogether\MyDediServer\Caves\worldgenoverride.lua

return {
  override_enabled = true,
  preset = "DST_CAVE",
}

Caves\modoverrides.lua

文档\Klei\DoNotStarveTogether\MyDediServer\Caves\modoverrides.lua

return {
  --["workshop-MOD编号"] = {enabled=true},
  }
上一篇 下一篇

猜你喜欢

热点阅读