linux mc服务器 mod_使用阿里云服务器搭建饥荒联机版服务器(最新有效2020.2.9更新)...

8544bc9c4e41e6d97a190ba525ba5958.png

前提

本教程基于阿里云服务器搭建饥荒联机版服务器,使用的操作系统是64位的Ubuntu 16.04 LTS,饥荒联机版使用的平台是Steam平台,实现了饥荒服务器地上地下部分的搭建和mod的引入。

ps:关于作者为啥写这篇文章,因为网上的教程都有些过时了,我想提供一个最新的教程来给一些有需要的动手党。有时候看到一些网上的教程写得五花八门的,总是会萌生自己写一篇能够有代表性的教程的想法,也担心自己也写得渣渣 [可怜],但我会尽量写好来的。

f30baaf6d0bd742851caee83b3d3d083.png

基本步骤

  1. 安装依赖
  2. 安装SteamCMD、Steam客户端
  3. 安装饥荒联机版服务器软件
  4. 试运行服务器
  5. 配置存档与mod
  6. 运行服务器
  7. 测试服务器

步骤详细描述

1. 安装依赖

  • Ubuntu 32位环境
sudo apt-get update
sudo apt-get install libstdc++6:i386 libgcc1:i386 libcurl4-gnutls-dev:i386
  • Ubuntu 64位环境
sudo apt-get update
sudo apt-get install libstdc++6 libgcc1 libcurl4-gnutls-dev

如果是Centos或其他基于RHEL的Linux系统,安装依赖使用yum,方法类似。以下是参考:

  • Centos 32位环境(参考,因为没试过)
yum -y install glibc.i686 libstdc++.i686 libcurl4-gnutls-dev.i686 libcurl.i686
  • Centos 64位环境(参考,因为没试过)
yum -y install glibc libstdc++ libcurl4-gnutls-dev libcurl

2. 安装SteamCMD、Steam客户端

  • 在家目录下新建steamcmd目录
mkdir ~/steamcmd
  • 下载SteamCMD安装文件
wget -P ~/steamcmd https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
  • 解压压缩包
tar -xvzf ~/steamcmd/steamcmd_linux.tar.gz
  • 运行steamcmd.sh脚本安装Steam客户端并进入SteamCMD模式
cd ~/steamcmd
./steamcmd.sh

耐心等待Steam客户端安装,Steam客户端安装完成后会出现“:steam>”代表进入了SteamCMD模式。

如果出现问题多半是网络不好,重新运行脚本再试试。

3. 安装饥荒联机版服务器软件

  • 使用匿名账户登录Steam
login anonymous
  • 指定饥荒联机版服务器软件的安装目录到家目录下
force_install_dir ~/myDSTserver
  • 安装饥荒联机版服务器软件
app_update 343050 validate

安装过程请耐心等待。

  • 安装完成后,使用以下命令退出SteamCMD模式
quit

4. 试运行服务器

试运行服务器就是不带参数运行服务器软件,使其生成默认的配置文件,不用自己创建。

运行以下命令:

cd ~/myDSTserver/bin
./dontstarve_dedicated_server_nullrenderer

当看到如下提示时,按下Ctrl+C中断进程。

[200] Account Failed (6): "E_INVALID_TOKEN"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!! Your Server Will Not Start !!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

当在家目录使用ls -al命令查看时,会发现存在.klei目录,其含有默认的配置文件,后续步骤再加以完善。

5. 配置存档与mod

  • 在Steam上购买饥荒联机版

Steam上商店搜索Don`t Starve Together,付款后下载。

  • 订阅mod

下载后在个人所有库中找到Don`t Starve Together点击打开游戏详情界面。

点击页面中的Workshop到创意工坊页面,如下图所示:

4724fdb8e4966ee09df9c703dc834ae1.png

搜索想要的mod,譬如“Global Position”,点击Subscribe订阅。

60a0153ea8e0e1c87802373007946fc6.png

点击Subscribe订阅mod后,Steam会下载mod到本地。

