饥荒专用服务器部署-linux篇

2024-12-29 22:12:29

前言

本次搭建平台为linux debian12

在以 root 用户身份操作时不要运行 steamcmd​ 这样做存在安全风险。

所以新建一个账户以安全地运行 SteamCmd 将其与操作系统的其余部分隔离开。

sudo useradd -m game
sudo passwd game

进入其主文件夹

sudo -u game -s

安装依赖

apt install software-properties-common
apt-add-repository non-free
dpkg --add-architecture i386
apt update
apt install steamcmd

安装完成后 steamcmd 会在 /usr/games/目录下

获取 Klei Token

...

下载饥荒服务器版

要下载游戏服务器 需要登陆 steamcmd

login anonymous

创建运行脚本

#!/bin/bash

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
}
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"

steam +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 start_klei.sh

nohup ./start_klei.sh > klei_log 2>&1 &  //启动脚本并用管道符写入日志

tail -f klei_log //持续输出最新日志

ps -ef | grep start_klei //查找进程信息

kill [pid] //终止进程

问题: mod 下载失败

参考方案:百度贴吧

1.在游戏目录中,先将bin64/lib64/下的steamclient.so删除或着更名
2.复制 linux64/steamclient.so bin64/lib64/