适用场景:你租了一台 VPS / 云服务器,用 面板(Pterodactyl / MCSManager / 商家定制面板)开了一个 tModLoader 服务端,现在要把本地电脑上的 模组 (.tmod) 和 存档地图 (.wld) 搞上去。
0. 先搞清楚核心逻辑
泰拉瑞亚的 Mod 服不走原版服务端,而是走 tModLoader。面板只是帮你把文件摆到正确的目录 + 提供启动/控制台而已,本质和裸机 Linux 的目录结构是同一套:
⚠️ 很多商面板把容器根映射到了
/home/container/,所以你面板里看到的可能是ModLoader/Mods/、ModLoader/Worlds/这种相对路径——跟着面板的文件管理器走就没错,它们最终落到的就是上面那几个目录。
1. 确认你的服务端已经是 tModLoader
进面板 → 一般有个 Startup / 启动设置 / 服务端版本 的地方:
必须是 tModLoader(不是 vanilla Terraria)
如果是原版,切过去后会自动生成 Mods / Worlds 目录骨架
切完别忘了先 Stop → Start 跑一次,让它生成目录结构。
2. 上传 Mods(模组)
方法 A:从本地客户端导出(最稳、推荐)
在你自己电脑上:
打开 tModLoader → 主菜单 → 创意工坊 / Mod Browser
把你要的 Mod 全部 下载 + 启用
回到主菜单 → 创意工坊 → 管理模组 → 模组整合包
点右下角 「将已启用的模组生成为新的整合包」,随便起个英文名
点 「导出完整整合包」 → 系统会弹开一个文件夹,里面大致长这样:
你的整合包名/
└── SaveData/
└── Mods/
├── xxx.tmod
├── yyy.tmod
└── enabled.json那个
Mods/里的.tmod+enabled.json就是你要的东西。
传到面板上:
面板里打开 File Manager(文件管理器)
定位到
ModLoader/Mods/(或Mods/,看面板怎么命名)直接把
.tmod文件拖进去上传同时把
enabled.json也传上去(或编辑已有那个)
如果面板不支持拖拽批量上传,就用 SFTP / FTP(面板一般会给你 IP + 端口 + 用户名 + 密钥/PW),工具推荐 FileZilla 或 WinSCP。
enabled.json怎么写?
这个文件告诉服务端"哪些 Mod 要加载",内容是 纯 JSON 数组,写 文件名去掉 .tmod:
[
"CalamityMod",
"MagicStorage",
"RecipeBrowser"
]注意:不是显示名,而是
.tmod文件的文件名本身(不含后缀)。写错一个就整个列表可能挂。
方法 B:纯手动(没有本地 tModLoader 也行)
去 Steam Workshop → tModLoader找到 Mod 页面,复制
id从本地 Steam 的
steamapps/workshop/content/1281930/<id>/里掏出.tmod文件上传到服务器
Mods/目录手写
enabled.json
但这个方法比较折腾,方法 A 导出整合包是最省事的。
✅ Mod 上传完
Stop 服务器
Start 服务器
看控制台日志有没有
Loading mod: xxx/XX mods loaded之类字样
如果启动直接崩:先看是不是 Mod 版本不匹配(服务端 tML 版本 vs Mod 编译版本),再看是不是缺依赖(比如 Calamity 还要装 Calamity Mod Music/ Subworld Library之类)。
3. 上传 Saves 地图 / Worlds
你需要哪两个文件?
一个泰拉瑞亚世界实际上由 一对文件 组成:
在你本地电脑上它们在
文档\My Games\Terraria\tModLoader\Worlds
上传步骤
面板 → File Manager
找到
ModLoader/Worlds/(或Worlds/)目录把
.wld和.twld一起上传进去
然后在面板上告诉服务端用哪个世界:
方式一:改面板里的启动参数 / 变量
很多面板的 Startup 页有个 World Name或 World Path字段,填法通常是:
Worlds/你的地图名.wld或直接文件名(看你面板模板怎么写)。
方式二:改 serverconfig.txt(更底层、更通用)
在服务端根目录找 serverconfig.txt,加/改这几行:
# 指定世界文件(写绝对或相对于工作目录的路径都行)
world=/root/.local/share/Terraria/tModLoader/Worlds/YourWorld.wld
# 最大人数
maxplayers=8
# 端口
port=7777
# 密码(可选)
password=你的密码
# 语言
language=zh-Hans保存 → Stop → Start。
4. 目录结构速览(帮你对齐脑子里的地图)
典型 tModLoader 服务端的数据目录长这样:
~/.local/share/Terraria/tModLoader/
├── Mods/
│ ├── CalamityMod.tmod
│ ├── MagicStorage.tmod
│ ├── enabled.json ← 控制启用的
│ └── ModPacks/ ← 整合包(可选)
├── Worlds/
│ ├── MyWorld.wld
│ └── MyWorld.twld
├── ModConfigs/ ← 模组配置文件(可选同步)
└── Players/ ← 服务器上一般不存玩家,但这里有时会出现面板里你看的相对路径,最终就是映射到这套结构上。
5. 常见坑位清单(踩过都说痛)
6. 一套最小操作流程(TL;DR)
本地 tML
→ 下好 Mod + 启用
→ 导出整合包 → 拿到 Mods/*.tmod + enabled.json
→ 面板文件管理器 → 丢进 Mods/
本地 Documents/My Games/Terraria/tModLoader/Worlds/
→ 拷出 xxx.wld + xxx.twld
→ 面板 → 丢进 Worlds/
面板 Startup / serverconfig.txt
→ world=指向 xxx.wld
Stop → Start → 看日志 ✅