f7cd975b1b03dbf0540fdfea88d85cb1.png

饥荒(Don't Starve Together)是我非常喜欢玩的游戏之一,曾与小伙伴彻夜游玩,不过毕业之后就不怎么玩过了。最近心血来潮,想搭建一个服务器,正好手头还有企鹅的学生服务器,配置不高,不过就几个人玩玩还是可以的。

我现在网上搜索,不过大多教程并不友好,操作过于繁琐。不过总算让我找到一个相对简单的教程,不过原教程在实际配置中存在错误,所以打算自己写一篇。废话不多,直接开始教程。

Linux上搭建饥荒联机版Don't Starve Together服务器​hi.ktsee.com
92ddaf92c6a4fe819186095e58c31dc4.png

上面是我参考的教程现在我重新整理一下(重复部分我就拿过来了,因为不知道怎么联系原作者,如果原作者看到,请告知我)

1.配置环境

先安装依赖库

Ubuntu 64位环境:

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

Ubuntu 32位环境:

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

如果安装失败,请先执行以下命令

dpkg --add-architecture i386
apt-get update

2.安装STEAMCMD命令行平台及游戏包

下载SteamCMD:

mkdir ~/steamcmd
cd ~/steamcmd
wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz

你也可以使用饥荒官网提供的精简版SteamCMD:

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

解压安装

tar -xvzf steamcmd_linux.tar.gz
./steamcmd.sh

steam>模式下,登录及安装游戏包

login anonymous
force_install_dir ../dstserver
app_update 343050 validate
quit

3.配置Don't Starve Together

生成默认配置文件

cd ~/dstserver/bin
./dontstarve_dedicated_server_nullrenderer

当看到以下提示

[200] Account Failed (6): "E_INVALID_TOKEN"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!! Your Server Will Not Start !!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

4.设置Token

注意此处与原文不同,注意!!!

由于之前原教程时间比较早,随着饥荒的更新,获取Token位置已改.

我现在为目前写这篇教程的最新版(2018-12-20)

首先我们打开饥荒联机版,已在线方式登录,点击游戏下方Account(资料)按钮

6b028434f3eb93c1595fe5a226d82e28.png

进到steam浏览器中,期间我们会自动登录,选择页面中左上角的游戏,点击后进入选择页面选择Don't Starve Together服务器

2c61fafdab4e4ddf0de8f47ac219a3da.png

进入后即可获取Token,任选一个即可(如果没有点击下方的生成按钮)

f0edffd7ad7a2470a30682a891e2ec36.png

然后再在服务器的饥荒的文件(目录参考步骤5)里,配置Token

vi ~/.klei/DoNotStarveTogether/cluster_token.txt

(2020/4/12修改)

token文件现在的位置现在貌似改了,请在下一步Cluster_1文件也放入cluster_token.txt文件,内容一样

将你的Token写在cluster_token.txt里(也可以自己上传,目录正确即可)

5.设置服务器全局配置(此处可参考原教程,如果服务器可以远程上传文件则可以使用笔者的方法)

打开winscp(其他远程软件也行)连接你的服务器

找到服务器饥荒目录home/ubuntu/.klei/DoNotStarveTogether

(因为是隐藏文件,需要把winscp显示隐藏文件打开)

984f363be1ae14f297709f614a770709.png

我们可以看到一个名叫Cluster_1的文件夹,这就是我们饥荒配置文件了。

原作者这里就复杂了,因为我们有winscp,我们可以直接将我们本地的饥荒文件上传到对应的目录这样我们就可以省去手动配置的烦恼。

方法如下:

打开饥荒创建一个联机房间(创建房间都不会的可以放弃了),将你需要的配置在游戏里都配置好(包括mod,世界参数等等),然后我们找到本地的存档文件

我的路径我的文档KleiDoNotStarveTogether137561453Cluster_1

个人电脑可能有些许差异,反正我们只需找到这个Cluster_1文件加即可

这里稍微解释一下,Cluster是默认名称,后面的数字表示你存档的位置,对应游戏中五个存档,你只需要把你想要的拿过来即可,不用在乎后面的数字

好,找到文件后,我们直接将Cluster_1里的全部文件上传至服务器的Cluster_1

这样我们的饥荒配置就完成了!

6.配置MOD(选配,不需要可以跳过)

(原教程此处可能与目前版本不符合)

因为我们是在本地游戏配置好后,直接上传配置文件的,所以我们不需要手动配置Master

Caves文件夹里的modoverrides.lua文件,如果是后期添加,可以参考原教程

我们只需要在dedicated_server_mods_setup.lua配置mod的加载即可

我按照原教程来,发现mod并不加载,后来我发现mod配置文件已经被自动建立在

/home/ubuntu/dontstarvetogether_dedicated_server/mods里

所以这里推荐先使用find命令先找dedicated_server_mods_setup.lua文件

find /home -name dedicated_server_mods_setup.lua

如果找到则自己修改,如果没找到,大家可以试试原教程

编辑dedicated_server_mods_setup.lua文件

vi dedicated_server_mods_setup.lua

填入

ServerModSetup("你自己的需要的MODID")
ServerModSetup("你自己的需要的MODID")
ServerModSetup("你自己的需要的MODID")

MODID可以在mod的创意工坊页面链接处看到,获取你可以根据自己上传的存档

目录Cluster_1Mastermodoverrides.lua用文本工具打开此文件

d8a84784c7c70c86ed0f16e8416de898.png

workshop-一串数字,那些就是我们目前配置所需的mod

将其按照格式填入dedicated_server_mods_setup.lua文件中即可,启动服务器就可以了

之后添加参考原教程

7.启动服务器

创建启动服务器脚本

cd ~/
vi rundst.sh

填入(此处略有差异,需要根据自己的实际目录来)

cluster_name应该是你自己的服务器生成的存档名Cluster_1

#!/bin/bash

steamcmd_dir="$HOME/steamcmd"
install_dir="$HOME/dontstarvetogether_dedicated_server"
cluster_name="Cluster_1"
dontstarve_dir="$HOME/.klei/DoNotStarveTogether"

function fail()
{
        echo Error: "$@" >&2
        exit 1
}

function check_for_file()
{
    if [ ! -e "$1" ]; then
            fail "Missing file: $1"
    fi
}

cd "$steamcmd_dir" || fail "Missing $steamcmd_dir directory!" # TODO

check_for_file "steamcmd.sh"
check_for_file "$dontstarve_dir/$cluster_name/cluster.ini"
check_for_file "$dontstarve_dir/$cluster_name/cluster_token.txt"
check_for_file "$dontstarve_dir/$cluster_name/Master/server.ini"
check_for_file "$dontstarve_dir/$cluster_name/Caves/server.ini"

./steamcmd.sh +force_install_dir "$install_dir" +login anonymous +app_update 343050 +quit

check_for_file "$install_dir/bin"

cd "$install_dir/bin" || fail 

run_shared=(./dontstarve_dedicated_server_nullrenderer)
run_shared+=(-console)
run_shared+=(-cluster "$cluster_name")
run_shared+=(-monitor_parent_process $$)
run_shared+=(-shard)

"${run_shared[@]}" Caves  | sed 's/^/Caves:  /' &
"${run_shared[@]}" Master | sed 's/^/Master: /'

以上配置可能需要修改到下面几个文件,大家根据自己安装情况填写

steamcmd_dir="$HOME/steamcmd"  #steamcmd的路径
install_dir="$HOME/dontstarvetogether_dedicated_server" #饥荒服务器的安装路径
cluster_name="Cluster_1" #加载的存档名称
dontstarve_dir="$HOME/.klei/DoNotStarveTogether" #饥荒存档的文件路径

给脚本赋予执行权限

chmod u+x ~/rundst.sh

执行脚本,开启服务器

./rundst.sh

这样运行没报错即可

8.常见问题

1.我想修改服务器配置,比如人数,密码等改怎么操作

cluster文件里有个cluster.ini,主要配置请在里面修改

具体配置参考:

饥荒联机独立服务器搭建教程(三):配置篇 | 天天の記事簿​blog.ttionya.com
a555a9e4a8db0bd48892b4cda7f8d7e8.png

2.关闭和服务器连接后,饥荒服务器就停了

方法很多,搜索ubuntu 代码后台运行任意选一种即可

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