提供支持原版及移动设备的Terraria服务器,集成TShock工具以实现管理功能。
收藏数: 138
下载次数: 9759336
类型:

ryshe/terrariaTShock & Vanilla & Mobile 版本支持
本镜像是将TShock和Terraria的TerrariaServer.exe容器化的Docker镜像,使其可在Linux系统中运行。通过Docker容器化部署,用户无需手动配置Linux环境依赖,即可快速搭建Terraria服务器,特别适合初学者。镜像支持TShock(含1.4版本预发布版)、Vanilla及Mobile(移动版)服务器,满足不同版本需求。
mobile-1.4.0.5标签)systemctl start docker)创建目录用于存储世界文件、配置及日志(避免容器删除后数据丢失):
bashmkdir -p $HOME/terraria/world # 世界文件和配置 mkdir -p $HOME/terraria/plugins # 插件(可选) mkdir -p $HOME/terraria/logs # 日志(可选)
通过命令行指定世界大小(1=小型,2=中型,3=大型)直接生成世界:
bashdocker run -it -p 7777:7777 --rm \ -v $HOME/terraria/world:/root/.local/share/Terraria/Worlds \ ryshe/terraria:latest \ -world /root/.local/share/Terraria/Worlds/<世界名称>.wld \ -autocreate <世界大小>
说明:
<世界名称>:自定义世界文件名(无需.wld后缀,生成后自动添加)<世界大小>:1(小型)、2(中型)或3(大型)-it:交互式模式,生成过程中需确认设置(如世界名称、难度)config.json配置(如服务器密码)通过交互式终端自定义世界参数(如名称、难度、种子):
bashdocker run -it -p 7777:7777 --rm \ -v $HOME/terraria/world:/root/.local/share/Terraria/Worlds \ ryshe/terraria:latest
生成世界后,通过后台模式启动服务器并加载世界:
bashdocker run -d --rm --name="terraria-server" \ -p 7777:7777 \ -v $HOME/terraria/world:/root/.local/share/Terraria/Worlds \ -e WORLD_FILENAME=<世界文件名>.wld \ # 环境变量指定世界文件 ryshe/terraria:latest
参数说明:
-d:后台运行,关闭终端不影响服务器--name:自定义容器名称,便于管理-e WORLD_FILENAME:指定世界文件(需在$HOME/terraria/world目录下)拉取最新镜像:
bashdocker pull ryshe/terraria:latest
停止并删除旧容器(需替换<容器ID/名称>):
bashdocker rm -f <容器ID/名称> # 如上文的"terraria-server"
重新启动容器(参考步骤3:运行已有世界)
如需自定义镜像(如修改TShock版本),可从源码构建:
克隆仓库:
bashgit clone [***] && cd terraria
(可选)修改Dockerfile中的TShock版本(默认使用最新预发布版):
dockerfile# 替换为目标TShock版本的下载链接 ADD [***]<版本号>/<TShock压缩包> /
构建镜像:
bashdocker build -t my-terraria:latest . # "my-terraria"为自定义镜像名称
| 变量名 | 说明 | 示例值 |
|---|---|---|
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 |
通过-v参数挂载目录实现数据持久化,支持以下目录:
| 宿主机目录 | 容器内路径 | 用途 |
|---|---|---|
$HOME/terraria/world | /root/.local/share/Terraria/Worlds | 世界文件、配置文件(config.json) |
<插件目录> | /plugins | TShock插件(需提前创建目录) |
<日志目录> | /tshock/logs | 服务器日志(避免容器内堆积) |
创建插件目录:
bashmkdir -p $HOME/terraria/plugins
启动时挂载插件目录:
bashdocker run -d --rm --name="terraria-server" \ -p 7777:7777 \ -v $HOME/terraria/world:/root/.local/share/Terraria/Worlds \ -v $HOME/terraria/plugins:/plugins \ # 挂载插件目录 -e WORLD_FILENAME=my_world.wld \ ryshe/terraria:latest
挂载日志目录到宿主机,避免日志占用容器空间:
bashdocker run -d --rm --name="terraria-server" \ -p 7777:7777 \ -v $HOME/terraria/world:/root/.local/share/Terraria/Worlds \ -v $HOME/terraria/logs:/tshock/logs \ # 挂载日志目录 -e WORLD_FILENAME=my_world.wld \ ryshe/terraria:latest
日志大小限制:添加--log-opt max-size=200k限制单日志文件大小,避免磁盘占满:
bashdocker run -d --rm --name="terraria-server" \ --log-opt max-size=200k \ # 限制日志文件大小为200KB -p 7777:7777 \ -v $HOME/terraria/world:/root/.local/share/Terraria/Worlds \ -e WORLD_FILENAME=my_world.wld \ ryshe/terraria:latest
sudo执行docker命令(如sudo docker run ...)。mobile-1.4.0.5标签启动移动版服务器(需参考官方指南配置):
bashdocker run -it -p 7777:7777 --rm \ -v $HOME/terraria/world:/root/.local/share/Terraria/Worlds \ ryshe/terraria:mobile-1.4.0.5
若发现文档或镜像问题,可通过以下方式贡献:
git checkout -b my-new-featuregit commit -am 'Add some feature'git push origin my-new-feature问题反馈可发送邮件至:***
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务