想要和朋友流畅地在《饥荒》里玩耍?快来学习如何在Linux上搭建自己的服务器吧!即使是零基础也没有问题哦。
考虑到普通用户用Windows比较多,所以文章使用Windows Server进行主要演示,这里简单演示一下Linux Server上如何进行操作。
Linux服务器,我也推荐使用腾讯云轻量应用服务器,推荐使用Debian或Ubuntu发行版本,不推荐使用CentOS发行版本。(使用CentOS,可能会缺少i386依赖库,导致饥荒服务器无法初始化运行)。
如果你并没有服务器设备,需要一个购买/租借,强烈推荐:
- 本站专属腾讯云秒杀链接(可低价购买轻量应用服务器)
首先,我们还是使用SteamCMD去同步饥荒服务器,但是观察SteamCMD官方文档,SteamCMD需要用一个叫steam的用户,在“家”目录下的steam内操作。所以,我们提前创建:
# 创建一个用户叫steam
sudo useradd -m steam
# 给steam重置密码
sudo passwd steam
另外,steamcmd需要依赖包:
# Ubuntu/Debian
sudo apt-get install lib32gcc1
# CentOS
yum install glibc.i686 libstdc++.i686
初始化与拉取
下载SteamCMD并安装:
# 切换为steam用户
su - steam
# 创建steam目录
mkdir ~/Steam && cd ~/Steam
# 下载SteamCMD并解压
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
# 运行steamcmd
./steamcmd.sh
如图:
以Steam
开头时,就是进入SteamCMD的交互模式了,我们使用:
login anonymous
即可匿名登录:
之后,进行饥荒服务器的拉取:
app_update 343050 validate
拉取成功:
最后,看了一下目录,就和Windows Server一模一样了,实际上的配置也是一样的:
初始化定制
但是,如果要启动,建议的配置是,首先创建一个地图配置目录:
# 当前是steam用户
mkdir /home/steam/myDoNotStarveTogetherData
之后,创建地图启动脚本:
# 当前是steam用户
cd /home/steam/Steam/steamapps/common/Don't Starve\ Together\ Dedicated\ Server/bin
echo "./dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root /home/steam -conf_dir myDoNotStarveTogetherData -cluster World1 -shard Master" > master_start.sh
echo "./dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root /home/steam -conf_dir myDoNotStarveTogetherData -cluster World1 -shard Caves" > cave_start.sh
chmod +x master_start.sh cave_start.sh
之后,运行即可:
# 当前在饥荒目录内的bin文件夹下
## 启动主世界
./master_start.sh
## 启动洞穴
./cave_start.sh
注意:启动过程中,需要保持交互模式,配合screen来后台运行饥荒洞穴和主世界。
i386支持问题
在Debian/Ubuntu上如果出现./dontstarve_dedicated_server_nullrenderer: error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory
或者./dontstarve_dedicated_server_nullrenderer: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
一般是因为你服务器是X86_X64的,你需要开启i386
支持,并添加i386
版本的libcurl-gnutls.so.4
到其包内。切换到root用户运行:
# 开启支持
sudo dpkg --add-architecture i386
# 更新软件
sudo apt update
# 下载更新源
sudo apt-get dist-upgrade
之后,安装i386
的库:
sudo apt install libcurl4-gnutls-dev:i386
之后,软连接到饥荒服务器内:
ln -s /usr/lib/i386-linux-gnu/libcurl-gnutls.so.4 /home/steam/Steam/steamapps/common/Don\'t\ Starve\ Together\ Dedicated\ Server/bin/lib32/libcurl-gnutls.so.4
同理,配置i386
版本的libstdc++.so.6
:
sudo apt install libstdc++6:i386
ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /home/steam/Steam/steamapps/common/Don\'t\ Starve\ Together\ Dedicated\ Server/bin/lib32/libstdc++.so.6
之后,就可以正常启动服务器了。正常会启动失败啦,不过已经可以运行了:
并且,我们设置的地图目录也成功出现地图配置目录:
后续想启动成功,跟着Windows Server上的教程,配置同步配置文件
和Auth Token
就可以正常启动了(当然,还有服务器端口记得放哦)。记得配合screen来后台运行饥荒洞穴和主世界。