当前位置: 首页 > news >正文

tModLoader 专用服务器搭建教程:Terraria泰拉瑞亚 模组联机全攻略

tModLoader 专用服务器搭建教程:Terraria泰拉瑞亚 模组联机全攻略

Terraria 作为一款经典的 2D 沙盒冒险游戏,拥有极其丰富的 Mod 生态。tModLoader 是官方支持的模组加载框架,让玩家可以通过 Steam Workshop 一键订阅并使用数千个社区 Mod。然而,要在多人模式下让所有玩家共享同一套模组配置,搭建一台专用的 tModLoader 服务器是最可靠的解决方案。

本教程将指导你在 Linux 服务器上通过 SteamCMD 安装 tModLoader 专用服务端,配置 Steam Workshop 模组自动同步,并通过 systemd 实现开机自启和进程守护。无论是小型私人房间还是公开社区服务器,本方案均可满足需求。

整个部署过程对服务器性能要求适中,加载大量模组时内存占用会显著上升,因此选择合适的机型非常关键。下文将给出推荐配置,并详细说明每一步操作。

服务器配置

推荐使用雨云服务器 rainyun-com部署 tModLoader 专用服务端。注册填优惠码2026off领 5 折优惠券,选择2 核 4GB 机型即可流畅运行含 20~30 个中等体量模组的服务器。若计划加载 Calamity、Thorium 等大型内容模组,建议关注内存余量,必要时升级至 4 核 8GB。

操作系统推荐选择Ubuntu 22.04 LTSDebian 12,这两个发行版在 SteamCMD 兼容性和 systemd 支持方面表现最佳。

安装准备

更新系统并安装必要依赖:

sudoaptupdate&&sudoaptupgrade-ysudoaptinstall-ylib32gcc-s1 lib32stdc++6curlwgetunzipscreen

创建专用用户,避免以 root 身份运行游戏服务:

sudouseradd-m-s/bin/bash steamsudopasswdsteamsu- steam

部署步骤

安装 SteamCMD

mkdir-p~/steamcmd&&cd~/steamcmdwgethttps://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gztar-xvzfsteamcmd_linux.tar.gz

下载 tModLoader 服务端

tModLoader 在 Steam 上的 App ID 为1281930(专用服务器版本)。通过 SteamCMD 匿名登录下载:

~/steamcmd/steamcmd.sh\+login anonymous\+force_install_dir /home/steam/tmodloader\+app_update1281930validate\+quit

下载完成后,服务端文件位于/home/steam/tmodloader/

配置服务器参数

创建服务器配置文件:

mkdir-p/home/steam/tmodloader/serverconfigcat>/home/steam/tmodloader/serverconfig/serverconfig.txt<<'EOF' # 世界文件路径 worldpath=/home/steam/.local/share/Terraria/tModLoader/Worlds/ # 世界文件名(无扩展名) world=/home/steam/.local/share/Terraria/tModLoader/Worlds/MyWorld.wld # 最大玩家数 maxplayers=8 # 服务器端口 port=7777 # 服务器密码(留空则无密码) password= # 自动创建世界时的大小(1=小 2=中 3=大) autocreate=2 # 世界名称(自动创建时使用) worldname=MyWorld # 服务器名称(在服务器列表显示) servername=My tModLoader Server # 难度(0=经典 1=专家 2=大师 3=旅途) difficulty=1 EOF

配置模组目录

tModLoader 服务端的模组存放路径与客户端相同,位于用户家目录下:

mkdir-p/home/steam/.local/share/Terraria/tModLoader/Mods

方法一:手动放置 .tmod 文件

将模组的.tmod文件直接上传至上述 Mods 目录:

# 示例:上传 Calamity ModscpCalamityMod.tmod steam@your-server-ip:/home/steam/.local/share/Terraria/tModLoader/Mods/

方法二:通过 enabled.json 管理已启用模组

cat>/home/steam/.local/share/Terraria/tModLoader/Mods/enabled.json<<'EOF' [ "CalamityMod", "ThoriumMod", "MagicStorage" ] EOF

创建启动脚本

