用腾讯云轻量服务器搭建饥荒联机版专用服务器

前言

放寒假了,于是又把饥荒捡起来快乐的玩耍.

玩过饥荒联机版的小伙伴应该都遇到过这种情况:房间中的某人延迟飘红,严重的时候直接掉线.

此外,如果房主把游戏关了,那么房间内的其他人也会掉线(因为房主是服务端嘛

而自己搭建服务器完全可以解决上面的情况

准备

首先我们需要一台云服务器.

如果你只玩地面世界的话,只需要1G的内存就够了,如果要地面+洞穴,那就需要2G的内存了.

我们看一下官方给的推荐配置:

这里我使用的是腾讯云的轻量云服务器.价格便宜实惠.

如果是学生的话,更是可以以10元/月的价格买到1H2G5M的配置.对于一个六个人的房间来说,5M的带宽简直是绰绰有余.

下面给出腾讯云轻量服务器的介绍

腾讯云轻量服务器购买链接:https://cloud.tencent.com/product/lighthouse

学生优惠价格购买:https://cloud.tencent.com/act/campus

安装必要环境及工具

购买服务器后,在你习惯的ssh工具下连接你的云服务器.

先更新一下yum ( Linux系统中安装软件包的工具 ) :

yum update
yum upgrade -y

安装一下宝塔,等下上传文件并在里面修改比较方便

Centos安装命令:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

Ubuntu/Deepin安装命令:

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

Debian安装命令:

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

安装完宝塔后,点击ssh内的链接进入宝塔面板首页,不需要安装推荐的LNAMP,先放到一边,我们等会再用.

然后安装一下饥荒所需要的运行环境以及工具

yum install glibc.i686 libstdc++.i686 libcurl.i686 vim screen -y

安装SteamCmd并下载饥荒

SteamCmd是Steam的Linux客户端

mkdir SteamCmd
cd SteamCmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -zxvf steamcmd_linux.tar.gz

启动Steam客户端匿名登陆并下载饥荒 ( 饥荒专用服务器ID为 343050 ),下载的目录在home/dst,可以自行调整

./steamcmd.sh 
login anonymous 
force_install_dir /home/dst 
app_update 343050 validate 
quit

可能出现以下提示:


Connecting anonymously to Steam Public...Logged in OK
Waiting for user info...Warning: failed to init SDL thread priority manager: SDL not found
OK

这是由于缺少32位SDL库而导致的错误。

这个不会导致游戏错误,可以忽略.

最后验证无误后结果应如图:

饥荒下载完毕后,先启动一次服务器,验证是否缺失依赖

cd /home/dst/bin
./dontstarve_dedicated_server_nullrenderer -cluster MyDediServer -shard Master

可能会报错误:找不到libcurl-gnutls.so.4

error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or director

这时候我们打开宝塔面板,在如下/usr/lib文件目录里找到这个文件并复制到/home/dst/bin/lib32里,然后再次启动一下服务器康康是否缺失依赖.

如果你在/usr/lib目录里没有我上图中③所示的文件,只有上图中椭圆圈出来的文件.那么你需要回到ssh界面,执行如下指令:

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

回到宝塔面板刷新一下就显示了.

最后启动后如下图就可以了

正常启动后,按Ctrl+C即可关闭服务器

获取饥荒个人ID和服务器TOKEN

打开饥荒联机版游戏,首页点击账号

记录下面的个人ID:

点击上方的游戏,在下面选择饥荒联机版服务器.

给服务器起个名字,然后点击添加新的服务器,记住给的服务器token后面要用.

配置存档

由于饥荒服务器直接添加配置文件太过复杂,这里推荐使用存档替换的方式:

首先在自己的电脑启动饥荒游戏,新创建一个游戏存档,在这里记住你新建的游戏存档在第几个栏位.因为在后面存放饥荒数据的文件夹里是按照饥荒存档创建的顺序存放的.

在创建游戏界面自定义自己的世界配置和模组Mod,启动世界后一直到选择人物时退出.

回到游戏首页,点击账户旁边的数据,会打开一个文件夹,里面有你的本地存档.

我们找到我们刚创建的存档文件夹,名称为Cluster_[数字],数字就是你刚才创建存档的栏位.

这时我们把这个文件夹的内容上传到我们服务器的/root/.klei/DoNotStarveTogether/MyDediServer目录下

我们这里使用宝塔上传.覆盖原来的Master文件夹

上传结果如图

我们在这个文件夹里新建两个文件:cluster_token.txt和adminlist.txt

cluster_token.txt里填写服务器token,adminlist.txt里不需要填写你的个人ID,因为服务器token所有者本来就有管理权限,如果你想让自己的小伙伴成为管理员,可以添加他的ID

最后结果如下图.因为我没有选择洞穴(因为我是彩笔,每次都玩不到洞穴),所以我只有主世界Master,如果你选了洞穴的话,还会有Caves文件夹

之后我们需要编辑一下cluster.ini,找到shard_enabled行,修改为true

文件对应说明:
Master 文件夹为主世界即地面世界存档及配置
Caves 文件夹为洞穴世界存档及配置
cluser.ini 文件为服务器信息,世界名称,密码等
cluster_token.txt 为服务器 token
Master和Caves中共有的:
backup -> 服务器日志及聊天日志存档
save ->存档文件夹
sever_chat_log.txt -> 服务器此次启动中玩家的聊天内容
server_log.txt -> 服务器日志
server.ini -> 世界的配置信息,端口等
leveldataoverride.lua->世界配置文件,即为世界详细配置,可以直接对其更改
modoverrides.lua -> Mod配置文件,可以对其修改完成服务器Mod配置

配置Mod

如果在生成世界时没有选择mod的玩家可以跳过这一步了,直接看下一步启动游戏即可.

我们点开Master文件夹,里面有modoverrides.lua文件,我们将其打开,就可以看见我们的模组id了,我们需要记下这些id.

我们在/home/dst/mods目录下找到dedicated_server_mods_setup.lua并编辑打开.

按照ServerModSetup("模组id")的格式填入,有多少模组就填多少

配置过之后,下次启动游戏时就会自动下载Mod并启用。

游戏启动

为了让游戏后台运行,我们可以用screen命令.

先执行screen -S DSTgame,新建一个名叫DSTgame的screen.然后执行以下命令启动服务器

cd /home/dst/bin
# 启动地面世界
./dontstarve_dedicated_server_nullrenderer -console -cluster MyDediServer -shard Master
# 启动洞穴世界
./dontstarve_dedicated_server_nullrenderer -console -cluster MyDediServer -shard Caves

关于启动命令中的参数:
-console : 启动控制台,即在服务器Shell端可以直接使用命令;
-cluster : 使用存档名为MyDediServer的存档,位置默认在~/.kiel/DoNotStarveTogether中;
-shard : 启动的世界名称,对应的是存档文件夹中的世界文件夹名;
-only_update_server_mods : 仅进行Mod更新。

启动服务器之后,按Ctrl+A,然后按Ctrl+D即可

如何更新饥荒及Mod版本

ssh链接服务器执行以下指令

更新游戏

cd /home/steam/SteamCmd
./steamcmd.sh 
login anonymous 
force_install_dir /home/dst 
app_update 343050 validate 
quit

更新Mod

cd /home/dst/bin
./dontstarve_dedicated_server_nullrenderer -only_update_server_mods

© 版权声明
THE END
喜欢就支持以下吧
点赞1赞赏
分享
评论 抢沙发

请登录后发表评论