1. 为什么选择Docker部署TShock泰拉瑞亚服务器泰拉瑞亚作为一款经典的沙盒游戏其多人联机体验一直是核心乐趣所在。而TShock作为最流行的服务端增强工具提供了权限管理、插件支持等专业功能。传统部署方式需要手动安装.NET运行时、配置环境变量对新手来说门槛较高。Docker化部署则像把整个服务端打包成便携行李箱——无论搬到哪个服务器环境开箱即用。我最早在阿里云ECS上尝试手动部署时光是解决依赖冲突就花了半天。后来切换到Docker方案后发现三大优势特别明显首先是环境隔离不会污染主机环境其次是版本控制可以随时切换不同TShock版本最重要的是快速迁移整个服务端打包成镜像后换个服务器只需一条命令就能恢复。对于国内用户还有个隐藏福利Docker镜像加速。虽然官方镜像仓库在国外但通过配置国内镜像源拉取速度能从KB级提升到MB级。实测在上海区域的轻量云服务器上完整拉取TShock镜像只需1分半钟比直接下载安装包还快。2. 十分钟快速搭建服务端2.1 配置Docker环境首先确保你的Linux系统已安装Docker CE版本。如果是全新系统建议先更新软件源sudo apt update sudo apt upgrade -y接着创建daemon.json配置文件这里推荐使用中科大的镜像源sudo tee /etc/docker/daemon.json EOF { registry-mirrors: [https://docker.mirrors.ustc.edu.cn] } EOF加载配置并重启服务sudo systemctl daemon-reload sudo systemctl restart docker验证配置是否生效docker info | grep Mirrors -A 22.2 拉取TShock镜像官方推荐的ryshe/terraria镜像已集成TShock建议选择带具体版本号的标签docker pull ryshe/terraria:tshock-4.7.4如果遇到网络问题可以尝试阿里云镜像仓库docker pull registry.cn-hangzhou.aliyuncs.com/terraria/tshock:4.7.42.3 三种启动方式详解临时测试模式适合快速验证docker run -it --rm -p 7777:7777 ryshe/terraria:tshock-4.7.4这种方式退出终端后服务即停止且世界数据不会保存。交互式创建模式推荐新手mkdir -p ~/terraria/worlds docker run -it --rm -p 7777:7777 \ -v ~/terraria/worlds:/root/.local/share/Terraria/Worlds \ ryshe/terraria:tshock-4.7.4系统会引导你创建新世界或选择已有存档所有数据都会持久化在本地目录。后台服务模式生产环境首选docker run -d --name terraria \ -p 7777:7777 \ -v ~/terraria/worlds:/root/.local/share/Terraria/Worlds \ -e WORLD_FILENAMEmyworld.wld \ ryshe/terraria:tshock-4.7.4使用-d参数让容器后台运行通过docker logs terraria查看实时日志。3. 服务器进阶配置技巧3.1 权限管理系统TShock的权限组系统是其核心功能。初次启动后控制台会显示临时管理码如SETUP CODE: 123456。在游戏内输入/setup 123456然后创建永久管理员账号/user add admin mypassword owner权限组层级关系如下表组名典型权限适用角色guest基础聊天游客default普通建造常规玩家vip召唤BOSS资深玩家admin踢人/ban人管理员owner物品生成服主3.2 性能调优参数在serverconfig.json中可以调整关键参数{ MaxSlots: 16, ServerPassword: , RestApiEnabled: true, RestApiPort: 7878 }建议通过环境变量覆盖配置docker run -d \ -e MAX_SLOTS20 \ -e SERVER_PASSWORDterraria2023 \ ryshe/terraria:tshock-4.7.43.3 日志监控方案除了docker logs还可以将日志导出到ELK栈docker run -d \ -v ~/terraria/logs:/tshock/logs \ -e LOG_PATH/tshock/logs/server.log \ ryshe/terraria:tshock-4.7.4用Filebeat采集日志后可以在Kibana中分析玩家活跃时段、常用命令等数据。4. 自定义镜像构建实战当需要修改TShock源码或添加预装插件时就需要自行构建镜像。这里以添加自动备份插件为例FROM ryshe/terraria:tshock-4.7.4 # 安装压缩工具 RUN apt update apt install -y zip # 添加自动备份脚本 COPY backup.sh /tshock/ RUN chmod x /tshock/backup.sh # 添加定时任务 RUN echo 0 */6 * * * /tshock/backup.sh /etc/crontab构建命令docker build -t my-terraria:1.0 .启动时挂载备份目录docker run -d \ -v ~/terraria/backups:/backups \ my-terraria:1.0这种定制方案适合需要深度控制服务器行为的场景比如预装反作弊插件修改默认命令权限集成Web管理面板自动化存档备份我在实际运营中使用GitLab CI实现了自动构建流水线每当TShock发布新版本时会自动打包包含常用插件集合的镜像大幅减少了运维工作量。
TShock 泰拉瑞亚服务器 Docker 部署与进阶管理指南
1. 为什么选择Docker部署TShock泰拉瑞亚服务器泰拉瑞亚作为一款经典的沙盒游戏其多人联机体验一直是核心乐趣所在。而TShock作为最流行的服务端增强工具提供了权限管理、插件支持等专业功能。传统部署方式需要手动安装.NET运行时、配置环境变量对新手来说门槛较高。Docker化部署则像把整个服务端打包成便携行李箱——无论搬到哪个服务器环境开箱即用。我最早在阿里云ECS上尝试手动部署时光是解决依赖冲突就花了半天。后来切换到Docker方案后发现三大优势特别明显首先是环境隔离不会污染主机环境其次是版本控制可以随时切换不同TShock版本最重要的是快速迁移整个服务端打包成镜像后换个服务器只需一条命令就能恢复。对于国内用户还有个隐藏福利Docker镜像加速。虽然官方镜像仓库在国外但通过配置国内镜像源拉取速度能从KB级提升到MB级。实测在上海区域的轻量云服务器上完整拉取TShock镜像只需1分半钟比直接下载安装包还快。2. 十分钟快速搭建服务端2.1 配置Docker环境首先确保你的Linux系统已安装Docker CE版本。如果是全新系统建议先更新软件源sudo apt update sudo apt upgrade -y接着创建daemon.json配置文件这里推荐使用中科大的镜像源sudo tee /etc/docker/daemon.json EOF { registry-mirrors: [https://docker.mirrors.ustc.edu.cn] } EOF加载配置并重启服务sudo systemctl daemon-reload sudo systemctl restart docker验证配置是否生效docker info | grep Mirrors -A 22.2 拉取TShock镜像官方推荐的ryshe/terraria镜像已集成TShock建议选择带具体版本号的标签docker pull ryshe/terraria:tshock-4.7.4如果遇到网络问题可以尝试阿里云镜像仓库docker pull registry.cn-hangzhou.aliyuncs.com/terraria/tshock:4.7.42.3 三种启动方式详解临时测试模式适合快速验证docker run -it --rm -p 7777:7777 ryshe/terraria:tshock-4.7.4这种方式退出终端后服务即停止且世界数据不会保存。交互式创建模式推荐新手mkdir -p ~/terraria/worlds docker run -it --rm -p 7777:7777 \ -v ~/terraria/worlds:/root/.local/share/Terraria/Worlds \ ryshe/terraria:tshock-4.7.4系统会引导你创建新世界或选择已有存档所有数据都会持久化在本地目录。后台服务模式生产环境首选docker run -d --name terraria \ -p 7777:7777 \ -v ~/terraria/worlds:/root/.local/share/Terraria/Worlds \ -e WORLD_FILENAMEmyworld.wld \ ryshe/terraria:tshock-4.7.4使用-d参数让容器后台运行通过docker logs terraria查看实时日志。3. 服务器进阶配置技巧3.1 权限管理系统TShock的权限组系统是其核心功能。初次启动后控制台会显示临时管理码如SETUP CODE: 123456。在游戏内输入/setup 123456然后创建永久管理员账号/user add admin mypassword owner权限组层级关系如下表组名典型权限适用角色guest基础聊天游客default普通建造常规玩家vip召唤BOSS资深玩家admin踢人/ban人管理员owner物品生成服主3.2 性能调优参数在serverconfig.json中可以调整关键参数{ MaxSlots: 16, ServerPassword: , RestApiEnabled: true, RestApiPort: 7878 }建议通过环境变量覆盖配置docker run -d \ -e MAX_SLOTS20 \ -e SERVER_PASSWORDterraria2023 \ ryshe/terraria:tshock-4.7.43.3 日志监控方案除了docker logs还可以将日志导出到ELK栈docker run -d \ -v ~/terraria/logs:/tshock/logs \ -e LOG_PATH/tshock/logs/server.log \ ryshe/terraria:tshock-4.7.4用Filebeat采集日志后可以在Kibana中分析玩家活跃时段、常用命令等数据。4. 自定义镜像构建实战当需要修改TShock源码或添加预装插件时就需要自行构建镜像。这里以添加自动备份插件为例FROM ryshe/terraria:tshock-4.7.4 # 安装压缩工具 RUN apt update apt install -y zip # 添加自动备份脚本 COPY backup.sh /tshock/ RUN chmod x /tshock/backup.sh # 添加定时任务 RUN echo 0 */6 * * * /tshock/backup.sh /etc/crontab构建命令docker build -t my-terraria:1.0 .启动时挂载备份目录docker run -d \ -v ~/terraria/backups:/backups \ my-terraria:1.0这种定制方案适合需要深度控制服务器行为的场景比如预装反作弊插件修改默认命令权限集成Web管理面板自动化存档备份我在实际运营中使用GitLab CI实现了自动构建流水线每当TShock发布新版本时会自动打包包含常用插件集合的镜像大幅减少了运维工作量。