cat>/home/steam/start-tmodloader.sh<<'EOF' #!/bin/bash cd /home/steam/tmodloader ./start-tModLoaderServer.sh \ -config /home/steam/tmodloader/serverconfig/serverconfig.txt \ -nosteam EOFchmod+x /home/steam/start-tmodloader.sh

配置 systemd 服务

切换回 root 用户,创建 systemd 服务文件:

sudobash-c'cat > /etc/systemd/system/tmodloader.service << EOF [Unit] Description=tModLoader Dedicated Server After=network.target [Service] Type=simple User=steam WorkingDirectory=/home/steam/tmodloader ExecStart=/home/steam/start-tmodloader.sh Restart=on-failure RestartSec=10 StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target EOF'

启用并启动服务:

sudosystemctl daemon-reloadsudosystemctlenabletmodloadersudosystemctl start tmodloadersudosystemctl status tmodloader

核心功能配置

Steam Workshop 模组自动同步

tModLoader 服务端不直接支持 Workshop 订阅,但可通过 SteamCMD 下载 Workshop 内容:

~/steamcmd/steamcmd.sh\+login anonymous\+workshop_download_item1281930<WORKSHOP_ID>\+quit

Workshop 内容默认下载至:

~/Steam/steamapps/workshop/content/1281930/<WORKSHOP_ID>/

编写自动同步脚本,将 Workshop 内容同步至 Mods 目录:

cat>/home/steam/sync-mods.sh<<'EOF' #!/bin/bash WORKSHOP_DIR="/home/steam/Steam/steamapps/workshop/content/1281930" MODS_DIR="/home/steam/.local/share/Terraria/tModLoader/Mods" for mod_dir in "$WORKSHOP_DIR"/*/; do find "$mod_dir" -name "*.tmod" -exec cp {} "$MODS_DIR/" \; done echo "模组同步完成,共同步 $(ls $MODS_DIR/*.tmod 2>/dev/null | wc -l) 个模组" EOFchmod+x /home/steam/sync-mods.sh

防火墙配置

sudoufw allow7777/tcpsudoufw allow7777/udpsudoufw reload

进阶用法

模组自动更新定时任务

通过 crontab 定期检查并更新模组,建议在服务器低峰期执行:

crontab-e# 每天凌晨 4 点执行更新04* * * /home/steam/steamcmd/steamcmd.sh +login anonymous +app_update1281930+quit&&/home/steam/sync-mods.sh&&sudosystemctl restart tmodloader

多世界管理

可以创建多个配置文件,对应不同主题的世界(如纯净地图、模组地图):

# 创建第二个世界配置cp/home/steam/tmodloader/serverconfig/serverconfig.txt\/home/steam/tmodloader/serverconfig/serverconfig-calamity.txt# 修改端口和世界路径,避免冲突sed-i's/port=7777/port=7778/'/home/steam/tmodloader/serverconfig/serverconfig-calamity.txt

日志监控

# 实时查看服务日志sudojournalctl-utmodloader-f# 查看最近 100 行日志sudojournalctl-utmodloader-n100

备份世界文件

cat>/home/steam/backup-world.sh<<'EOF' #!/bin/bash BACKUP_DIR="/home/steam/backups" WORLD_DIR="/home/steam/.local/share/Terraria/tModLoader/Worlds" DATE=$(date +%Y%m%d_%H%M%S) mkdir -p "$BACKUP_DIR" tar -czf "$BACKUP_DIR/worlds_$DATE.tar.gz" "$WORLD_DIR" # 保留最近 7 天备份 find "$BACKUP_DIR" -name "worlds_*.tar.gz" -mtime +7 -delete echo "备份完成:$BACKUP_DIR/worlds_$DATE.tar.gz" EOFchmod+x /home/steam/backup-world.sh# 每 6 小时自动备份echo"0 */6 * * * /home/steam/backup-world.sh"|crontab-

常见问题排查

问题 1:服务器启动后无法连接

检查防火墙是否放行 7777 端口,同时确认serverconfig.txtport配置正确。可通过netstat -tlnp | grep 7777验证端口是否在监听。

问题 2:加载模组时服务器崩溃