到本地mod安装目录中找到mod对应的id。譬如我订阅并下载了“Global Position”mod后,本地mod安装目录会出现“workshop-378160973”文件夹,此文件夹对应于“Global Position”mod,“378160973”为“Global Position”mod的id。

ps:Windows下,本地mod安装目录为:你的Steam安装目录steamappscommonDon't Starve Togethermods)。

订阅你想要的mod,记住它们的id,接下来的配置有需要。

  • 创建本地存档,在本地存档中启动mod

Steam上打开饥荒联机版游戏,登录账户后点击本地游戏,创建一个本地存档,启动你想要加载的服务器mod,开始游戏,直到加载出角色选择界面,可以继续选择一个角色进入游戏世界界面后退出也可以直接退出。

  • 复制本地存档

找到本地存档文件夹,复制一份到桌面用于后续操作。

ps:Windows下,本地存档文件一般在文档目录下Klei文件夹里,存档名为Cluster_X,X是存档编号。

我创建的本地存档对应的文件夹为Cluster_1,如下图所示:

ccdf8c80b2664a33fc64347928ea7944.png
  • 从Klei官方添加服务器并获取服务器票据token

这一步获取用于修改上述文件的服务器票据token。

步骤如下:

1)登录https://accounts.klei.com/login,使用Steam账户登录后,可以见类似下图:

a12634a6a1e9be2e0c47bc74442620ff.png

2)点击“游戏”,见类似下图:

caa41402b946efa320ef65a68f2527cb.png

3)继续点击“饥荒联机版的游戏服务器”,见类似下图:

b3e4edbe7ba6b04d67f02e5b8e148f11.png

4)点击“添加新服务器”,名字自定义。添加完成后,就会在上方的服务器列表中看到注册的服务器(譬如我注册了服务器“myDSTserver”),其含有一串token(譬如我用红色涂鸦遮住的部分),记住这串token,用于下面的操作。

  • 修改复制的本地存档

在复制的本地存档文件夹中创建“cluster_token.txt”文件,将获取的token写入创建的“cluster_token.txt”文件。

  • 上传本地存档到服务器

将复制的本地存档文件夹完整上传到服务器的~/.klei/DoNotStarveTogether目录下。上传完成的效果如下图所示:

13f5780aa3466cc74a411ecd17d3a776.png
  • 修改饥荒联机版服务器软件的dedicated_server_mods_setup.lua

修改服务器的~/myDSTserver/mods目录下的dedicated_server_mods_setup.lua文件,添加已订阅并且将在服务器存档中启动的mod的id。添加效果如下:

a06e9fded6c45fdf0ab8a2b28b11a935.png

红色框内的内容即为添加需要加载的服务器mod的配置项,其格式为:

ServerModSetup("mod_id") --mod_id是需要加载的服务器mod的id,即服务器存档将启动的mod的id

有多少需要加载的服务器mod,就有多少配置项。

ps:饥荒联机版服务器需要先下载服务器mod,然后才能在服务器存档中启动服务器mod。

至此,配置存档与mod完成。

6. 运行服务器

在真正运行服务器之前,需要先写一个服务器启动脚本。

脚本命名为startup.sh,放置于家目录下。

脚本代码如下:

#!/bin/bash

steamcmd_dir="$HOME/steamcmd"
install_dir="$HOME/myDSTserver"
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: /'

赋予脚本文件以执行权限:

chmod u+x ~/startup.sh 

打开一个虚拟窗口:

screen -S myDSTserver

运行脚本:

./startup.sh

观察情况,若未发生错误,按下Ctrl+A+D最小化虚拟窗口,后台运行服务器。

至此,服务器就搭建完成了,下面进行服务器的测试。

7. 测试服务器

Steam上打开饥荒联机版,点击“浏览游戏”,查询搭建的服务器名字(服务器存档的名字)可以找到搭建的服务器。

ps:当饥荒联机版有更新时,饥荒联机版服务器软件也需要更新,不然可能会出现查询不到搭建的服务器的情况,如何更新饥荒联机版服务器软件参考上面的基本步骤的第三点。

至此,本教程结束,后续可能有相关补充。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值