云网牛站
所在位置:首页 > Linux云服务器 > Ubuntu Server搭建与配置饥荒服务端实验手册

Ubuntu Server搭建与配置饥荒服务端实验手册

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

在Ubuntu Server中搭建饥荒服务端实验手册,内容有解决环境依赖、安装 SteamCMD、安装饥荒服务端、配置饥荒服务端及起航 - 启动游戏。

 

一、解决环境依赖

安装必要的库文件,在Ubuntu 64 位系统需要下载下列依赖文件:

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

 

二、安装 SteamCMD

1.新建目录 steamcmd

此目录用于 steam 程序的安装目录。

mkdir ~/steamcmd

2.下载 SteamCMD 安装文件

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

3.解压压缩包

cd ~/steamcmd

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

 

三、安装饥荒服务端

1.启动 steamcmd

./steamcmd.sh

请耐心等待客户端安装,直到进入了: Steam> 命令行模式。

如有遇到安装进度不走,请使用 ctrl + c 强制退出重试。

2.使用公共账户登录steam

login anonymous

3.指定游戏文件的安装目录

force_install_dir ../dontstarvetogether_dedicated_server

4.安装饥荒服务端

app_update 343050 validate

此过程所需时间视网络情况而定,请耐心等待下载。

重要:在安装完成之后,使用 quit 命令退出 steam 程序。

(1)成功安装所出现的标志:

Success! App '343050' fully installed.

(2)如果在安装过程中出现了:

Error! App '232250' state is 0x402 after update job

出现此类情况的原因是:Steam 存在网络连接问题。

解决方案则是执行 quit 先退出 Steam 程序。

重复步骤 安装饥荒服务端 的所有过程。

2.解决一个 lib 缺失

cd ~/dontstarvetogether_dedicated_server/bin/lib32

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

 

四、配置饥荒服务端

1.获取 cluster_token 和 UserID

打开你的饥荒联机版,点击游戏界面中右下角的个人账户。

Ubuntu Server搭建与配置饥荒服务端实验手册

之后选择 Generate Server Token 获取令盘。

并同时记录下令牌内容和 UserID 内容。

2.新建饥荒配置文件目录

饥荒的配置目录位于: ~/.klei/DoNotStarveTogether

该目录下存放的是游戏存档,我们手动创建一个存档目录:

mkdir -p ~/.klei/DoNotStarveTogether/MyDediServer

cd ~/.klei/DoNotStarveTogether/MyDediServer

3.配置主配置文件

新建 cluster.ini 文件,该文件定义了服务端的主要属性:

touch cluster.ini

在该文件中主要属性解释如下:

字段

释义

max_players

最大在线人数

game_mode

游戏模式,可选:survival,endless,wilderness

pause_when_empty

服务器内无玩家时暂停

vote_kick_enabled

玩家投票踢人

max_snapshots

最大存档回滚次数

请参照下列内容配置你的属性文件:

[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

4.配置令牌和服务器管理员

配置令牌:

先新建 cluster_token.txt 文件,再将此前获取到的 Token 复制到文件中。

touch cluster_token.txt

先新建 adminlist.txt 文件,再将此前获取到的 UserID 复制到文件中

touch adminlist.txt

5.配置地上部分

请在 MyDediServer 目下新建 Master 目录:

mkdir Master

cd Master

配置独立配置文件,新建 server.ini 文件。

touch server.ini

文件内容如下:

[NETWORK]

server_port = 11000

[SHARD]

is_master = true

[STEAM]

master_server_port = 27018

authentication_port = 8768

[ACCOUNT]

encode_user_path = true

配置地图文件,新建 worldgenoverride.lua 文件。

touch worldgenoverride.lua

文件内容如下:

return {

override_enabled = true,

preset = "SURVIVAL_TOGETHER",

}

6.配置地下部分

地下部分与地上部分极其相似,但是两个实例互相独立。

请在 MyDediServer 目下新建 Caves 目录:

mkdir Caves

cd Caves

配置独立配置文件,新建 server.ini 文件。

touch 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

配置地图文件,新建 worldgenoverride.lua 文件。

touch worldgenoverride.lua

文件内容如下:

return {

override_enabled = true,

preset = "DST_CAVE",

}

 

五、起航 - 启动游戏

1.建立启动脚本

先返回家目录,而后再创建启动脚本。

cd ~

touch startDST.sh

脚本内容如下:

#!/bin/bash

steamcmd_dir="$HOME/steamcmd"

install_dir="$HOME/dontstarvetogether_dedicated_server"

cluster_name="MyDediServer"

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

2.启动游戏

到此所有的配置过程结束,但是为了方便饥荒在后台运行。

这里我们需要利用 screen 命令。

利用 screen 命令创建一个新窗口,便于后台运行:

screen -S DST

那么,现在请启动脚本,开始游戏吧

./startDST.sh

注意:

在该启动脚本上,将同时在一台服务器上运行地上地下两个部分,而每一个实例大概需要 500-600M 内存,两个实例大约共需要 1.2G 左右内存,本实验所提供的服务器是不够运行两个部分的,所以如果想要在该试验中验证结果,请删除启动脚本的倒数第二行地下(洞穴)部分的代码。也就是下列所述内容:

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

饥荒是一个只支持单核的游戏,所以如果需要完整的运行地上、地下两部分,以及后期打上一些 Mod。

 

附有关服务器配置

本教程中的饥荒服务器配置是采用手写的方式一步一步完成的,然而事实上我们可以借助饥荒客户端的游戏界面完成配置文件的生成。再通过 FTP 之类将配置文件上传到服务器中。

有关此操作的详细内容见:Ubuntu Server 16.04 64位系统搭建饥荒服务端

 

相关主题

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

精选文章
热门文章