饥荒游戏 服务器搭建 for CentOS

注:操作有风险,请自行备份好数据,本教程仅供参考。

一.参考(建议交叉比对)

1. 官网-Steam 命令行版客户端
2. 教程-多人版饥荒独立服务器
3. 教程-饥荒联机太卡?搭建饥荒独立服务器解决
4. 教程-Linux中的screen命令使用
5. 官网-《饥荒:联机版》的游戏服务器-配置
6. 官网-Apps · SteamDB

linux用户:steam
SteamCMD文件夹/home/steam/Steam
饥荒主文件夹/home/steam/dontStarveTogether
饥荒数据文件夹/home/steam/dSTData
饥荒配置文件夹 /home/steam/dSTData/dSTConfig
用户及文件夹-简介

二.软件安装及配置流程

a.安装 SteamCMD

# 以root用户身份创建 steam 用户
useradd -m steam
# 进入其主文件夹
cd /home/steam

# 安装依赖库
yum install glibc.i686 libstdc++.i686 SDL2.i686
yum install libcurl.i686 libcurl-devel.i686

# 安装tmux 和 screen 以简化服务器管理
yum install tmux screen -y

# 以 root 用户身份升级至 steam 用户
su - steam
# 为 SteamCMD 创建目录并切换至该目录
mkdir ~/Steam && cd ~/Steam

# 下载并解压缩适用于 Linux 的 SteamCMD
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

b.运行/配置 SteamCMD, 安装饥荒服务器

cd ~/Steam
./steamcmd.sh

# 匿名登录,下载大多数游戏服务端,你可以选择匿名登录
login anonymous

# 设置你的应用安装目录(可选,一般不需要)
  force_install_dir <路径>
  # 默认存储库: /home/steam/Steam/steamapps/common

# 安装饥荒服务器
app_update 343050 validate
quit

c.建立软连接, 修复-缺少关键的组件libcurl-gnutls.so.4

ln -s /home/steam/Steam/steamapps/common/"Don't Starve Together Dedicated Server" ~/dontStarveTogether

cd ~/dontStarveTogether/bin/
ln -s /usr/lib/libcurl.so.4 lib32/libcurl-gnutls.so.4

d.创建启动脚本

# 设置永久存储的根目录(-persistent_storage_root /home/steam/dSTData)
# 指定目录加载保存和设置数据(-conf_dir dSTConfig)
# 指定世界地图目录(-cluster World1)
 # 默认: ~/.klei/DoNotStarveTogether
 # 设定: ~/dSTData/dSTConfig

cd ~/dontStarveTogether/bin/

echo "./dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root /home/steam/dSTData -conf_dir dSTConfig -cluster World1 -shard Master" > master_start.sh

echo "./dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root /home/steam/dSTData -conf_dir dSTConfig -cluster World1 -shard Caves"  > cave_start.sh

chmod +x master_start.sh cave_start.sh

e.配置游戏服务器存档设置:
在官网配置游戏服务器, 设置并下载地图压缩文件(MyDediServer.zip), 解压并重命名为World1, 上传至[ 饥荒配置文件夹 ]

f.启动主地图/洞穴服务器

cd ~/dontStarveTogether/bin/
screen -S master
./master_start.sh
screen -S caves
./cave_start.sh

# 查看改服务是否启动
netstat -nlp |grep :10889
# 关闭服务器
kill -9 [PID]

三.可选操作

a.在Steam客户端中连接游戏服务器(当游戏内部搜索不到服务器时)

查看游戏库->饥荒联机版->(右键)属性->启动选项, 输入

+connect IP:Port +password "***"
# 请根据实际情况 替换IP/Port/密码 !

b.配置mod(请参照其它教程)

cd ~/dontStarveTogether/mods
vim dedicated_server_mods_setup.lua
ServerModSetup("1207269058")
ServerModSetup("1418746242")
ServerModSetup("347079953")
ServerModSetup("356930882")
ServerModSetup("358749986")
ServerModSetup("362175979")
ServerModSetup("367546858")
ServerModSetup("374550642")
ServerModSetup("375850593")
ServerModSetup("375859599")
ServerModSetup("378160973")
ServerModSetup("380423963")
ServerModSetup("458587300")
ServerModSetup("458940297")
ServerModSetup("466732225")
ServerModSetup("501385076")
ServerModSetup("569043634")
ServerModSetup("604761020")
ServerModSetup("623749604")
ServerModSetup("661253977")
ServerModSetup("666155465")
ServerModSetup("786556008")

c.配置管理员

# 创建token的那位用户默认为管理员,不需要再在adminlist.txt里面添加
cd ~/dSTData/dSTConfig/World1
vim adminlist.txt

d.更新游戏服务器

cd ~/Steam
./steamcmd.sh
login anonymous
app_update 343050 validate
quit

e.Screen相关操作

# 列出当前所有的session
screen -ls
# 新建session(名为master)
screen -S master
# 回到session
screen -r master
# 暂离session
ctrl+a d
# 关闭session
 # seesion外部
 screen -X -S master quit
 # seesion内部
 exit
# 强制关闭
ctrl+a k
如果您在浏览过程中,发现有侵权或者不合适的链接,请联系我们处理,谢谢
备案 域名访问错误!