一、环境搭建
安装运行环境:
sudo apt update
sudo apt-get install libstdc++6:i386 libgcc1:i386 libcurl4-gnutls-dev:i386 lib32gcc-s1
sudo apt-get install lib32gcc1
二、SteamCMD 安装
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 界面中依次执行以下命令:
steam>force_install_dir /home/yujj/share/SteamLibrary/dstserver
steam>login anonymous
steam>app_update 343050 validate
其中 force_install_dir 指定安装路径,login anonymous 表示匿名登录,app_update 343050 即安装饥荒服务端。
四、Klei 服务器配置
前往 Klei 官网配置页面,添加新服务器并下载配置文件。
在用户目录下创建 .klei/DoNotStarveTogether 文件夹,将下载的 MyDediServer 压缩包解压到该文件夹中。
五、创建启动脚本
先创建依赖包的软链接(避免运行过程中找不到依赖):
cd /home/yujj/dstserver/bin/lib32
ln -s /usr/lib/libcurl.so.4 libcurl-gnutls.so.4
创建启动脚本 dst.sh:
#!/bin/bash
steamcmd_dir="/home/yujj/steamcmd"
install_dir="/home/yujj/dstserver"
cluster_name="MyDediServer"
dontstarve_dir="/home/yujj/.klei/DoNotStarveTogether"
function fail()
{
echo Error: "$@" >&2
exit 1
}
function check_for_file()
{
if [ ! -e "$1" ]; then
fail "Missing file: $1"
fi
}
cd "$steamcmd_dir" || fail "Missing $steamcmd_dir directory!"
check_for_file "steamcmd.sh"
check_for_file "$dontstarve_dir/$cluster_name/cluster.ini"
check_for_file "$dontstarve_dir/$cluster_name/cluster_token.txt"
check_for_file "$dontstarve_dir/$cluster_name/Master/server.ini"
check_for_file "$dontstarve_dir/$cluster_name/Caves/server.ini"
./steamcmd.sh +force_install_dir "$install_dir" +login anonymous +app_update 343050 validate +quit
check_for_file "$install_dir/bin64"
cd "$install_dir/bin64" || fail
run_shared=(./dontstarve_dedicated_server_nullrenderer_x64)
run_shared+=(-console)
run_shared+=(-cluster "$cluster_name")
run_shared+=(-monitor_parent_process $$)
"${run_shared[@]}" -shard Caves | sed 's/^/Caves: /' &
"${run_shared[@]}" -shard Master | sed 's/^/Master: /'
六、后台运行
chmod +x dst.sh
nohup ./dst.sh &
这样饥荒服务器就在后台运行了!
