在Linux搭建DST专用服务器

寒江蓑笠翁大约 6 分钟技术日志DSTLinux

在Linux搭建DST专用服务器

本文主要讲解了如何在Linux环境下搭建Dont Starve Together的专用服务器,以及一些坑。


环境准备

在开始之前需要准备以下东西:

  • 一台装了Linux系统的云服务器,本文使用的是Ubuntu20LTS。
  • SSH客户端,本文使用的XShell
  • SFTP客户端,本文使用的是FillZilla

云服务器安全组要放行10800到12000范围端口,饥荒服务端差不多都在这个范围内,协议使用UDP。

创建用户

与服务器进行ssh连接过后,创建一个专门用于DST管理的用户,这样与系统隔离,方便后续管理。

$ adduser dst

然后进入dst的ssh目录

$ cd ~/.ssh

生成ssh密钥对,将公钥注册到服务器中

$ ssh-keygen
$ cat id_rsa.pub > authorized_keys

把私钥保存下来这样后续就可以使用ssh私钥进行登录。

依赖准备

首先首先要给软件管理工具加一个i386的架构,有warning忽略掉,然后看看加进去没有

$ add-apt-repository multiverse
$ dpkg --add-architecture i386
$ dpkg --print-foreign-architectures
i386

然后再下载所需要的32位依赖

$ apt-get update
$ apt install lib32gcc1 lib32z1 lib32stdc++6
$ apt instal libcurl3-gnutls:i386 # curl工具一定要安装32位的
$ apt install libcurl4-gnutls-dev:i386 # 上面那个不行就安装这一个

上述依赖是必须安装的,否则在运行可执行文件时会报错无法找到文件。

安装SteamCMD

提示

如何在Linux上安装SteamCMD官方有非常详细的中文教程,Steam 控制台客户端 - Valve Developer Community (valvesoftware.com)open in new window

先切换到dst用户

$ su - dst
$ sudo mkdir steam
$ sudo mkdir server

然后下载SteamCMD压缩包

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

将其解压到steam目录

$ sudo tar -xvzf steamcmd_linux.tar.gz -C ~/steam

然后进入steam目录执行steamcmd.sh脚本启动进行安装

$ cd steam
$ ./steamcmd.sh

或者也可以直接下载软件包,然后再启动steamcmd

$ apt-get install steamcmd
$ steamcmd

等待安装完成后在steamcmd里面执行如下命令来设置安装目录

$ force_install_dir /home/dst/server

提示

需要注意的是设置安装目录必须在登录之前操作,登陆后不能再修改该项

然后再登录steam,一般使用匿名登录。

$ login anonymous

等待登录完成后下载饥荒服务端,343050是它的appid,这里大概要等个几分钟,下载完毕后先退出。

$ app_update 343050 validate
$ quit

进入到server目录下看看是不是安装到指定目录了,如下就说明安装成功了

$ cd ~/server/bin
$ ls
dontstarve  dontstarve_dedicated_server_nullrenderer  dontstarve.xpm  lib32  scripts  steam_appid.txt

开服

前往克雷官网,登录并注册申请服务器token

点击添加新的服务器

完成后点击下载设置,使用sftp将该文件夹传入/home/dst/.klei/DoNotStarveTogether目录下,这是默认的存档位置,没有这个文件夹就自行创建该文件夹。

然后需要下载一个多终端管理工具screen

$ sudo apt install screen

然后在/home/dst目录下创建master.shcaves.sh,内容如下

#!/bin/bash
cd /home/dst/server/bin/
screen -R master /home/dst/server/bin/dontstarve_dedicated_server_nullrenderer -console -cluster MyDediServer -shard Master
#!/bin/bash
cd /home/dst/server/bin/
screen -R caves /home/dst/server/bin/dontstarve_dedicated_server_nullrenderer -console -cluster MyDediServer -shard Caves

最后运行脚本即可,如下

当两个maser终端和caves终端都输出sim paused时,说明开服成功,进入游戏在搜索你设置的服务器名称

能够搜索到并成功进入服务器,说明服务器搭建完毕。

上次编辑于:
贡献者: 246859