这是一个为Terraria PC版打造的原版服务器,打包为Docker镜像。
hexlo/terraria-server-docker:latest
docker-compose.yml文件(见下方示例)。也可将docker-compose-example.yml重命名为docker-compose.yml并进行修改。yamlversion: '3' services: terraria-server: image: hexlo/terraria-server-docker:latest container_name: terraria-server restart: unless-stopped stdin_open: true tty: true ports: - 7779:7777 volumes: - ./Worlds:/root/.local/share/Terraria/Worlds/ environment: - world=/root/.local/share/Terraria/Worlds/world1.wld - autocreate=2 - worldname=world1 - difficulty=1 - maxplayers=8 - port=7777 - password=mypassword - motd="欢迎来到hexlo的服务器!:)"
docker-compose up -dTerraria世界文件扩展名为.wld。若已有兼容的世界文件,只需将其放入Worlds目录,并确保world变量设置与文件名匹配。
有两种创建新世界的方式:
docker-compose.yml文件中的变量(推荐)需在docker-compose.yml的environment:部分设置以下变量:
yaml... environment: - world=/root/.local/share/Terraria/Worlds/world1.wld - autocreate=2 - worldname=world1 - difficulty=1 ...
可通过连接容器并手动执行服务器命令创建或选择世界:
docker attach <容器名称>
ctrl+p+ctrl+q断开连接(不停止容器)若要服务器在后续启动时自动运行,需通过world环境变量提供现有世界的路径。
注意:变量区分大小写!
| 环境变量 | 默认值 | 描述 | 示例 |
|---|---|---|---|
world | (空) | 世界文件路径。需要提供此变量使服务器自动启动 | world=/root/.local/share/Terraria/Worlds/My_World.wld |
autocreate | 2 | 当指定路径无世界文件时自动创建世界。世界大小:1(小)、2(中)、3(大) | autocreate=2 |
seed | (空) | 使用autocreate时指定世界种子 | seed=someseed123 |
worldname | (空) | 使用autocreate时设置世界名称 | worldname=world1 |
difficulty | 0 | 使用autocreate时设置世界难度。选项:0(普通)、1(专家)、2(大师)、3(旅途) | difficulty=1 |
maxplayers | 16 | 最大玩家数量 | maxplayers=8 |
port | 7777 | 服务器内部端口,不建议修改 | port=8123 |
password | (空) | 服务器密码 | password=serverpassword |
motd | (空) | 服务器每日消息文本 | motd="欢迎来到我的私人服务器!:)" |
worldpath | /root/.local/share/Terraria/Worlds | 世界文件存储目录 | worldpath=/some/other/dir |
banlist | banlist.txt | 封禁列表位置,默认在工作目录的"banlist.txt" | banlist=/configs/banlist.txt(需将本地banlist.txt挂载到容器的/configs/banlist.txt路径) |
secure | 1 | 是否防止作弊(1:禁止作弊;0:允许作弊) | secure=0 |
language | en/US | 设置服务器语言(语言代码)。可用代码:en/US=英语、de/DE=德语、it/IT=意大利语、fr/FR=法语、es/ES=西班牙语、ru/RU=俄语、zh/Hans=中文、pt/BR=葡萄牙语、pl/PL=波兰语 | language=fr/FR |
upnp | 1 | 启用/禁用通用即插即用(UPnP) | upnp=0 |
npcstream | 1 | 减少敌人卡顿但增加带宽使用。数值越低卡顿越少但数据传输越多,0为关闭 | npcstream=60 |
priority | (空) | 设置进程优先级 | priority=1 |
若world变量留空或未设置,服务器需在容器启动后手动初始化。需连接容器并手动选择/创建世界、设置玩家数量、端口和密码。新创建的世界将保存在worldpath变量指定的目录。
docker attach <容器名称>ctrl+p+ctrl+q断开连接seed=<yourseed>变量。服务器运行时可执行以下命令(先通过docker attach <容器名称>连接容器):
help - 显示命令列表 playing - 显示玩家列表(游戏内可通过/playing命令使用) clear - 清空控制台 exit - 关闭服务器并保存 exit-nosave - 关闭服务器不保存 save - 保存游戏世界 kick <玩家名称> - 将玩家踢出服务器 ban <玩家名称> - 封禁玩家 password - 显示当前密码 password <密码> - 修改密码 version - 显示版本号 time - 显示游戏时间 port - 显示监听端口 maxplayers - 显示最大玩家数 say <消息> - 向所有玩家发送消息(玩家将看到黄色<server>前缀的消息) motd - 显示服务器每日消息 motd <消息> - 修改服务器每日消息 dawn - 将时间设为黎明(4:30) noon - 将时间设为正午(12:00) dusk - 将时间设为黄昏(19:30) midnight - 将时间设为午夜(0:00) settle - 平静所有水体
使用ban <玩家名称>命令封禁玩家,被封禁玩家登录时将显示提示信息。解封需编辑"banlist.txt"文件(位于Terraria目录),删除对应玩家名称和IP地址。
注意:命令前无需加斜杠
/,部分命令界面可能需要。<|FCResponseEnd|>===SHORT_DESC=== 一个在Docker容器中运行的原版Terraria服务器
===FULL_DESC===# Terraria原版服务器
这是一个为Terraria PC版打造的原版服务器,打包为Docker镜像。
hexlo/terraria-server-docker:latest
docker-compose.yml文件(见下方示例)。也可将docker-compose-example.yml重命名为docker-compose.yml并进行修改。yamlversion: '3' services: terraria-server: image: hexlo/terraria-server-docker:latest container_name: terraria-server restart: unless-stopped stdin_open: true tty: true ports: - 7779:7777 volumes: - ./Worlds:/root/.local/share/Terraria/Worlds/ environment: - world=/root/.local/share/Terraria/Worlds/world1.wld - autocreate=2 - worldname=world1 - difficulty=1 - maxplayers=8 - port=7777 - password=mypassword - motd="欢迎来到hexlo的服务器!:)"
docker-compose up -dTerraria世界文件扩展名为.wld。若已有兼容的世界文件,只需将其放入Worlds目录,并确保world变量设置与文件名匹配。
有两种创建新世界的方式:
docker-compose.yml文件中的变量(推荐)需在docker-compose.yml的environment:部分设置以下变量:
yaml... environment: - world=/root/.local/share/Terraria/Worlds/world1.wld - autocreate=2 - worldname=world1 - difficulty=1 ...
可通过连接容器并手动执行服务器命令创建或选择世界:
docker attach <容器名称>
ctrl+p+ctrl+q断开连接(不停止容器)若要服务器在后续启动时自动运行,需通过world环境变量提供现有世界的路径。
注意:变量区分大小写!
| 环境变量 | 默认值 | 描述 | 示例 |
|---|---|---|---|
world | (空) | 世界文件路径。需要提供此变量使服务器自动启动 | world=/root/.local/share/Terraria/Worlds/My_World.wld |
autocreate | 2 | 当指定路径无世界文件时自动创建世界。世界大小:1(小)、2(中)、3(大) | autocreate=2 |
seed | (空) | 使用autocreate时指定世界种子 | seed=someseed123 |
worldname | (空) | 使用autocreate时设置世界名称 | worldname=world1 |
difficulty | 0 | 使用autocreate时设置世界难度。选项:0(普通)、1(专家)、2(大师)、3(旅途) | difficulty=1 |
maxplayers | 16 | 最大玩家数量 | maxplayers=8 |
port | 7777 | 服务器内部端口,不建议修改 | port=8123 |
password | (空) | 服务器密码 | password=serverpassword |
motd | (空) | 服务器每日消息文本 | motd="欢迎来到我的私人服务器!:)" |
worldpath | /root/.local/share/Terraria/Worlds | 世界文件存储目录 | worldpath=/some/other/dir |
banlist | banlist.txt | 封禁列表位置,默认在工作目录的"banlist.txt" | banlist=/configs/banlist.txt(需将本地banlist.txt挂载到容器的/configs/banlist.txt路径) |
secure | 1 | 是否防止作弊(1:禁止作弊;0:允许作弊) | secure=0 |
language | en/US | 设置服务器语言(语言代码)。可用代码:en/US=英语、de/DE=德语、it/IT=意大利语、fr/FR=法语、es/ES=西班牙语、ru/RU=俄语、zh/Hans=中文、pt/BR=葡萄牙语、pl/PL=波兰语 | language=fr/FR |
upnp | 1 | 启用/禁用通用即插即用(UPnP) | upnp=0 |
npcstream | 1 | 减少敌人卡顿但增加带宽使用。数值越低卡顿越少但数据传输越多,0为关闭 | npcstream=60 |
priority | (空) | 设置进程优先级 | priority=1 |
若world变量留空或未设置,服务器需在容器启动后手动初始化。需连接容器并手动选择/创建世界、设置玩家数量、端口和密码。新创建的世界将保存在worldpath变量指定的目录。
docker attach <容器名称>ctrl+p+ctrl+q断开连接seed=<yourseed>变量。服务器运行时可执行以下命令(先通过docker attach <容器名称>连接容器):
help - 显示命令列表 playing - 显示玩家列表(游戏内可通过/playing命令使用) clear - 清空控制台 exit - 关闭服务器并保存 exit-nosave - 关闭服务器不保存 save - 保存游戏世界 kick <玩家名称> - 将玩家踢出服务器 ban <玩家名称> - 封禁玩家 password - 显示当前密码 password <密码> - 修改密码 version - 显示版本号 time - 显示游戏时间 port - 显示监听端口 maxplayers - 显示最大玩家数 say <消息> - 向所有玩家发送消息(玩家将看到黄色<server>前缀的消息) motd - 显示服务器每日消息 motd <消息> - 修改服务器每日消息 dawn - 将时间设为黎明(4:30) noon - 将时间设为正午(12:00) dusk - 将时间设为黄昏(19:30) midnight - 将时间设为午夜(0:00) settle - 平静所有水体
使用ban <玩家名称>命令封禁玩家,被封禁玩家登录时将显示提示信息。解封需编辑"banlist.txt"文件(位于Terraria目录),删除对应玩家名称和IP地址。
注意:命令前无需加斜杠
/,部分命令界面可能需要。

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429