泰拉瑞亚/terraria 服务器部署
前言
最近乘着游戏打折,入手了泰拉瑞亚,和朋友联机的时候发现网络巨差,后面了解可以自行搭建服务器,琢磨着在自己的专业领域中解决这个问题。
部署环境:
- 群辉
也可以使用云服务器,使用后面的docker-compose.yaml文件部署也是一样的,后续简单说一下
- 不用内网穿透
- 需要调整防火墙端口策略
需要准备的
- 群辉docker套件Container Manager
- 内网穿透方案(自行选择)
1.创建目录
terraria/ # 根目录
├── world # 世界文件和配置
├── plugins # 插件(可选)
└── logs # 日志(可选)
2.安装与配置
方式一
使用docker-compose.yaml文件
services:
terraria-server:
image: ryshe/terraria:latest # 使用官方泰拉瑞亚镜像
container_name: terraria-server # 指定容器名称
restart: unless-stopped # 容器停止时自动重启(除非手动停止)
ports:
- "12345:7777" # 将主机12345(仅示例)端口映射到容器的7777端口(游戏默认端口)
environment:
- WORLD_FILENAME=my_world.wld # 世界文件名
# 使用相对路径,世界文件保存在当前目录下的 worlds 文件夹
# 容器会自动创建此目录(如果不存在)
# 卷映射 - 使用相对路径
volumes:
- ./world:/root/.local/share/Terraria/Worlds
- ./plugins:/plugins
- ./logs:/tshock/logs
# 完全按照原始 docker run 命令的参数顺序和格式
command: >
-password 你的服务器密码 -autocreate 3 -maxplayers 最大玩家数
logging:
driver: "json-file" # 使用 JSON 格式日志
options:
max-size: "200k" # 限制单个日志文件最大200KB
max-file: "3" # 最多保留3个日志文件(可选添加)
# 添加健康检查
healthcheck:
test: ["CMD", "netstat", "-an", "|", "grep", "7777"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
创建项目

ssh命令方式
在1.创建目录下的根目录下运行
# 启动容器(后台运行) docker-compose up -d其他命令
# 查看容器日志 docker-compose logs -f terraria-server # 停止容器 docker-compose down
方式二
- 现在套件Container Manager中镜像仓库的搜索下载功能,在国内已经不好用了,这里不再介绍
下载镜像操作步骤
-
开启ssh登录
-
登录ssh终端
-
使用有管理员权限的账号登录
-
使用命令sudo -i切换到root
-
使用命令下载镜像
docker pull docker.1ms.run/ryshe/terraria:latest -
完成,回到web页面
这可以取巧使用上面的docker-compose.yaml文件,在套件Container Manager中使用创建项目的方式进行拉取镜像,后面删掉这个项目就行
配置镜像

限制资源

整体配置,这里我是用已有的复制一个配置做示例

需要注意的是:
-
端口配置
-
存储空间配置
- 世界文件夹 /root/.local/share/Terraria/Worlds - 插件文件夹 /plugins - 日志文件夹 /tshock/logs -
环境
除世界文件名称,其他复制填入即可- CONFIGPATH /root/.local/share/Terraria/Worlds - LOGPATH /tshock/logs - WORLD_FILENAME 更改成你的世界名称,不能使用中文 - TSHOCK_LANGUAGE zh_CN -
网络
使用bridge
-
执行命令
-password 你的服务器密码 -autocreate 3 -maxplayers 最大玩家数
配置说明
环境变量
| 变量名 | 说明 | 示例值 |
|---|---|---|
WORLD_FILENAME |
指定启动时加载的世界文件名 | my_world.wld |
命令行参数
可在 docker run命令的镜像名称后添加TShock服务器参数,完整参数参考TShock文档。常用参数:
| 参数 | 说明 | 示例 |
|---|---|---|
-autocreate <size> |
自动创建世界(1=小,2=中,3=大) | -autocreate 2 |
-world <path> |
指定世界文件路径 | -world /path/world.wld |
-password <pwd> |
设置服务器密码 | -password myserver123 |
-maxplayers <num> |
最大玩家数 | -maxplayers 8 |
其他
- docker加速镜像地址:https://1ms.run/
- 泰拉瑞亚维基百科:https://terraria.wiki.gg/zh/
- 群辉内外穿透:群晖使用frp和云服务器实现内网穿透
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 surfingYu
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果