搭建饥荒联机版服务器


饥荒联机版开服教程

服务器系统:Linux Ubuntu 20.04

安装依赖

# 64-bit machine: 
sudo apt-get install libstdc++6:i386 libgcc1:i386 libcurl4-gnutls-dev:i386

# 32-bit machine: 
sudo apt-get install libstdc++6 libgcc1 libcurl4-gnutls-dev

创建专用用户

sudo adduser --disabled-login dst
sudo su - dst

安装 SteamCMD

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

下载 DST 服务器

进入 steamcmd 并安装 DST 服务器:

~/steamcmd/steamcmd.sh

在 SteamCMD 中依次输入:

login anonymous
force_install_dir /home/dst/dontstarvetogether_dedicated_server
app_update 343050 validate
quit

343050 是 DST Dedicated Server 的 AppID。
安装完成后,DST 服务端文件在 ~/dstserver 目录。

下载官方提供的服务器认证token信息

下载方式如图

将下载的压缩包中的MyDediServer解压到服务器的/home/dst/.klei/DoNotStarveTogether目录下


添加游戏配置&mod

游戏配置

本地开服创建配置存档,然后打开本地存档文件,将本地MasterCaves中的leveldataoverride.luamodoverrides.lua放到服务器/home/dst/.klei/DoNotStarveTogether/MyDediServer同级目录下

mod

从本地文件夹找到对应的mod放到/home/dst/dontstarvetogether_dedicated_server/mods

# mod存放的路径,需要点开对应文件夹查看 自己判断一下是不是缺文件了
E:\SteamLibrary\steamapps\common\Don't Starve Together\mods
E:\SteamLibrary\steamapps\workshop\content\322330

开服

将下面的配置文件写入 ~/run_dedicated_servers.sh

#!/bin/bash

steamcmd_dir="$HOME/steamcmd"
install_dir="$HOME/dontstarvetogether_dedicated_server"
cluster_name="MyDediServer"
dontstarve_dir="$HOME/.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 u+x ~/run_dedicated_servers.sh

启动脚本:

~/run_dedicated_servers.sh

参考文章

https://forums.kleientertainment.com/forums/topic/64441-dedicated-server-quick-setup-guide-linux/


  目录