饥荒 阿里云服务器搭建记录

获得一个服务器

我选的是阿里云学生免费体验的服务器 ubuntu 4核(vCPU) 8 GiB 3Mbps 带宽

饥荒

照搬的 饥荒云服务器搭建流程【Steam】【阿里云】

安装工具

sudo apt-get update #更新软件源
sudo apt-get upgrade #更新软件
sudo apt-get install dos2unix #转换格式工具
sudo apt-get install screen #窗口化运行依赖

安装Steam

mkdir steamcmd #创建安装目录
wget -P ~/steamcmd https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz #下载安装到指定的目录
cd steamcmd #进入文件所在目录
tar -xvzf steamcmd_linux.tar.gz #解压压缩包
./steamcmd.sh #运行安装脚本

等待几分钟完成后出现“:steam>”说明安装成功并已经进入Steam

安装/更新饥荒服务器端

在Steam内输入命令

force_install_dir /root/dontstarvetogether #指定安装目录
login anonymous #以匿名账户登录
app_update 343050 validate #安装饥荒服务器端并验证文件
quit #安装完成后退出Steam

如果报错可是试试先执行这些命令再重试

sudo apt-get update #更新软件源
sudo apt-get upgrade #更新软件
sudo apt-get install libstdc++6 libgcc1 libcurl4-gnutls-dev #Steam所需依赖
sudo apt-get install lib32stdc++6 lib32gcc1 #32位软件依赖
sudo apt-get install libsdl2-2.0-0:i386 #解决Steam缺少SDL库报错
sudo apt-get install libcurl3-gnutls:i386 #解决缺少库依赖

开放端口

登录云服务器管理控制台
打开安全组

像这样配置,其他的随意,然后保存(这里不清楚饥荒使用的是udp还是tcp所有都添加了)
在这里插入图片描述

在弹出的对话框中选的刚才保存的安全组
在这里插入图片描述

配置MOD

在网上也看了很多教程,发现配置mod的方法都很麻烦每个mod代码都要手动输入。下面我介绍一个稍微方便些的方法。

  1. 在Steam创意工坊订阅你想使用的MOD。
  2. 在MOD详情界面点击添加到合集。建议创建一个专属合集。
  3. 将所有想使用的MOD都加入合集之后,在合集详情页面空白处右键“复制网页URL”。
  4. 在浏览器粘贴复制的链接,记住链接最后的十位数字。后面会用到。
  5. 执行以下命令
vim /root/dontstarvetogether/mods/dedicated_server_mods_setup.lua
#在新的一行加上“ServerModCollectionSetup("xxxxxxxxx")”。x替换为上面合集链接最后的十位数字。直接保存。

创建并上传存档

  1. 打开本地电脑上的饥荒联机版,按你的需求创建世界,注意创建世界时启用的MOD要和你添加在合集里的一样。创建完成后进入到选人界面就可以直接断开。但不要退出游戏。
  2. 回到主界面点击左下角“账户信息”,记住账号ID(KU_ 开头)在打开的网页上部点击“游戏”,之后点击下方“饥荒的游戏服务器”。添加新服务器,名称随意。完成后会在上方服务器列表看到新注册的服务器,其中含有一串乱码一样的Token,记住它,后面会用到。现在可以退出游戏了。
  3. 回到桌面打开文件资源管理器,定位到以下路径:C:\Users\YourUserName\Documents\Klei\DoNotStarveTogether\(一串数字)
    (也可以在游戏中点下方的数据打开这个文件夹)
    使用filezille 上传其中的“Cluster_1”存档存档到 ~/.klei/DoNotStarveTogether/
  4. 在存档文件夹内新建两个个TXT格式文档,分别命名为“adminlist.txt”(服务器管理员名单)、“cluster_token.txt”(服务器所有者)。
  5. 将账户ID复制到“adminlist.txt”。将Token复制到“cluster_token.txt”。

使用记事本打开“cluster.ini”,编辑世界设置。

以上设置供参考。官方教程
之后进入Master文件夹,编辑“server.ini”文件第二行“server_port =xxxxx”,将xxxxx修改为第二步配置安全组是开放的端口号。例:“server_port =10999”。

返回上一层目录,进入Caves目录进行相同操作,但是注意两个不同的“server.ini”文件内所填写的端口号不可以相同。不然会堵塞端口无法连接。

在桌面新建TXT文本文档,复制以下代码进去并保存为“xxx**.sh**”。名字随意,注意格式就好。
(这个文件会先检查需要的文件是否存在,都存在就回自动开启地面和洞穴的服务器)

#!/bin/bash
steamcmd_dir="$HOME/steamcmd" #Steam安装目录
install_dir="$HOME/dontstarvetogether " #饥荒安装目录
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"
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)
"${run_shared[@]}" Caves | sed 's/^/Caves: /' &
"${run_shared[@]}" Master | sed 's/^/Master: /'

将上面创建的“.sh”格式启动脚本上传到任意目录。

回到控制台,登陆后输入以下命令试运行:

chmod u+x ~/xxx.sh #赋予脚本运行权限

dos2unix xxx.sh #转换文件编码

screen -S xxx.sh #开启独立窗口

./xxx.sh #启动服务器
    等候一段时间,MOD数量决定启动时间。如果命令行最后一行出现“Sim paused”,即代表开服成功。按下Ctrl+A+D退出窗口即可。如需要重启服务器,参考下面的命令即可。


    screen常用命令
screen -ls #列出所有窗口。输出格式为 PID.窗口名

screen -r xxxx #x替换为PID或窗口名,回到窗口

Ctrl + C #结束当前程序

Ctrl + D #结束当前窗口

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值