Linux环境饥荒服务器手动搭建教程

dst_bg.jpg

Hey! bro. you should find something to eat before night.

一些废话

饥荒是我很喜欢玩的一款单机独立游戏,自从出了联机版之后更是爱不释手,时不时就打开和小伙伴一起联机玩玩。

但是!很多人应该都体会过自己的电脑当服务器的感觉,玩的时间长了,游戏体验越来越差,游戏卡顿现象也越来越严重,而且!你电脑关机了别的小伙伴就不能继续玩了!(谁天天电脑24小时开着机~,因此很多人想要花钱买个专门的服务器来开服,而开服的难度对于很多人来说比较难我就想好好玩游戏我才不想折腾代码!
所以才有了这篇文章,其实网上也有各种各样的类似教程,我这里也是保存一下经验以备以后使用同时给他人提供方便。

废话少说,我们开始干正事吧!

这篇文章主要以手动从零配置服务器为主。不想麻烦想简单的请点击下面的贴子

这里还在施工,后面会有该教程需要的各种附属教程


基本条件

饥荒服务器不太吃CPU但肯定CPU越多性能越好,服务器主要吃内存和网络带宽,要想流畅玩耍请注意服务器的配置。

  1. 主世界服务器洞穴服务器分别占用大概700M内存
  2. 每名玩家大概占用100M左右内存和大概50Kbps网络带宽

环境搭建

首先,不会linux的小伙伴请先百度自学一下SSH还有Linux基本命令。因为我们需要来连接远端服务器并输入执行命令
下面假设你已经知道个大概用法了。

这里Linux选择服务器端用得比较多的CentOS作为系统环境,系统版本为7.6

下面命令依次输入(或者复制)并执行

$ sudo yum update
$ sudo yum -y install glibc.i686 libstdc++.i686 libcurl4-gnutls-dev.i686 libcurl.i686 screen

以上操作完毕,你的云服务器就已经有了运行服务器的基本条件了。

服务器安装

这个不用说肯定最重要了吧!不安服务器怎么玩?
所以请务必保证这里的操作都正常,否则后续可能出现无法启动服务器的情况。

首先我们需要SteamCMD来下载服务器(这是没有GUI版Steam,适合用来下载

接下来,请依次输入命令($可别复制了啊!)

$ cd /home && mkdir steamcmd && cd steamcmd
$ wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
$ tar -xvzf steamcmd_linux.tar.gz

之后输入 ./steamcmd.sh 来启动SteamCMD
cutpic_steamcmd.png
当你看到类似上图的情况就说明进入SteamCMD程序了
接下来开始输入命令(Steam>别复制啊!)

Steam> login anonymous
Steam> force_install_dir /home/dstserver
Steam> app_update 343050 validate

之后服务器会自己下载,等下载完成后
输入quit退出SteamCMD程序
至此服务器下载安装已经完成,可以开始配置服务器了!

服务器配置

这里有些复杂也需要细心,不过慢慢来都是可以搞定的!

首先解决最重要的问题,linux下饥荒的服务器似乎需要的组件跟现在的组件产生了名字上的差错
导致启动服务器会显示缺少关键的组件libcurl-gnutls.so.4
因此需要执行下面的命令来解决

$ ln -s /usr/lib/libcurl.so.4 /home/dstserver/bin/lib32/libcurl-gnutls.so.4

解决了上面的问题之后事情就很简单了
直接输入命令

$ cd /home/dstserver/bin
$ echo "./dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root /home/dstsave -conf_dir dst -cluster World1 -shard Master" > master_start.sh
$ echo "./dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root /home/dstsave -conf_dir dst -cluster World1 -shard Cave" > cave_start.sh
$ chmod +x master_start.sh cave_start.sh

之后输入./master_start.sh启动主世界服务器。
cutpic_dstserver_init.png
当看到上图标明服务器启动但还未配置所以显示未正常启动。
但这是成功的标志,之后按下Ctrl C正常关闭服务器。
同样的输入./cave_start.sh启动洞穴服务器并正常关闭。

经过上述服务器初次启动,在/home/dstsave/dst/World1/文件夹下就会自动生成默认的配置文件。

我们目前就需要改动两个文件就可以开始游戏了!
分别是cluster_token.txtcluster.ini

首先去 Keli账户页面
登陆你的Steam账号去生成服务器启动密钥(初次登陆可能页面没跳转,那就再点击一次该链接就可以看到。可能需要科学上网,要不然或许会很慢)
cutpic_token.png
打开看到这个页面,在友好的名字那栏输入你自己能分辨的名字(随意)。
然后点击添加新服务器就会在上面显示一条访问令牌。(该令牌有效期很长,基本上相当于永久)
然后你需要复制那个长长的字符串
在本地新建一个cluster_token.txt文本文件并粘贴字符串保存
然后你需要覆盖服务器上的同名文件
新建一个cluster.ini文件并复制下面的内容

[GAMEPLAY]
game_mode = endless
max_players = 6
pvp = false
pause_when_empty = true

[NETWORK]
cluster_intention = social
cluster_description = 饥荒服务器
cluster_name = 这是一个饥荒服务器!
offline_cluster = false
cluster_password = 

[MISC]
console_enabled = true

[SHARD]
shard_enabled = true
bind_ip = 127.0.0.1
master_ip = 127.0.0.1
master_port = 10888
cluster_key = youcantseethispassword

把该文件上传到和cluster_token.txt文件相同目录

到这一步,这个服务器就可以彻底开始玩啦!

输入命令

$ cd /home/dstserver/bin
$ screen -S master

之后会进入名叫master的控制台输入界面
执行./master_start.sh即可开启主世界服务器
按下Ctrl A然后按下Ctrl D即可回到初始控制台
再次输入screen -S cave
并执行./cave_start.sh即可开启洞穴服务器
按下Ctrl A然后按下Ctrl D回到初始控制台

如果要关闭服务器则先输入screen -r master进入主世界服务器控制台然后按下Ctrl C关闭
洞穴服务器则输入screen -r cave进入洞穴服务器控制台然后按下Ctrl C关闭

没错,到这里,一个基本的饥荒服务器就成功搭建起来了!你可以叫上你的小伙伴一起玩了!

一些注意事项

上面有很多地方都还没有仔细讲,只能搭建最基本的服务器
而且很多服务器的操作也没有讲,可能对不少人还是很有难度
比如说

1. 服务器的基本命令
2. Screen的用法
3. 服务器的详细配置
4. 服务器的mod安装
5. 服务器的维护
6. 服务器的端口设定

后面我会抽空分别去写对应的教程。

那么,这篇文章就到这里了,快去试试看你的服务器吧!

Last modification:May 16th, 2019 at 09:44 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment

7 comments

  1. 枋柚

    摸摸狗头

    1. 幻想的羽毛
      @枋柚

      试一下评论

    2. 幻想的羽毛
      @枋柚

      沙雕

      1. 枋柚
        @幻想的羽毛

        # 沙雕

        ![](https://i.loli.net/2019/09/22/fKljR4rY1dCpqtU.png)

      2. 枋柚
        @幻想的羽毛

        你的邮件模板有问题

  2. DST Server in Linux - Timegg

    [...]Linux环境饥荒服务器手动搭建教程 – 幻想的羽毛 :该教程相较于后面的一些教程比较新,也更细致一些,只不过博主最近几个月没有继续更新内容。[...]

    1. 幻想的羽毛
      @DST Server in Linux - Timegg

      我最近忘掉了哈哈哈哈哈哈哈哈哈,忙于敲代码