在Linux上搭建泰拉瑞亚(Terraira)服务器
事前声明
本教程是在Ubuntu 22.04.2 LTS环境下演示的,对于其他版本的Ubuntu,可能有所出入,对于其他的Linux操作系统,如CentOS,本文不保证完全适用,但核心相同,可以本文为参考进行搭建。
本文只是在本机Ubuntu 22.04.2 LTS环境下完成测试,并没有在其他版本上跑过测试(原因是懒),并不保证全版本适应性,故如有错漏与不足,还请各位指出。
本文于2023.6.23写成,并不保证在较长时间后仍然有效,届时会根据情况进行更新,如有不适配之处,也请各位在评论区指出,本人会尽力进行对本文的修改,使其尽量不落后于时代。
本文只是提出一条在linux上搭建泰拉瑞亚服务器的可行方案,对于其他方案,也许其可行,但本人并未对此进行深入探究,故不在此介绍。
最后一次更新:2023.6.23

步骤
1.基本环境准备
1)可正常运行的Linux操作系统,本文以Ubuntu为演示,版本为Ubuntu 22.04.2 LTS 在对应Linux官网下载镜像文件,然后在虚拟机或者实体机上进行安装;或在选择云服务器操作系统时选择Linux,本人建议Ubuntu或CentOS
2)unzip工具
3)tar工具(应该不会没有吧)
4)screen工具
5)可用的网络连接
6)ssh工具(可选)
2. 下载TShock的服务器文件
网址:https://github.com/Pryaxis/TShock/releases/latest
进入该网址,然后下滑,直到看见Assets(有可能没有展开)

选择与你对应的版本,这里是Linux即选择linux-xx,xx根据自己的情况判断是arm64还是x64,对于大多数linux系统来说,可以通过arch命令来查询架构信息

如果输出aarch64则是arm64架构,如果输出x86_64则是x64架构,这里以x64进行演示
3.将下载到的文件通过各种各样的方式传输到linux上
具体方式不再赘述。

4.unzip解压缩zip文件
filename依据你具体的文件名而定,下同。可以用tab补全,不必一个一个字母的打。如我想输入filename为TShock-5.2-for-Terraria-1.4.4.9-linux-x64-Release.zip,可以先输入TShock-5.2(长度随便,重点是足够让tab寻找到唯一与这个相符的文件名),然后按下tab,即可自动补全。

5.tar解压缩tar文件

6.现在应该得到的文件

7. 运行TShock.Installer文件,安装dotnet环境

该程序会自动从一个网址下载dotnet,并自动解压安装。稍等即可。若此时linux网速过慢会导致时间漫长,可以通过一个网速快的计算机先下载好后手动安装,这个我们稍后介绍。

这时出现了这个画面,代表已经成功安装。
8. Terraria服务器的配置

如图是TShock的初始页面。可以通过输入对其进行控制。这里我们新建世界,即New World,输入对应的n,然后回车。

我选择中,你们随意,下同。


看似给了三个选项,实则只有两个



9.运行Terraria服务器

可以看到,我们刚才创建的世界已经出现在世界列表当中,他的编号是1
通过输入世界的编号,可以进入世界





出现如上画面,表示服务器启动成功

该指令和后面的数字需要记一下。截图或者写纸上都行
10. screen保持运行
至此,我们已经完成了Terraria服务器的启动,但是我们现在面临着一个严峻的问题,那就是如果我们关闭ssh连接(或者在虚拟机中关闭shell),服务器就会停止运行,这显然不是我们所期望的,我们期望他在后台运行,这就需要screen的出面了。

name可以随意取,别太离谱就行,最好别加特殊字符之类的


我们已经进入了screen,尽管你可能并未发觉,在screen当中操作与在正常的shell基本相同。我们现在再在screen里面启动服务器

中途如果卡住可以连按两次Ctrl-C强制退出,然后重新运行文件。也有可能没有卡住,只是没有显示,如选择页面时,直接输入并回车也可以继续。当是在不行时再Double Ctrl-C
这时候我们按Ctrl +A+D可以退出与screen的连接
这时候,我们就可以安全地退出终端
如果我们需要再连接到screen当中,可以使用如下命令
这里的name是之前你在创建screen时取得名字
11.加入游戏与用户配置
当服务器在服务端运行起来之后,便可以在客户端,也就是Terraira游戏中通过多人游戏-通过IP加入来加入 游戏,ip地址输入你服务器的ip地址。如果是云服务器的话,可能需要为7777端口新建一条规则。具体可以自行百度,比如说腾讯云的服务器可以搜索“腾讯云服务器 防火墙”即可。
有时,linux自带的防火墙也会阻碍7777端口,可以通过指令新建规则或者关闭它,具体也是百度,我这里附一条ubuntu的ufw防火墙开放7777端口的指令
需要注意,如果你前面开服的时候选择修改了端口,不是7777,那么这里的端口号也应该随之改变。
进入游戏之后,你发现你似乎没办法砍树,左下角提示红色信息。这是因为你无法破坏出生点的方块,为什么呢?因为tshock有一套权限系统,你现在并没有登录,是guest游客,没有破坏出生点方块的权限。
这时候你可能会说了,我是腐竹啊!怎么连这点权力都没有。的确如此,但服务器并不认识你是腐竹,这时候你就要告诉它你是腐竹,怎么做呢?还记得上面开服时我让你记 的指令吗,用它就可以告诉服务器你是腐竹,获得一段时间的超管特权。

但这终究不是长久之计,你要趁这点时间给自己新建一个用户。用
username即用户名,建议填你的游戏人物名称,这样登陆时就不必在输入username了
password即密码,可以随便设置,你得记得住。
group即组,它决定了这个用户的身份,如果是普通和朋友玩的话,建议设成owner即物主、腐竹。owner可以通过/su命令暂时成为SuperAdmin(超管)
如果有多人游玩,建议每人一个用户,不要混用。
关于tshock的指令,可以去看这篇文章。

https://www.bilibili.com/read/cv18312164/
我在这里也不多说。
12.离线安装dotnet

先运行一下Installer,复制到这个网址,然后Ctrl强制停止,再在另外一个计算机下载完成之后传到linux上。

应该是这么一个.tar.gz文件
再运行Installer即可,程序会自动解压该文件到dotnet文件夹,并且会跳过下载步骤。

尾声
至此,你已经完成了泰拉瑞亚服务器在linux的安装。祝你玩的愉快。如果有任何问题,也可以在评论区给本人回复,我会尽力回答。介于本人技术、精力有限,不可能做到尽善尽美,如果本文存在任何疏漏,也欢迎各位指出,我会及时改正。