Ubuntu 搭建饥荒熔炉服务端

Ubuntu 搭建饥荒熔炉服务端

0 说明

熔炉模式下线后,在steam创意工坊提供了关于熔炉模式的mod,下面就关于在Ubuntu搭建饥荒熔炉服务器进行说明。(该方法适用于搭建简单的饥荒服务器)

1 本地

(1) 获取USER ID,获取联机密钥
打开steam客户端,打开Don’t Starve Together游戏。

选择“个人资料”,弹出的界面中“USER INFO”选项下的KLEI USER ID为饥荒中玩家ID。

选择GAMES中MY GAMES中的Servers,可以查看联机许可证,如果没有需要自动生成。

复制ACCESS TOKEN下的密钥到cluster_token.txt文件中待用。

(2)配置地图(mod选择(非熔炉还可以对地图等进行选择))
进入Steam创意工坊订阅“Forged Forge”mod。
点击创建世界,进入图形化世界地图配置界面。如下图所示:

Mod:只启用服务器Mod中的“Forged Forge”

接下来,点击“创建世界”完成配置文件的生成,等待服务器启动,当出现人物选择界面时,无需进入游戏,直接点击断开即可。

(3)获取服务器文件
对于 Windows 端的饥荒,此时的配置文件应该存放于文档目下的 Klei 目录里:

C:\Users\你的用户名\Documents\Klei\DoNotStarveTogether*****(数字)

具体到目录(存档)则是:Cluster_X ,X 取决于当前地图存档数量。

复制该存档到桌面,删除一些无用的文件,确保删除后的文件结构为:(其中cluster_token.txt为上文获取到的服务器ACCESS TOKEN的密钥)

 └── Cluster_1
       ├── cluster.ini
       ├── cluster_token.txt
       └── Master
            ├── server.ini
            ├── modoverrides.lua
            └── leveldataoverride.lua

(4)简要的配置
需要为服务器指定管理员,在 Cluster_1 目录下,新建 adminlist.txt 文件,将前面获取到的 UserID 复制到该文件。

因为在选择 MOD 时,是已经在创意工坊下载好了,但是在服务器端,服务器还未下载,所以需要先告诉饥荒需要下载的内容 。

新建 dedicated_server_mods_setup.lua 文件(不放在 Cluster_1 目录里,另有他用),然后打开 Master 目录中的 modoverrides.lua 文件,在该文件中能够看到形如 [“workshop-1531169447”] 之类的字符,记录下后面的那串数字(数字对应的是 Mod 在创意工坊中的 ID)。

在 dedicated_server_mods_setup.lua 文件中写入 ServerModSetup(“1531169447”) 。

2 服务器

平台:阿里云
主机:1核 2GB 40GB 1Mbps
操作系统:Ubuntu 16.04 64位

使用SSH工具连接服务器(如:Xshell、SecureCRT等)
使用WinSCP工具连接服务器(协议可以选择FTP、SCP等)
(1)安装环境依赖

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

如果报错,请更新

sudo apt-get update

(2)下载和安装Steam客户端

mkdir ~/steamcmd
cd ~/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 ../dontstarvetogether_dedicated_server
app_update 343050 validate
quit

(3)解决 lib 缺失

mkdir -p ~/dontstarvetogether_dedicated_server/bin/lib32
ln -s /usr/lib/libcurl.so.4 libcurl-gnutls.so.4

(4)上传配置文件

首先,创建游戏文件夹:

mkdir -p ~/.klei/DoNotStarveTogether

然后,通过WinSCP将1 本地中所准备的文件夹整体上传到 DoNotStarveTogether 目录下(也就是前文提到的 Cluster_1 文件夹)。
(PS:使用WinSCP时无法查看隐藏文件(文件前有点表明这个隐藏文件,因此.klei为隐藏文件夹,需要在选项——>面板——>通用中勾选显示隐藏文件))

接下来上传 MOD 配置文件,还记得另有他用的 dedicated_server_mods_setup.lua 文件吗,将它上传到 ~/dontstarvetogether_dedicated_server/mods 目录下(覆盖文件)。

(5)制作启动脚本

回到家目录 cd ~ ,在该目录下创建 vim startDST.sh 脚本,内容如下:

#!/bin/bash

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

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 Master | sed 's/^/Master: /'

赋于启动权限:

chmod +x ./startDST.sh

注意:

脚本中最一行代表了启动Master
(其他说明中可以再看到脚本启动了两个实例,Caves和Master,这两个大约共需要1.2G左右的内存,如果只玩地上部分,可以将含有Caves一行删除。)

脚本中的 cluster_name=”Cluster_1” ,指的是存档的名称,通过修改这个值就可以启动不同的存档啦。

(6)启动游戏
利用 screen 命令启动一个新窗口,便于后台运行

screen -S DST

启动脚本文件

./startDST.sh

可通过 Ctrl + A + D 进入后台,通过 screen -r DST 返回窗口。

(7)终止服务器

请先断开连接,即所有玩家退出服务器。然后回到SSH工具,按住Ctrl + C断开连接。

参考资料:
https://blog.csdn.net/szhiy/article/details/79996017
感谢大神!!!

猜你喜欢

转载自blog.csdn.net/fabianjiang8359/article/details/83039674