Linux饥荒服务器搭建指南

本文所有指令均在Linux环境下完成,同时为了便于讲解,简单粗暴的把所有指令都在root权限下运行,但实际非常不推荐这样做。为了避免安全问题,强烈建议在其他用户下完成,不过要注意部分指令所需要的权限等级不同。

1. 安装依赖

这一步非常重要,是为了安装游戏运行必备的c运行库, 没有这些文件饥荒的服务端就便无法在Linux上启动。

运行以下指令。注意,一行指令中“#”后的为注释不需要输入,后面不再提醒。

#依次运行下面两条指令
yum update
yum install libcurl.i686 libstdc++.i686
​
#正常情况运行以上两条指令就足够了,下面是一些特殊情况可能用到的指令不清楚的可以直接跳过
cat /proc/version    #查询Linux系统信息
yum list "glibc*"    #查询C运行库的版本号

2. 安装steamcmd

新建文件夹放steamcmd文件,一般放在/home目录下面。

cd /home
mkdir steamcmd    #新建steamcmd文件夹
cd /home/steamcmd
yum install wget    #安装wget工具,注意,如果下一步可以运行这步跳过
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz    #下载steamcmd文件
tar -xvzf steamcmd_linux.tar.gz    #解压文件,解压前可以用"ls"指令看一下文件是否存在(即下载成功)

3. 安装饥荒服务端文件

./steamcmd.sh    #执行steamcmd文件
#可能会跳出"Warning: failed to init SDL thread priority manager: SDL not found"这条警告,直接忽略
#以下命令均在Steam>后输入
login anonymous    #匿名登录steam
force_install_dir /home/game/dstserver    #指定文件下载的目录,可自行修改
app_update 343050 validate    #343050是饥荒的id

以上命令执行完后会出现显示下载进度的提示,等下载执行完成后,按ctrl+c或者输入quit退出steam,如果出现下载失败的提示,重复第3步的所有操作。

4. 引用配置文件

这一步需要使用到依赖中所安装的两个包,当依赖安装后,可以进入/usr/lib目录下面使用ls查看libcurl.so.4文件是否存在,若存在则往下执行,不存在建议重新安装依赖。

cd /home/game/dstserver/bin/lib32    
#进入服务器bin目录下的lib32目录

ln -s /usr/lib/libcurl.so.4 libcurl-gnutls.so.4    
#将libcurl.so.4文件链接到lib32目录下

这里也可以使用cp指令,直接将文件复制到lib32目录下,但两种方式,都要将目标文件名称改为libcurl-gnutls.so.4

5. 生成世界和洞穴的执行文件

cd /home/game/dstserver/bin

echo './dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root /home/game/dstsave -conf_dir dst -cluster World1 -shard Master' > master_start.sh    
#生成并写入master_start.sh文件

echo './dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root /home/game/dstsave -conf_dir dst -cluster World1 -shard Caves'  > cave_start.sh    
#生成并写入cave_start.sh文件

chmod +x master_start.sh cave_start.sh    #可执行授权

其实稍微懂点Linux系统的人都可以看出,上面的步骤就是分别把两行指令写入新生成的执行文件中。

6. 生成存档

cd /home/game/dstserver/bin
./master_start.sh    #启动主世界
#出现报错信息,不用管按ctrl+c退出
./cave_start.sh    #启动洞穴
#同样出现报错信息,不用管按ctrl+c退出

这一步的目的是为了生成存档所在的文件夹,两行代码执行完后我们可以在 /home/game/dstsave/dst文件夹中看到一个名字为 World1 的文件夹里面保存的就是存档文件。而之前出现的报错则是因为缺少token文件。

所以接下来现在桌面版饥荒中生成一个存档,存档的位置为 C: \Users\你的电脑用户名\Documents\Klei\DoNotStarveTogether\一串数字 中选择你生成的存档将里面的所有文件(一般有Caves文件夹、Master文件夹、和一个名为cluster.ini的文件)覆盖服务器中 World1 中的所有文件。

然后在电脑上新建两个txt文件,一个是cluster_token.txt,里面保存了服务器运行必备的token。另一个是adminlist.txt里面保存了管理员的名字,一行一个,服务器的房主默认为管理员不需要添加。这两个文件均保存在服务器的 World1 文件夹中,第二个如果不需要可以不放。

7. 下载mod

如果你的存档有服务器mog则需要另外添加。只需要在服务器的 /home/game/dstserver/mods目录中找到dedicated_server_mods_setup.lua文件,根据里面的提示在最下面输入ServerModSetup(“mod的id”),同样也是一行一个,那么在服务器启动时便会自动下载。

8. 启动服务器

上面的步骤全部完成后就可以正式启动服务器了,由于必须确保命令不中断,我们可以用screen命令,原理类似于新建一个会话。具体指令可以看这里

yum install screen    #安装screen

screen -S master    #新建一个名为master的窗口并进入
cd /home/game/dstserver/bin
./master_start.sh    #启动主世界
#等出现Sim paused的提示时表示启动成功,按ctrl+a+d退出,下次进入输入screen -r master

screen -S cave    #新建一个名为cave的窗口并进入
cd /home/game/dstserver/bin
./cave_start.sh    #启动洞穴
#等出现Sim paused的提示时表示启动成功,按ctrl+a+d退出,下次进入输入screen -r cave

到这里就代表服务器搭建成功,下面是一些注意事项。

9. 注意事项

1.饥荒客户端更新后要重新执行第三步来更新服务器上的饥荒文件,否则会出现客户端上搜不到服务器存档的情况。

2.在云服务器上搭建一定要注意在防火墙中开放端口:10999和10998。

上一篇
下一篇