饥荒开服(含各种踩雷)

饥荒开服(含各种踩雷)

在这里插入图片描述
纯小白,用过Mac电脑.这就是我全部Linux基础了,结果搭建了一个上午才勉强搭出来过程中感觉比饥荒还饥荒.所以我在这里分享一下我自己的搭建过程…我是使用的阿里云的Ubuntu 18.04 64位的服务器,我尽量会把出错误的各种情况说清楚

0.安装步骤

  1. 安装依赖
  2. 下载steamcmd
  3. 下载饥荒服务端
  4. 在klei官网开服
  5. 在本人的电脑上开档并上传到服务器
  6. 编写shell开服

1.安装依赖

这一步是最艰难的,你根本想不到要装一些什么才能和其他的教程一样
(0. 终端里键入cd ~ 进入家目录,不然后面装在什么地方就不好找了,这个雷坑应该没什么人踩)

1. 更新包管理软件

其他系统同理,注意同时有upgrade和update
没弄好会出现这种错误
Unable to locate package xxx

sudo apt-get update
sudo apt-get upgrade
sudo apt upgrade
sudo apt upgrade
2. 下载32位的库文件

64位的Linux不装32位库文件会打不开32位的软件的,32位的系统也要安装相应的文件
没弄好会出现这种错误
xxx: No such file or directory
这里…我安装了超级多的库文件,才解决了问题,这个地方每个人的情况都不一样,我是都试了一遍,不建议像我这样,实在不行了就死马当活马医吧

ia32-libs 许多Linux和低版本的Ubuntu
lib32ncurses5  高版本Ubuntu就换成这个

lib32z1/lib32z1*
libstdc++6/libstdc++6*
这两个我是加了星号才解决的

libgcc1
lib32gcc1
3.curl

没弄好会这样
error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory

和这个问题相似的是
error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
这个问题在第二点解决了,就是加上*

libcurl4-gnutls-dev
很多Linux不支持下这个,那这个时候就要偷梁换柱(外国友人提醒)

先安装libcurl4
cd /usr/lib/
ln -s libcurl.so.4 libcurl-gnutls.so.4
然后执行这个命令

2.下载steamcmd

命令行形式的steam,注意,下面的指令都是在家目录下执行的

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

创建文件夹,进入文件夹,下载cmd安装包,安装他到steamcmd里

进入成功差不多是这个样子

3.下载饥荒服务端

我是图片

./steam.sh #进入steam
login anonymous #匿名登录steam

force_install_dir /home/DSTserver
#让下载文件下载到这个地方,务必使用绝对路径,
#我用~/DST你敢信它在steamcmd文件夹里创建了一个`~`文件夹

app_update 343050 validate #下载服务端(这个过程很慢,不要急,超时了就重来一次,还是不要急)
quit #退出服务端

这两步都没遇到什么问题

4.Klei官网开服

进入官网,用steam登录,网址https://accounts.klei.com/login请添加图片描述

这里登录steam社区是要梯子的,没有梯子可以在steam自己的浏览器里进klei官网,然后用加速器加速登录进去
登录后可以看见自己的很多信息
然后点击上面很多选项中的"游戏",在游戏列表中找到饥荒,点击"饥荒联机版的游戏服务器"
在这里插入图片描述
起一个恶毒的名字(这个名字和服务器的名字没有关系),点击添加新服务器
在这里插入图片描述
把下面的数字存下来,这样就算开服成功了

5.开档

把下好的饥荒联机版打开(没下联机版你干嘛要开服?)
创建一个世界,到选人物的地方就可以出来,先玩一会也没事,开服以后进去就是从你玩的这个地方开始
退出来
打开游戏存档(点右上角那个)
在这里插入图片描述
在这里插入图片描述
把这些文件拉出来保存一份
修改里面的cluster_token.txt文件(没有就创建一个),在里面输入之前开服时保存的数字
把这些文件发送给服务器(我是用xshell,简单好用)保存在~/.klei/DoNotStarveTogether/Cluster_1

6.写脚本

最后一步了~~~
先确定自己有没有下screen,这个可以起到后台运行的作用

sudo apt-get install screen

在~文件夹里创建一个startDST.sh文件,写下如下脚本

#!/bin/bash

steamcmd_dir="$HOME/steamcmd"
install_dir="$HOME/DSTserver"
cluster_name="Cluster_1"
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/bin"

cd "$install_dir/bin" || fail 

run_shared=(./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: /'

记得给予这个脚本执行权限

chmod u+x ~/startDST.sh

现在,后台运行饥荒服务器!

screen -S DST
./startDST.sh
Ctrl +a+d

这一步里可能出现的问题我也放在开头了,问就是缺少依赖

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值