云网牛站
所在位置:首页 > Linux云服务器 > Ubuntu Server 16.04 64位系统搭建饥荒服务端

Ubuntu Server 16.04 64位系统搭建饥荒服务端

2018-08-03 20:28:05作者:猫语巧克力稿源:linux站

在Ubuntu Server 16.04.1 LTS 64位操作系统中搭建饥荒服务端,所用的Linux云服务器为腾讯云,主机配置是处理器1核、内存2GB、硬盘50GB、带宽1Mbps。下面是搭建的具体步骤:

 

1.本地准备

配置部分进行部分修改,原内容已经迁移至文章末尾。现在对配置文件的获取将通过饥荒客户端获得(原内容是手写配置文件,比较麻烦)。

Ubuntu Server 16.04 64位系统搭建饥荒服务端

(1)获取 UserID

点击个人资料(见上图的中的 1),在打开的界面中找到 UserID 值,记录下来(该值为你在饥荒中的玩家 ID )。

(2)配置地图

点击创建世界(见上图中的 2),进入图形化世界地图配置界面。如下图所示:

Ubuntu Server 16.04 64位系统搭建饥荒服务端

首先,指定游戏风格:共四种类型,除了影响到服务器中世界图标外无其他作用。在指定完毕之后,进入到世界基本属性设置界面:

Ubuntu Server 16.04 64位系统搭建饥荒服务端

在这里,主要修改名称、描述和密码。他们影响到世界列表中服务器描述内容,而密码则是服务器的钥匙。接下来配置地上和洞穴部分:

地上,对应 Master 部分,在该选项卡中可以具体的定制世界属性,比如指定世界大小,而当在服务器性能不足时调整世界大小也是一种选择。

洞穴,对应 Caves 部分,在这里需通过图形化界面获取到饥荒的所有属性配置,所以这里勾选添加洞穴。在服务器上再通过命令手动指定是否启动地下。

Ubuntu Server 16.04 64位系统搭建饥荒服务端

(3)安装 Mod

无 Mod,不饥荒(请根据服务器性能量力而行)。

首先在 Steam 创意工坊订阅好你所需要的 Mod,然后在服务端 Mod 处勾选需要激活的 Mod ,见下图 1;同时对于提供了设置的 Mod ,可以点击螺丝图标配置其属性,见下图 2。

Ubuntu Server 16.04 64位系统搭建饥荒服务端

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

(5)获取配置文件

对于 Windows 端的饥荒,此时的配置文件应该存放于文档目下的 Klei 目录里:

C:\Users\你的用户名\Documents\Klei\DoNotStarveTogether

Ubuntu Server 16.04 64位系统搭建饥荒服务端

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

复制该存档到桌面,删除一些无用的文件,确保删除后的文件结构为:

Ubuntu Server 16.04 64位系统搭建饥荒服务端

(6)简要的配置

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

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

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

在 dedicated_server_mods_setup.lua 文件中写入 ServerModSetup("347079953") 。一行一个,把 modoverrides 中的按照这种形式写入到该文件中。

 

2.服务器操作

登录服务器,这里推荐 Xshell,在其官网可以下载到免费的家庭/学生版本。

(1)安装环境依赖

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

(2)下载 Steam 客户端

mkdir ~/steamcmd

cd ~/steamcmd

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

tar -xvzf steamcmd_linux.tar.gz

(3)安装饥荒服务端

./steamcmd.sh

此时进入 steam> 应用,在该模式下通过匿名账户登录,然后指定安装目录,最后再安装饥荒服务端:

login anonymous

force_install_dir ../dontstarvetogether_dedicated_server

app_update 343050 validate

quit

(4)解决 lib 缺失

mkdir -p ~/dontstarvetogether_dedicated_server/bin/lib32

ln -s /usr/lib/libcurl.so.4 libcurl-gnutls.so.4

(5)上传配置文件

首先,创建游戏文件夹:

mkdir -p ~/.klei/DoNotStarveTogether

然后,通过 FTP 之类软件将步奏一中所准备的文件夹整体上传到 DoNotStarveTogether 目录下(也就是前文提到的 Cluster_1 文件夹)。

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

FTP 类软件推荐使用 XFtp ,与 Xshell 是同一家公司产品,两个应用之间可以非常方便的互相调用。

(6)制作启动脚本

回到家目录 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 Caves  | sed 's/^/Caves:  /' &

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

赋于启动权限:

chmod +x ./startDST.sh

注意:

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

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

(7)启动游戏

利用 screen 命令启动一个新窗口,便于后台运行

screen -S DST

启动脚本文件

./startDST.sh

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

 

附:仅供参考

对以上配置部分进行修改,原内容已经迁移至文章末尾。附:该部分内容事实上仍然可以参考使用。缺点是需要手写配置,较为麻烦。

(1)获取cluster_token、UserID

打开饥荒联机版,点击游戏界面右下账户打开个人信息界面:

Ubuntu Server 16.04 64位系统搭建饥荒服务端

点击Generate Server Token获取cluster_token,同时也记录UserID值。

(2)游戏配置文件(本地进行)

在本地新建 MyDediServer 目录。

在 MyDediServer 目录下新建 cluster_token.txt 文件,将上一步获取到的cluster_token复制到文件内。

在 MyDediServer 目录下新建 adminlist.txt 文件,将上一步获取到的UserID复制到文件内。

在 MyDediServer 目录下新建 cluster.ini 文件,内容如下:

[GAMEPLAY]

max_players = 6

pvp = false

game_mode = endless

pause_when_empty = true

vote_kick_enabled = true

[NETWORK]

cluster_description = 服务器描述

cluster_name = 服务器名称

cluster_password = 服务器密码

cluster_intention = cooperative

[MISC]

max_snapshots = 6

console_enabled = true

[SHARD]

shard_enabled = true

bind_ip = 127.0.0.1

master_ip = 127.0.0.1

master_port = 10889

cluster_key = supersecretkey

在 MyDediServer 目录下新建 Caves 和 Master 目录

在 Caves 目录下新建 server.ini 文件,内容如下:

[NETWORK]

server_port = 11001

[SHARD]

is_master = false

name = Caves

[STEAM]

master_server_port = 27019

authentication_port = 8769

[ACCOUNT]

encode_user_path = true

在 Caves 目录下新建 worldgenoverride.lua 文件,内容如下:

return {

override_enabled = true,

preset = "DST_CAVE",

}

在 Master 目录下新建 server.ini 文件,内容如下:

[NETWORK]

server_port = 11000

[SHARD]

is_master = true

[STEAM]

master_server_port = 27018

authentication_port = 8768

[ACCOUNT]

encode_user_path = true

在 Master 目录下新建 worldgenoverride.lua 文件,内容如下:

return {

override_enabled = true,

preset = "SURVIVAL_TOGETHER",

}

截止到目前,你应该拥有的目录结构为:

Ubuntu Server 16.04 64位系统搭建饥荒服务端

 

相关主题

linux云服务器ubuntu安装饥荒专属服务器

精选文章
热门文章