早几个周前,就有朋友留言,看是否能捣鼓下Docker搭建泰拉瑞亚服务器。快过年了,在NAS搭建一个,朋友凑在一起玩玩还是不错的。
近期忙里偷闲,去GitHub逛了逛确实有所发现。
笔者经过测试完全可玩,接下来就一起看看怎么部署和联机。
相关介绍
摘自项目。
本项目是一个 Dockerfile,用于将 TShock 和 Terraria(TerrariaServer.exe)容器化,以便Linux上运行。Docker 免去用户在 Linux 系统上搭建服务器并安装所有必要依赖项的麻烦。
GitHub的完整项目名为:ryansheehan/terraria。
部署流程
我们以威联通NAS为例,通过Docker Compose的方式进行部署。
部署代码如下,我注释掉的其实都可删除。
services:
terraria:
# 文章发布当天的前最新游戏版本为v1.4.5
# 请大家一定按照当前游戏版本拉取镜像
# latest目前为v1.4.4.9
# 若要更新,pull对应的镜像再重新部署即可
image: ryshe/terraria:vanilla-1.4.5.2
container_name: terraria
stdin_open: true # 用于交互创建世界
tty: true # 保持 tty 不退出
# environment:
# - WORLD_FILENAME=world.wld # 指定加载的世界文件名 替换为你实际的文件名
# - CONFIGPATH=config.json # 可自定义配置路径(可选)
ports:
- "7787:7777" # Terraria 游戏连接端口
- "7878:7878" # RestAPI端口端口
volumes:
- /share/Container/terraria/world:/root/.local/share/Terraria/Worlds # 用于保存 .wld 文件
- /share/Container/terraria/plugins:/plugins # 插件目录
- /share/Container/terraria/logs:/tshock/logs # 持久化日志文件
restart: always
要注意/terraria/world目录中的任何配置文件config.json都会自动加载。如果后期想要调整参数,请自行更改。插件为.dll文件,也请自行放入。
打开威联通的Container Station,创建新的应用程序。

开服流程
这次不需要登陆网页管理。部署完毕后,我们查看Docker日志,可以看到如下输出,让你创建世界。

这时候就需要使用SSH工具连接NAS,输入以下指令并回车。
docker attach terraria # 与该项目进行交互

因为我们是初次进入,并没有任何存档数据,因此要输入n并回车,创建新的世界。

接着会让你选择世界大小,对应编号输入并回车。

然后是游戏难度:「经典」,「专家」,「大师」,「旅途」。输入编号并回车。

接着选择腐化或者猩红之地:「随机」,「腐化之地」,「猩红之地」。输入编号并回车。

为世界命名,确认后回车。

最后是输入种子,没有的话可以直接回车。

稍微等一会儿,等待世界生成。生成完毕后,参照我下面的截图,如果一致便可执行下一步。
选择输入1并回车(选择刚创建的世界)。每次服务重启(包括版本更新)都需要执行这一操作!!!!

这里是设定玩家数量,最大支持16。一台1-1.5GB内存的服务器能满足8人及以下的游玩需求。输入并回车。

接着是服务器端口,为7777,大家忽略下图我输入的7787。输入并回车。

是否自动配置端口转发。这里我并不希望,因此输入n并回车。

设定密码,我们反正也不分享出去,就直接回车。

最后可以看到如下界面,证明服务器运行成功。

多人游戏
打开你的Steam,找到Terraria。

打开并选择多人模式。

通过IP加入。

分别输入IP和端口。外网玩一定记得路由器把端口转发出去。我这里是公网IP,不过动态IP可能久不久就变动,大家可以自行域名绑定。如果没有公网IP,可以请教下周围玩我的世界等游戏的老玩家,免费付费方法多多。

可以看到成功连接加入世界。

后台的日志也会有显示。

退出世界会自动保存。

插件之类的我就不操作演示啦~
最后
祝大家玩的愉快。
感谢观看,本文完。
评论区