Terraria 1.4 Linux 服务器搭建(支持 tModLoader 1.4)

4,277 阅读5分钟

简介

泰拉瑞亚 1.4 Linux 服务器搭建, tModLoader (后简称 TML) 1.4 服务器搭建(支持mod),面向需要一点 Linux 基础的小伙伴。

如果只是 TML 运行后一直在 下载 或者 5分钟没反应 这个问题(win 和 Linux 通用),可以直接看 TML 安装的最后重点问题部分。

网上泰拉服务器教程已经很多了,但是都基本都是 1.3 版本, TML 基本在 0.11.8.9 版本之前,这次本体更新到 1.4 版本,TML更新到 v2022.05.103.34 版本(本文写于2022.6.28)后整体有了较大的变化,搭建过程中我也走了很多弯路,所以写一篇文章,希望对大家有帮助。

选择开服务器,我觉得好处还是很明显的

  1. 可以最大支持16个人在同一地图
  2. 无 steam 开黑的网络延迟烦恼,也没有了局域网限制
  3. 可以长时间挂载游戏,不需要受限于房主
  4. 可以同时开多个地图
  5. …… 还有很多

环境说明

服务器 :腾讯云 8 核 4 G(如果要安装 TML 建议服务器 在 2核2G 以上),操作系统 :debain 11

游戏本体:steam上的 Terraria 1.4.3.6 ,TML v2022.05.103.34

泰拉的服务器端是免费的,在 官网 或者 Terraria wiki, TML 在 GitHub 获得最新版,也有封装完整的 docker 镜像供大家使用(这个方法我没有试过)

我这里推荐和使用的是利用 steamcmd 安装的方法,先说一下优点:

  1. 服务器与桌面端版本统一起来方便。
  2. 版本更新方便,steamcmd 有专门的指令更新游戏及其 mod,而别的方法需要重新下载安装。
  3. 1.4 版本后的 TML 支持创意工坊直接导入 mod ,这个在服务器端也生效!!!服务器下载 TML 可以自带订阅的 mod

服务器搭建流程

安装 steamcmd

习惯看文档的请看文档,里面比较详细(支持中文), 内含 docker 安装方法,这里简单的介绍一下

  1. 以 root 用户身份创建 steam 用户:
useradd -m steam

# 添加密码
passwd steam
  1. 进入其文件夹
cd /home/steam

# 或者 
su steam
bash # 切换到 bash 以保证命令行体验
cd ~
  1. 安装

Ubuntu/Debian

sudo apt install steamcmd

# 64 位机需要先
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install lib32gcc1 steamcmd 
  1. 链接 steamcmd 可执行文件:
ln -s /usr/games/steamcmd steamcmd
  1. 运行 Steamcmd
cd ~
steamcmd

正常情况下你会看到

steam0.png

输入login + 你的用户名 然后按提示登录即可(第一次登录会需要令牌)

安装 terraria

# 安装 Terraria(它在steam中的代码是 105600,不会改变)
app_update 105600 

下载完成后你应该可以在 ~/Steam/steamapps/common 下面看到 Terraria 文件夹

steam 1.png

里面的 TerrariaServer.bin.x86_64 就是服务器运行文件了

# 新建会话
screen -S Tr
./TerrariaServer.bin.x86_64

然后就可以开始的愉快游戏了,常用指令

tModLoader 服务器搭建

这个需要在本体完成的基础上进行

查找游戏在steam中的代码

steam 选中游戏后右键属性即可查看

steam2.png

我们可以看到 TML 的代码是 1281930 版本是 8980144, 所以执行

# app_update <应用ID> [-beta <测试名称>] [-betapassword <密码>] [validate]
app_update 1281930 8980144 validate # 如果发现安装有问题请加 validate

下载完成后,同样进入 TML 文件夹

steam3.png

# 新建会话
screen -S Tr
./start-tModLoaderServer.sh

重点问题

这里演示的是 windows 下的情况,Linux服务端一样,只不过服务器上可以多看到下载信息,应该是在下载 .net ,但是国内服务器应该是下载不下来的,所以会等到死。

steam4.png

解决方法

windows 和 Linux 解决方法一样,手动下载 .net ,非x64 的可以到这里找到对应版本的链接。

我们可以 cd 到 tModLoader 内的 dotnet/6.0.0 文件夹里面是空的或者是不完整的,所以我们要手动下载二进制文件包,丢进去,代码如下

cd ~/Steam/steamapps/common/tModLoader/dotnet/6.0.0

# 下载二进制文件
wget https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/sdk-6.0.301-linux-x64-binaries

# 解压文件
tar -zxvf dotnet-sdk-6.0.301-linux-x64.tar.gz

windows 下操作同理,下载 x64,然后 steam 找到游戏右键 -> 管理 -> 浏览本地文件,找到 dotnet 文件夹,进入 6.0.0 文件夹,将下载好的文件解压到里面,即可解决问题。

steam 的最大优势是下载后 TML 内的 mod 自带,所带的 mod 就是登录的 steam 账号内 TML 订阅的 mod ,如果需要更新 ,请在 steamcmd 中输出一下指令(和安装一样的指令),就可以更新 mod 了。

请注意服务器 mod 与主机端开启的 mod 应当相同

app_update 1281930 validate

现已经成功和小伙伴玩上 1.4 版本的 灾厄 mod 2.0.0.001 ,刚出没几天,服务器体验不错,暂时只遇到了一个人多的时候不能捡坠落之星的 bug 。

本文主要是为了介绍 TML 1.4 运行不起来的解决方法,下面的参考链接介绍会更为详细(但正如前面提到的由于版本的原因,很多地方不再适合新版)。

如果有错误与不足之处,欢迎大家指出。

参考连接:

泰拉瑞亚服务器搭建教程(带 MOD)

使用Linux搭建Terraria服务器,详细步骤