Terraria 开服指南

一、准备工作

1.1 环境要求

  • 已安装Docker和Docker Compose
  • 服务器建议配置:2核CPU、2GB内存(模组服建议4GB)、10GB存储空间
  • 网络环境:需开放7777端口(游戏默认端口,TCP协议)

1.2 目录结构规划

1
2
3
# 创建泰拉瑞亚服务器目录
mkdir -p ~/terraria/{server,worlds,mods,backups}
cd ~/terraria/server

二、搭建基础泰拉瑞亚服务器

2.1 创建Docker Compose配置文件

~/terraria/server目录下创建docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
version: '3.8'

services:
terraria:
image: ryshe/terraria:latest
container_name: terraria-server
restart: always
environment:
- WORLD_NAME=TanZp_World # 世界名称
- WORLD_SIZE=3 # 世界大小:1=小(1200x300),2=中(2400x600),3=大(4800x1200)
- DIFFICULTY=0 # 难度:0=普通,1=专家,2=大师,3=旅程
- MAX_PLAYERS=8 # 最大玩家数
- PASSWORD= # 服务器密码(可选)
- MOTD="欢迎来到泰拉瑞亚服务器!" # 服务器消息
- AUTO_CREATE=1 # 自动创建世界(首次运行需要)
ports:
- "7777:7777" # 泰拉瑞亚默认端口
volumes:
- ../worlds:/root/.local/share/Terraria/Worlds # 世界文件存储
- ../config:/config # 配置文件目录
tty: true
stdin_open: true

2.2 启动基础服务器

1
2
3
4
5
# 启动服务器(首次运行会生成世界,可能需要几分钟)
docker compose up -d

# 查看服务器日志,确认启动状态
docker compose logs -f

2.3 连接服务器

  1. 打开泰拉瑞亚游戏客户端
  2. 点击”多人游戏” → “通过IP加入”
  3. 输入服务器IP地址和端口(默认7777)
  4. 输入密码(如果设置了)即可加入游戏

三、模组(Mod)安装与管理

3.1 准备tModLoader环境

泰拉瑞亚模组需要通过tModLoader运行,修改docker-compose.yml使用tModLoader镜像:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
services:
terraria:
# 使用tModLoader镜像支持模组
image: ryshe/terraria:tmodloader-latest
container_name: terraria-tmod
restart: always
environment:
- WORLD_NAME=Modded_World
- WORLD_SIZE=3
- DIFFICULTY=1
- MAX_PLAYERS=6
- PASSWORD=
- AUTO_CREATE=1
- MODPACK= # 稍后配置模组列表
ports:
- "7777:7777"
volumes:
- ../worlds:/root/.local/share/Terraria/Worlds
- ../mods:/root/.local/share/Terraria/ModLoader/Mods # 模组存储目录
- ../config:/config
tty: true
stdin_open: true

3.2 安装模组的两种方式

方式一:手动安装模组

  1. Terraria Mod Browser下载所需模组(.tmod文件)

  2. 将.tmod文件复制到服务器的~/terraria/mods目录

  3. 重启服务器使模组生效:

    1
    docker compose restart

方式二:通过配置自动安装

  1. ~/terraria/config目录创建modlist.txt,添加模组ID:

    1
    2
    1234  # 模组ID1
    5678 # 模组ID2

    模组ID可从模组页面URL获取,例如https://steamcommunity.com/sharedfiles/filedetails/?id=1234中的1234

  2. docker-compose.yml中添加配置:

    1
    2
    3
    environment:
    # 其他配置...
    - MODPACK=/config/modlist.txt
  3. 重启服务器:

    1
    docker compose up -d --force-recreate

3.3 常用推荐模组

  • calamity(灾厄):2488148170 - 大型扩展模组,增加新BOSS和内容
  • Thorium(瑟银):2487812943 - 另一个大型扩展模组
  • Magic Storage(魔法储存):2199048638 - 方便的物品存储系统
  • WeaponOut(武器外显):2187546176 - 显示武器外观

四、世界与存档管理

