本文介绍了如何部署 Don't Starve Together(饥荒联机版)专用服务器,已经在 Windows 10 和 Ubuntu 20.04 上通过测试。

前言

Don't Starve Together(饥荒联机版)的专用服务器端(服务器端)& 客户端、Windows 版本 & Linux 版本的配置文件绝大部分是通用的。

可以使用客户端生成的绝大部分配置文件,替代专用服务器端(服务器端)相应的配置文件。

本文使用了客户端生成的绝大部分配置文件,专用服务器运行正常,已经在 Windows 10 和 Ubuntu 20.04 上通过测试。

一、生成访问令牌

Step1:登陆你的 Klei 账号

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

Step2:生成访问令牌

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

二、生成配置文件

Step1:启动客户端

选中 饥荒联机版,鼠标右键点击 "开始游戏" 按钮。

Step2:生成配置文件

创建游戏。

游戏风格。

服务器设置。

森林。

洞穴。

模组。

断开联线。

离开服务器。

Step3:更新访问令牌

打开存档文件夹

用记事本打开 "cluster_token.txt(访问令牌)" ,清空里面的内容,黏贴上文中的访问令牌。

Step3:创建 "MyDediServer" 文件夹

Windows 和 Linux 的 "MyDediServer" 文件夹地址是不同的:

Windows:

\文档\Klei\DoNotStarveTogether\MyDediServer

Windows 鼠标右键新建文件夹,创建 "MyDediServer" 文件夹。

Linux:

~/.klei/DoNotStarveTogether/MyDediServer

Linux 输入下面的命令,创建 "MyDediServer" 文件夹。

mkdir -p ~/.klei/DoNotStarveTogether/MyDediServer

Step3:复制 & 上传存档

将上文中的存档文件夹下的全部文件和子目录,复制到 "MyDediServer" 文件夹下。

如果你用的是 云服务器 或 vps,将存档上传到 "MyDediServer" 文件夹下。

Windows:

建议使用 "远程桌面连接",将存档复制到 "MyDediServer" 文件夹下。

Linux:

建议使用 FileZilla,将存档上传到 "MyDediServer" 文件夹下。

三、下载 & 安装专用服务器

Step1:下载 & 安装 SteamCMD

Windows:

① 下载并解压 SteamCMD

② 在 C 盘根目录创建一个名为 "steamcmd" 的文件夹

③ 将解压得到的 "steamcmd.exe" 文件,移动到 "steamcmd" 文件夹。

Linux:

① 安装依赖

64位:

sudo apt-get install -y libstdc++6:i386 libgcc1:i386 libcurl4-gnutls-dev:i386

86位:

sudo apt-get install -y libstdc++6 libgcc1 libcurl4-gnutls-dev

② 下载并解压 SteamCMD

wget "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" && tar -xvzf steamcmd_linux.tar.gz

③ 在当前用户的家目录创建一个名为 "steamcmd" 的文件夹

mkdir -p ~/steamcmd/

④ 将解压得到的全部文件和子目录,移动到 "steamcmd" 文件夹。

mv steamcmd.sh linux32 ~/steamcmd/

Step2:下载 & 更新 & 启动脚本

Windows:

打开记事本,复制并黏贴下面的代码,保存为 "run_dedicated_servers.bat" 。

c:\steamcmd\steamcmd.exe +login anonymous +app_update 343050 validate +quit
cd /D "c:\steamcmd\steamapps\common\Don't Starve Together Dedicated Server\bin"
start dontstarve_dedicated_server_nullrenderer -console -cluster MyDediServer -shard Master
start dontstarve_dedicated_server_nullrenderer -console -cluster MyDediServer -shard Caves

Linux:

① 下载官方脚本

wget https://accounts.klei.com/assets/gamesetup/linux/run_dedicated_servers.sh

② 赋予可执行权限

sudo chmod u+x ~/run_dedicated_servers.sh

Step3:下载 & 更新 & 启动专用服务器

Windows:

双击 "run_dedicated_servers.bat" 文件,就会自动下载专用服务器。

如果服务器的版本不是最新,会自动更新到最新版本。

最后启动专用服务器。

Linux:

sudo bash ~/run_dedicated_servers.sh

运行 "run_dedicated_servers.sh" 文件,同样会下载专用服务器,并更新到最新版本,最后启动专用服务器。

四、连接到专用服务器

以下三种方式,都可以连接到专用服务器,加入到指定的房间。

如果你不知道服务器的 ip 和端口,请打开 Don't Starve Together Server List。点击专用服务器,就可以查询该服务器的 ip 和 端口。

方式1:关键词搜索

启动饥荒联机版客户端,打开 "浏览游戏",输入关键字,搜索服务器。

方式2:控制台输入代码

启动饥荒联机版客户端,按下 ` 键,打开控制台。

# 连接到 ip 为 127.0.0.1 端口为 10888 的服务器
c_connect("127.0.0.1",10888)                   

# 连接到 ip 为 127.0.0.1 端口为 10888 的服务器,并输入密码 password
c_connect("127.0.0.1",10888,"password")          

方式3:设置启动项

点击 "库→饥荒联机版→属性→通用→启动选项",设置启动选项。

# 连接到 ip 为 127.0.0.1 端口为 10888 的服务器
+connect 127.0.0.1:10888                       

# 连接到 ip 为 127.0.0.1 端口为 10888 的服务器,并输入密码 password
+connect 127.0.0.1:10888 +password "password"  

Q & A

Q:无法连接到服务器

A:

① 关闭防火墙。

② 安全组放行全部端口。

③ 重新启动专用服务器。

Q:访问令牌不存在,无法启动服务器

A:重复上面的步骤,重新生成访问令牌,替换之前的访问令牌。

Q:服务器版本不匹配,无法加入服务器

A:

① 退出游戏,更新客户端到最新版本。

② 关闭专用服务器,更新专用服务器到最新版本,然后启动专用服务器。

③ 打开游戏,重新加入专用服务器。

Q:服务器出现中文乱码

A:用文本编辑器,打开配置文件,并以 UTF-8 的文件编码保存。

参考资料

Dedicated Server Quick Setup Guide - Windows

Dedicated Server Settings Guide