2021/7/3跟新 需要帮助可联系博主

系统版本 Ubuntu 16.04 server 64bit

1 配置Ubuntu16.04的系统环境

登录系统

用户名root,输入密码回车

login: root

Password:

更新软件列表

sudo apt-get update

安装依赖库

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

此处centos应该为 yum install libstdc++6:i386 libgcc1:i386 libcurl4-gnutls-dev:i386

中途会提示你是否继续,输入Y回车

​#​ps:软链接libcurl-gnutls.so.4到libcurl.so.4

注:如果32位库的安装出错一般是由于多个库冲突导致的,请在命令中加上:                 –setopt=protected_multilib=false                                                                              ps:关闭多重保护,让32位库和64位库并存。​

2 安装STEAMCMD命令行平台

mkdir ~/steamcmd 创建目录

cd ~/steamcmd进入目录

wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz 下载STEAMCMD平台包

tar -xvzf steamcmd_linux.tar.gz解压

./steamcmd.sh 执行

3 在STEAMCMD平台下安装游戏包

执行上完上面的./steamcmd.sh命令

会进入steamcmd平台的命令行Steam>,在这个后面输入下面的命令

login steam_Name在这里需要把steam_Name换成你的steam账号名字

password:输入你的密码

这时会出现Steam Guard code:

系统会向你的验证邮箱中发送验证码,填写到Steam Guard code:后面。

force_install_dir ../dstserver 告诉STEAMCMD平台安装的目录位置

app_update 343050 validate 安装游戏,343050是饥荒联机版本在steam中的游戏编号

quit 退出STEAMCMD平台

4 生成Don’t Starve Together服务的配置文件

$ cd /usr/lib/

$ ln -s libcurl.so.4 libcurl-gnutls.so.4

cd ~/dstserver/bin

./dontstarve_dedicated_server_nullrenderer

之后等待出现如下的画面Ctrl+c停止服务器的运行

图片1.png

5 配置服务器

获取访问令牌

在Don’t Starve Together游戏中进入账户信息

图片2.png

点击右上角的3条横线在其中找到游戏

图片3.jpg

点击服务器

之前存在访问令牌直接拷贝,不存在添加新服务器拷贝。

新建世界获取世界配置文件

在游戏中新建一个世界,记住这是你创建的第几个世界,假设为第x个,按照自己的喜欢调整地上和地下世界,进入选择人物界面后退出游戏。然后在文件管理系统中

文档\Klei\DoNotStarveTogethe一个9位数字的文件夹下有一些Cluster_x的文件夹,将这个文件夹拷贝出来。然后用访问令牌替换Cluster_x文件下cluster_token.txt中的所有内容。

替换世界配置文件

通过Winscp连接到远程服务器,可以直接进行文件的替换。输入云服务器的外网IP到主机名,再输入用户名和密码登录。

获得root用户的下所有文件目录

进入.klei/DoNotStarveTogether 可以看到Cluster_1文件夹。如果不能找到在右下方会提示有隐藏文件,双击即可显示。将拷贝好的文件夹和这个文件夹互换,重新命名为Cluster_1

图片8.png

6 配置启动脚本

新建一个rundst.sh的脚本文件。windows下的文本文档重命名不可行。

cd ~/ 移到root用户目录下

vi rundst.sh 新建一个脚本文件

通过输入:wq退出vi编辑器

通过Winscp打开,将下面的代码拷贝到脚本文件中。其中anonymous替换为自己steam的用户名。

root用户下对应的文档结构如下

图片9.png

#!/bin/bash

steamcmd_dir=”$HOME/steamcmd”
install_dir=”$HOME/dstserver”
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”

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: /’

添加脚本运行权限

chmod u+x ~/rundst.sh

运行脚本

./rundst.sh

最后在浏览世界中搜索自己的世界名称

添加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(“你自己的需要的MODI”)
ServerModSetup(“你自己的需要的MODI”)

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

目录Cluster_1\Master\modoverrides.lua用文本工具打开此文件

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

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