通常是内存不足导致。查看sudo journalctl -u tmodloader -n 50中是否有OutOfMemoryException。临时解决方案:添加 Swap 空间,长期建议升级机型。

问题 3:客户端与服务端模组版本不一致

确保服务端和客户端使用完全相同的模组版本。建议通过enabled.json锁定版本,并在 README 中告知玩家订阅列表。

问题 4:SteamCMD 下载速度慢

可尝试切换 Steam 下载区域,或通过中间机器下载后 scp 传输至服务器。

问题 5:服务进程异常退出

systemd 会自动在 10 秒后重启服务(RestartSec=10)。若频繁重启,检查磁盘空间:df -h,世界文件损坏也会导致循环崩溃,此时需从备份恢复。


搭建 tModLoader 专用服务器能极大提升 Terraria 模组多人体验,玩家无需手动同步模组即可加入。如果你还没有合适的服务器,推荐选择雨云服务器 rainyun-com,注册时填入优惠码2026off可领取 5 折优惠券,2 核 4GB 机型完全够用,价格实惠,线路稳定,非常适合游戏服务器场景。

http://www.gsyq.cn/news/1550891.html

相关文章:

  • FitGirl游戏启动器完整指南:一站式管理你的游戏收藏库
  • 2026蚌埠市初三学生中考两三百分能上什么学校?推荐合肥理工学校! - 教育为先
  • 2026免费照片去水印软件app有哪些?安卓苹果免费去水印APP对比+在线免费去水印网页工具
  • 上海健身器材上门安装维修推荐良匠千艺 2026 口碑榜 - 我叫一
  • 10分钟快速上手ESP32物联网开发:Arduino核心安装实战指南
  • 2026年常州装修推荐榜:湖塘全案设计/钟楼家装/武进别墅大宅/金坛全屋整装最新口碑之选 - 品牌发掘
  • 2026年除甲醛公司十大品牌推荐:新房去甲醛/室内空气治理/装修除味/杀菌消毒权威榜单+口碑实测解析 - 品牌发掘
  • M•CORE外设库深度解析:从硬件抽象到嵌入式驱动开发实战
  • 面向对象程序设计--作业集4~6总结
  • TrafficMonitor插件:在Windows任务栏实现系统监控与信息获取的终极指南
  • OpenCore Legacy Patcher终极指南:四步让老旧Mac免费升级最新macOS
  • DeepSpeech端到端语音识别引擎架构深度解析与实战应用指南
  • 2026年冷库厂家/工程公司推荐排行榜:医药GSP冷库、食品速冻冷库、自动化高架冷库及超低温冷库安装设计与维保深度解析 - 品牌发掘
  • 终极指南:一键获取119,376个英语单词标准发音MP3音频库
  • 基于MCP2155红外通信的产品识别系统:从寄存器配置到工程实践
  • 【案例分享】郑州GEO工厂哪家口碑好?亲测排名前五揭晓
  • Vite构建生态的稳定性演进:从esbuild版本危机到架构韧性设计
  • Gemini多模态能力深度解析:从评测分数到工程落地
  • MPC857T双端口RAM与RISC定时器:通信处理器性能优化核心
  • 24LCS22A EEPROM详解:VESA E-EDID标准、I²C通信与显示器身份识别的工程实践
  • 总线状态分析器(BSA)原理与MMDS11实战:嵌入式底层调试与性能剖析
  • 文心5.0原生全模态:统一语义空间驱动的多感官智能
  • MGT5100 PSC模块:嵌入式串行通信的硬件引擎与多模式应用
  • DeepSeek V4去CUDA化:模型驱动的国产AI芯片协同实践
  • 用 ChatGPT 5.5 构建个人写作工作流:从大纲到润色的提示词链实战
  • 5大核心功能解锁Ryzen处理器隐藏性能:SMUDebugTool深度解析
  • 黄金不语,却总在人类历史的喧嚣处,发出最沉的回响。
  • 摆脱论文困扰:6款2026年靠谱AI写论文工具深度横评
  • 如何一键嗅探下载全网视频音频资源:Res-Downloader终极指南
  • TensorFlow tf.data工业级优化:从IO瓶颈到GPU满载的完整实践