饥荒服务器搭建

Windows

  1. 下载开服程序

方法一:Steam内安装Dont’t Starve Together Dedicated Server
[图片]

方法二:steamcmd (推荐)

  • 点击下载steamcmd
  • 解压出来后,双击steamcmd.exe
    [图片]
  • 依次执行下述指令,下载dstds程序

force_install_dir D:\dstds\

login anonymous

app_update 343050 validate
[图片]

  • 输入quit指令或直接点击关闭按钮退出steamcmd

后续如果需要更新dstds,重复第3步

  1. 获取令牌

方法1:访问KLEI官网
[图片]

方法二:启动饥荒联机版(以下简称“DST”), 按~键调出控制台,执行指令:TheNet:GenerateClusterToken()

令牌生成路径在%userprofile%\Documents\Klei\DoNotStarveTogether\用户id\cluster_token.txt

  1. 配置服务器

默认配置文件:%userprofile%\Documents\Klei\DoNotStarveTogether\Cluster_1\

  • 复制任意存档目录Cluster_x到配置文件路径
  • 添加令牌文件:将之前生成的令牌文件复制到配置文件路径
  • 添加管理员(可选):新建adminlist.txt文件,将用户ID(KU_开头)写入该文件,一行一个
  • 服务器配置说明:文件名 cluster.ini
    [图片]
    最终目录结构如下图:
    [图片]
  • MOD配置:
    • 打开D:\dstds\mods\dedicated_server_mods_setup.lua文件,将需要的MOD按行写入
      [图片]
  • 打开modoverrides.lua配置MOD
    [图片]
  1. 启动dstds

打开 “D:\dstds\bin64" 目录,双击 dontstarve_dedicated_server_nullrenderer_x64.exe 即可。
32位的系统 则找到是 “D:\dstds\bin",然后双击 dontstarve_dedicated_server_nullrenderer.exe 启动

Linux

系统环境:CentOS 8

  1. 指令汇总
  • 安装依赖库

yum install glibc.i686

yum update -y libstdc++.x86_64

yum install libstdc++.i686

yum install libcurl.i686

cd /usr/lib

ln -s libcurl.so.4 libcurl-gnutls.so.4

  • 安装screen

yum install screen

  • 下载安装 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

force_install_dir ~/dst/dst_client

login anonymous

app_update 343050 validate

quit

  • 启动 开服程序

~/dst/dst_client/bin/dontstarve_dedicated_server_nullrenderer

  • 自动化脚本

    • 启动脚本

vim ./startDST.sh

粘贴下面内容:

#!/bin/bash

steamcmd_dir="$HOME/steamcmd"
install_dir="$HOME/dst/dst_client"
cluster_name="Cluster_1"
dontstarve_dir="$HOME/Documents/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/dontstarve_dedicated_server_nullrenderer.app/Contents/MacOS/"

cd "$install_dir/dontstarve_dedicated_server_nullrenderer.app/Contents/Resources/" || fail

run_shared=(../MacOS/dontstarve_dedicated_server_nullrenderer)
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: /'
  • 更新脚本

vim ./updateDST.sh

  • 粘贴下面内容:
#!/bin/bash
# 获得本sh所在目录
sh_path=$(cd `dirname $0`; pwd)

cmdDir=~/steamcmd/
dstDir=~/dst/dst_client/

"$cmdDir"steamcmd.sh \
    +force_install_dir "$dstDir" \
    +login anonymous \
    +app_update 343050 validate  \
    +quit
  • 设置脚本为可执行

    chmod +x ./startDST.sh
    chmod +x ./updateDST.sh
    
  • screen基本用法

    • 创建 名为dst的会话

screen -S dst

  • 恢复 名为dst的会话

    screen -r dst

  • 跳出会话(不关闭),或者 按住ctrl + a 然后再按 d

    screen -d dst

有时 SSH意外断开,screen会话被占用
使用 screen -r dst,会提示 [screen is terminating]
可以使用 screen -d dst 来断开
然后重新 screen -r dst 来恢复会话

  • 在主会话中关闭子会话

    screen -X -S dst quit

参考:

SteamCMD - Valve Developer Community

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2022 Mr.Yao
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信