4.1 导入现有世界

  1. 停止服务器:

    1
    docker compose down
  2. 找到本地世界文件(通常在Documents/My Games/Terraria/Worlds

  3. .wld.wld.bak文件复制到服务器的~/terraria/worlds目录

  4. 修改docker-compose.yml,禁用自动创建:

    1
    2
    3
    environment:
    - AUTO_CREATE=0 # 关闭自动创建
    - WORLD_NAME=你的世界文件名(不含后缀)
  5. 启动服务器:

    1
    docker compose up -d

4.2 存档备份脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 创建备份脚本
cat > ~/terraria/backup.sh << 'EOF'
#!/bin/bash
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
BACKUP_DIR=~/terraria/backups
mkdir -p $BACKUP_DIR

# 压缩所有世界文件
zip -r $BACKUP_DIR/terraria_worlds_$TIMESTAMP.zip ~/terraria/worlds/*.wld*

# 保留最近15个备份
ls -tp $BACKUP_DIR/*.zip | grep -v '/$' | tail -n +16 | xargs -I {} rm -- {}
EOF

# 赋予执行权限
chmod +x ~/terraria/backup.sh

# 执行备份
~/terraria/backup.sh

4.3 设置自动备份

1
2
3
4
# 添加定时任务,每天凌晨2点执行备份
crontab -e
# 添加以下内容
0 2 * * * ~/terraria/backup.sh

4.4 恢复世界存档

1
2
3
4
5
6
7
8
# 停止服务器
docker compose down

# 解压备份文件到世界目录
unzip ~/terraria/backups/terraria_worlds_xxxxxx.zip -d ~/terraria/worlds/

# 启动服务器
docker compose up -d

五、服务器配置与管理

5.1 调整服务器参数

创建~/terraria/config/serverconfig.txt自定义服务器设置:

1
2
3
4
5
6
7
8
9
10
11
# 服务器配置示例
maxplayers=8
password=你的密码(可选)
motd=欢迎来到泰拉瑞亚冒险!
difficulty=1 # 0=普通, 1=专家, 2=大师, 3=旅程
worldpath=/root/.local/share/Terraria/Worlds/
world=TanZp_World
port=7777
language=en-US # 语言设置
autocreate=3 # 自动创建世界大小
secure=1 # 启用反作弊

docker-compose.yml中引用配置文件:

1
2
3
4
volumes:
- ../config/serverconfig.txt:/config/serverconfig.txt
environment:
- CONFIG_PATH=/config/serverconfig.txt

5.2 服务器控制台操作

1
2
3
4
5
6
7
8
9
10
11
12
13
# 进入服务器控制台
docker exec -it terraria-server bash

# 启动交互式控制台(在容器内执行)
terraria -interactive -config /config/serverconfig.txt

# 常用控制台命令
list # 查看在线玩家
kick <玩家名> # 踢出玩家
ban <玩家名> # 封禁玩家
password <新密码> # 修改服务器密码
save # 手动保存世界
exit # 关闭服务器

5.3 服务器维护命令

1
2
3
4
5
6
7
8
9
10
11
12
# 停止服务器
docker compose down

# 启动服务器
docker compose up -d

# 更新服务器镜像
docker pull ryshe/terraria:tmodloader-latest
docker compose up -d --force-recreate

# 查看服务器状态
docker compose ps

六、常见问题解决

6.1 服务器启动失败

  • 检查端口是否被占用:netstat -tulpn | grep 7777
  • 确认世界文件是否存在且格式正确
  • 查看日志排查错误:docker compose logs -f

6.2 模组冲突问题

  • 停止服务器后,移除mods目录中最近添加的模组
  • 逐一添加模组测试,找出冲突模组
  • 确保所有模组版本与服务器版本兼容

6.3 玩家无法连接

  • 检查防火墙设置,确保7777端口已开放
  • 确认服务器IP和端口是否正确
  • 验证端口映射是否正确配置

通过以上步骤,你可以搭建一个稳定运行的泰拉瑞亚服务器,无论是纯净版还是模组版,都能轻松管理世界和玩家,与朋友一起探索泰拉瑞亚的奇妙世界。


Terraria 开服指南
http://tanzipeng.github.io/p/789d965e5a1e45e8834066e3d37a3692/
作者
Tan ZiPeng
发布于
2025年9月11日
许可协议