引入
我写了个脚本,用来快速部署:饥荒联机版服务器辅助搭建脚本
注:本文借鉴http://blog.ttionya.com/article-1233.html这篇文章,但是改进了配置方式。亦可前往官方论坛中的教程dontstarve.fandom.com参考
搭建环境要求
我的配置
以下是我测试的环境,不保证你的环境能使用,请尽量和我保持一致。拒绝Windows服务器(对于学生服务器1G1M,资源占用还是太高)
- CentOS 7.5 x64(阿里云CentOS 7.6 x64遇到不明问题)
- 国内网络环境
- Steam《饥荒联机版》(Wegame版用户仍可以参考本文)
- 一个能玩《饥荒联机版》的Windows电脑
- 一个会使用cd、mkdir等基础Linux命令的脑子
服务器硬件需求
以下是官方给出的每位玩家所需的带宽以及内存需求(1Mbps=1000Kbps=1000/8 Kbytes/s)所以10块一个月的学生服务器足以
- Internet (Upload) = 8Kbytes / player / s
- Ram = around 65Mbytes/player
安装Steam CMD
注:《饥荒》不是开源游戏, 你需要先给服务器安装Steam,就像在电脑上安装Steam一样。碰到问题也可以参考官方给出的wiki说明文档。
SSH到服务器,进行操作前的日常升级并安装SteamCMD
yum -y update #升级服务器
yum -y install glibc.i686 libstdc++.i686 screen libcurl.i686 #安装所需环境
user add -m dst -p 1234 #创建用户,建议为用户设置一个密码以便操作,以1234为例
#注意:使用root账户登录Steam会带来风险!
sudo su dst #切换到dst用户
mkdir ~/steamcmd #以下为手动安装过程
cd ~/steamcmd ##创建安装位置
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz ##下载程序
tar -zxvf steamcmd_linux.tar.gz ##解压
./steamcmd.sh +login anonymous +force_install_dir ~/dst +app_update 343050 validate +quit
##登录Steam并安装《饥荒联机版》PS:还是一大串命令复制起来方便(滑稽)
上面的343050是《饥荒联机版》的ID,你可以去 https://developer.valvesoftware.com/wiki/Dedicated_Servers_List看所有支持搭建远程服务器的游戏ID
检查依赖
cd ~/dst/bin
ldd dontstarve_dedicated_server_nullrenderer
./dontstarve_dedicated_server_nullrenderer
#我只遇到了一个错误:
#/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
#采用CP法解决
cp ~/steamcmd/linux32/libstdc++.so.6 ~/dst/bin/lib32/
#以下是博客《天天の記事簿》中记载的错误解决方法
#/lib/libc.so.6: version `GLIBC_2.15' not found
#一般是因为安装的glibc版本过低导致的,比如说CentOS从YUM源中安装的仅有2.12版本
#从Klei官方提供的链接下载与glibc相关的3个文件,Debian系也是这样解决
cd ~/dst/bin/lib32/
wget https://github.com/dgibbs64/linuxgameservers/raw/master/Insurgency/dependencies/libc.so.6
wget https://github.com/dgibbs64/linuxgameservers/raw/master/Insurgency/dependencies/libpthread.so.0
wget https://github.com/dgibbs64/linuxgameservers/raw/master/Insurgency/dependencies/librt.so.1
#error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory
#这是因为系统没有搜索到该文件
#使用cp方法运行时会出现./lib32/libcurl-gnutls.so.4: no version information available警告,无视之~
sudo apt-get install libcurl4-gnutls-dev:i386 #Debian系
cp /usr/lib/libcurl.so.4 ~/dst/bin/lib32/libcurl-gnutls.so.4 #RedHat系,Debian系未测试该方法是否可行
创建启动文件
以下命令是为了生成一个基本的配置文件目录框架
cd ~/dst/bin/
echo ./dontstarve_dedicated_server_nullrenderer -console -cluster MyDediServer -shard Master > dst_overworld.sh
echo ./dontstarve_dedicated_server_nullrenderer -console -cluster MyDediServer -shard Caves > dst_caves.sh
接下来运行脚本,并在其提示 Your Server Will Not Start后,按Ctrl+C停止进程
sh dst_overworld.sh #输完等其运行完成按一下Ctrl+C
sh dst_caves.sh #同上,再按Ctrl+C
rm -rf ~/.klei/DoNotStarveTogether/Cluster_* #删除无效的默认配置
在 ~/.klei/DoNotStarveTogether/ 有一个 DediServer 文件夹,里面有 Master 和 Caves 的两个文件夹,这两个文件夹分别是地上和洞穴的配置目录。PS:.keli是隐藏文件,你需要使用ls -la命令来列出全部内容
安装完成!下一篇文章就是配置啦!
{{fadai}} yum -y uptade? {{lengmo}}
啊!写错了是update,现已改正