Terraria tModLoader: сервер с модами
Как запустить сервер Terraria с модами через tModLoader: установка, настройка модов, синхронизация с клиентом, serverconfig.txt и решение проблем.
Кратко: tModLoader - официальная платформа модификаций для Terraria, выпускаемая в Steam как отдельная игра. Чтобы запустить совместный сервер с модами, нужно установить серверную часть tModLoader, положить .tmod-файлы в папку Mods, прописать конфиг и убедиться, что версии совпадают у всех игроков.
Terraria tModLoader: сервер с модами
tModLoader превратил Terraria из законченной игры в постоянно расширяемую платформу. Начиная с версии 1.4 tModLoader распространяется через Steam как отдельное приложение (App ID 1281930) и поддерживает Workshop, что упрощает установку модов до нескольких кликов. На 2026 год актуальная стабильная ветка - tModLoader 1.4.4.x, основанная на Terraria 1.4.4. Серверная часть полностью консольная, работает на Linux, Windows и внутри Docker, а мод-менеджмент через enabled.json позволяет гибко управлять набором модов без переустановки. В этой статье разберём полный цикл: от скачивания серверного пакета до синхронизации модов с клиентами и решения типичных проблем.
Pterohost - игровой хостинг с NVMe-дисками, DDoS-защитой и поддержкой 24/7, оптимизированный для Terraria и tModLoader. Промокод 4START даёт -20% на первый заказ. Заказать сервер Terraria
Отличия tModLoader-сервера от ванильного
Стандартный сервер Terraria (TerrariaServer.exe / TerrariaServer) не умеет загружать .tmod-файлы - это задача tModLoader. Под капотом tModLoader добавляет слой на основе .NET, который инициализирует моды до старта игрового мира. Это означает:
- Время запуска дольше (загрузка и компиляция модов при первом запуске).
- Потребление RAM выше: ванильный сервер требует ~300 MB, tModLoader с 15-20 модами - 1-3 GB.
- Версия tModLoader должна совпадать у сервера и каждого клиента.
- Некоторые моды требуют конкретную подверсию Terraria; читай описание мода перед установкой.
Системные требования сервера
| Параметр | Минимум | Рекомендуется |
|---|---|---|
| CPU | 2 ядра | 4 ядра |
| RAM | 2 GB | 4 GB и более |
| Диск | 5 GB (SSD) | 10 GB NVMe |
| ОС | Ubuntu 22.04 / Debian 12 | Ubuntu 24.04 LTS |
| .NET | 6.0 (встроен в tML) | 9.0 SDK (опц.) |
Для большого количества модов (30+) и 10+ игроков - от 6 GB RAM. tModLoader сильно опирается на скорость диска при первой загрузке мода.
Установка tModLoader-сервера на Linux
Способ 1: через SteamCMD (рекомендуется)
SteamCMD - официальный инструмент Valve для загрузки игр без GUI.
# Установка SteamCMD (Debian/Ubuntu)
apt-get update && apt-get install -y steamcmd
# Создаём директорию для сервера
mkdir -p /opt/tmodloader && cd /opt/tmodloader
# Скачиваем tModLoader (App ID 1281930)
steamcmd +force_install_dir /opt/tmodloader \
+login anonymous \
+app_update 1281930 validate \
+quit
После скачивания в /opt/tmodloader появятся файлы сервера, включая start-tModLoaderServer.sh и tModLoader.dll.
Способ 2: ручная загрузка через GitHub
Если SteamCMD недоступен, можно скачать серверный архив с GitHub-релизов tModLoader:
# Замени VERSION на актуальную, например 2024.11.3.0
VERSION=2024.11.3.0
wget https://github.com/tModLoader/tModLoader/releases/download/v${VERSION}/tModLoader.zip
unzip tModLoader.zip -d /opt/tmodloader
chmod +x /opt/tmodloader/start-tModLoaderServer.sh
Проверяй актуальный тег на странице https://github.com/tModLoader/tModLoader/releases.
Запуск сервера
cd /opt/tmodloader
# Базовый запуск с конфиг-файлом
dotnet tModLoader.dll -server -config /opt/tmodloader/serverconfig.txt
# Или через скрипт-обёртку
./start-tModLoaderServer.sh -config /opt/tmodloader/serverconfig.txt
Флаг -nosteam нужен только если машина не авторизована в Steam. При работе через Pterohost это обычно не требуется.
Настройка serverconfig.txt
Файл serverconfig.txt содержит все параметры запуска. Создай его вручную или скопируй шаблон из папки сервера.
# Путь к миру (если файл не существует - создаётся автоматически)
world=/root/.local/share/Terraria/tModLoader/Worlds/MyWorld.wld
# Автоматически создать мир с именем, если нет файла .wld
autocreate=3
# Размер мира: 1=маленький, 2=средний, 3=большой
worldname=MyWorld
# Имя мира для новой генерации
seed=
# Максимальное число игроков
maxplayers=16
# Порт сервера (по умолчанию 7777)
port=7777
# Пароль для входа (оставь пустым для публичного сервера)
password=
# Уровень сложности: 0=нормальный, 1=эксперт, 2=мастер, 3=путешествие
difficulty=1
# Язык сервера (en-US / ru-RU)
lang=en-US
# Вывод в консоль без GUI
secure=1
# Автосохранение каждые N минут (0 = выключено)
# tModLoader использует встроенный цикл автосохранения
Основные флаги командной строки, которые переопределяют config:
| Флаг | Описание |
|---|---|
-port 7777 | Порт сервера |
-maxplayers 16 | Максимум игроков |
-world /path/to/world.wld | Прямой путь к миру |
-password pass | Пароль |
-nosteam | Отключить Steam API |
-config path | Путь к конфиг-файлу |
Установка модов на сервер
Структура папки модов
По умолчанию моды хранятся в:
- Linux:
~/.local/share/Terraria/tModLoader/Mods/ - Windows:
%AppData%\Terraria\tModLoader\Mods\
Если сервер запускается от root или нестандартного пользователя, путь может отличаться. Можно явно задать через переменную окружения TMODLOADER_MODS_DIR (поддерживается с 0.12+) или символическую ссылку.
# Создаём папку модов и переходим в неё
mkdir -p ~/.local/share/Terraria/tModLoader/Mods
cd ~/.local/share/Terraria/tModLoader/Mods
Загрузка .tmod-файлов
Каждый мод - это файл с расширением .tmod. Способы получить их:
Через Steam Workshop (если есть клиентская машина)
- Подпишись на мод через Steam Workshop в клиенте tModLoader.
- Найди файл в
~/.steam/steam/steamapps/workshop/content/1281930/<modid>/. - Скопируй
.tmodна сервер в папку Mods.
Напрямую через mod.io или ссылку автора
Многие популярные моды дублируются на mod.io. Скачай .tmod-файл и помести в папку Mods.
Через Workshop-утилиту SteamCMD
steamcmd +login anonymous \
+workshop_download_item 1281930 <WORKSHOP_ID> \
+quit
# Файл появится в ~/.steam/steamapps/workshop/content/1281930/<WORKSHOP_ID>/
Замени <WORKSHOP_ID> на числовой ID мода из URL страницы Workshop.
Управление через enabled.json
После первого запуска tModLoader генерирует enabled.json в папке Mods. Этот файл определяет, какие моды загружаются:
{
"ModLoader": true,
"CalamityMod": true,
"ThoriumMod": true,
"MagicStorage": true,
"BossChecklist": false
}
true- мод активен при следующем запуске сервера.false- мод установлен, но не загружается.
Можно отредактировать файл вручную, не удаляя .tmod-файлы. После изменений перезапусти сервер.
Пример: чтобы добавить мод CalamityMod в список без перезапуска установки:
# Добавляем мод в enabled.json через jq
jq '. + {"CalamityMod": true}' enabled.json > tmp.json && mv tmp.json enabled.json
Синхронизация модов с клиентами
Это самый частый источник проблем при совместной игре. Правила синхронизации:
-
Версии tModLoader должны совпадать у сервера и каждого клиента - до последней цифры (например, 2024.11.3.0). Steam обновляет клиент автоматически, сервер - только вручную или через SteamCMD.
-
Набор модов должен совпадать. Если на сервере включён мод X, клиент без него не сможет подключиться. Исключение - моды, помеченные авторами как “server-side only” (только серверные), не требуют установки у клиента.
-
Версии самих модов должны совпадать. Клиент с CalamityMod 2.0.8 не подключится к серверу с CalamityMod 2.0.7.
Рекомендуемый workflow для управления модпаком:
# Создаём список модов в виде текстового файла для команды
ls ~/.local/share/Terraria/tModLoader/Mods/*.tmod | xargs -I{} basename {} .tmod > modlist.txt
cat modlist.txt
Раздай modlist.txt игрокам - пусть установят те же моды через Mod Browser в клиенте.
Автоматическая раздача модов клиентам
tModLoader поддерживает механизм автоматической синхронизации модов при подключении (ModPacks / server-side mod sync). Чтобы включить его, добавь в serverconfig.txt:
# Разрешить серверу отправлять моды клиентам
autoSyncMods=1
Этот параметр присутствует в tModLoader начиная с ветки 1.4.4. При подключении клиент видит список недостающих модов и может скачать их прямо с сервера. Функция работает только с модами, не требующими Steam-авторизации (то есть свободно распространяемыми).
Популярные моды для серверной игры
| Мод | Описание | Рекомендуется |
|---|---|---|
| Calamity Mod | Огромный контентный мод: боссы, биомы, предметы | Да |
| Thorium Mod | Расширение ванильного контента, классы | Да |
| MagicStorage | Централизованное хранилище предметов | Да (QoL) |
| Boss Checklist | Список боссов с подсказками | Да (QoL) |
| Recipe Browser | Расширенный браузер крафта | Да (QoL) |
| Census | NPC-трекер с дополнительной инфой | Опц. |
| Fargo’s Mutant Mod | NPC для покупки расходников | Опц. |
| Cheat Sheet | Читерные инструменты для тестирования | Только на тест-серверах |
Большие контентные моды (Calamity, Thorium) значительно увеличивают нагрузку. Включай их только если сервер имеет достаточно RAM.
Systemd-сервис для автозапуска
Чтобы сервер поднимался после перезагрузки хоста, создай systemd-юнит:
# /etc/systemd/system/tmodloader.service
[Unit]
Description=Terraria tModLoader Server
After=network.target
[Service]
Type=simple
User=terraria
WorkingDirectory=/opt/tmodloader
ExecStart=/usr/bin/dotnet /opt/tmodloader/tModLoader.dll -server -config /opt/tmodloader/serverconfig.txt
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
# Создаём пользователя без прав sudo
useradd -r -s /bin/false terraria
chown -R terraria:terraria /opt/tmodloader ~/.local/share/Terraria
# Активируем сервис
systemctl daemon-reload
systemctl enable tmodloader
systemctl start tmodloader
systemctl status tmodloader
Логи смотри командой journalctl -u tmodloader -f.
Частые проблемы и их решение
Ошибка “Mod version mismatch”
Возникает, если версия мода на сервере и у клиента отличается.
Решение: синхронизируй версии. Найди актуальную версию мода в Mod Browser (клиент tModLoader - Mods - Mod Browser), скачай .tmod и замени на сервере.
# Смотрим версию установленного мода
ls -la ~/.local/share/Terraria/tModLoader/Mods/CalamityMod*.tmod
Сервер падает при загрузке мира
Обычно причина - недостаток RAM или несовместимые моды.
# Проверь потребление памяти при старте
journalctl -u tmodloader --since "5 minutes ago" | grep -i "error\|exception\|out of memory"
Попробуй отключить по одному последние добавленные моды (через enabled.json) и найди виновника.
Порт 7777 недоступен снаружи
# Проверяем, слушает ли сервер порт
ss -tlnp | grep 7777
# Проверяем firewall (ufw)
ufw status
ufw allow 7777/tcp
# Проверяем iptables
iptables -L -n | grep 7777
На VPS дополнительно проверь правила в панели управления хостинга (security groups / firewall rules).
Мир не создаётся автоматически
Если в serverconfig.txt стоит autocreate=3, но мир не создаётся - убедись, что путь в параметре world указывает на несуществующий файл с расширением .wld (а не на директорию).
# Путь должен заканчиваться на .wld
world=/home/terraria/.local/share/Terraria/tModLoader/Worlds/MyWorld.wld
tModLoader не видит .tmod-файлы
Убедись, что:
- Файлы лежат именно в папке
Mods, не в подпапке. - Права на файлы принадлежат пользователю, от которого запущен сервер.
- Расширение файла
.tmod(не.tmod.zipили другое).
# Проверяем права
ls -la ~/.local/share/Terraria/tModLoader/Mods/
chown -R $(whoami) ~/.local/share/Terraria/tModLoader/Mods/
Ошибка “tModLoader requires .NET 6.0”
Установи .NET runtime:
# Debian/Ubuntu
apt-get install -y dotnet-runtime-6.0
# Или используй официальный скрипт Microsoft
wget https://dot.net/v1/dotnet-install.sh
bash dotnet-install.sh --runtime dotnet --version 6.0
tModLoader 1.4.4+ работает на .NET 6, более новые ночные сборки могут требовать .NET 8 или 9.
Обновление сервера и модов
Обновление tModLoader
# Через SteamCMD
steamcmd +force_install_dir /opt/tmodloader \
+login anonymous \
+app_update 1281930 validate \
+quit
# Перезапуск сервиса
systemctl restart tmodloader
После обновления tModLoader часть модов может перестать работать из-за API-изменений. Проверяй совместимость в описании каждого мода.
Обновление модов
Простого механизма обновления всех модов на сервере без Steam-клиента нет. Варианты:
- Обновляй моды через клиент на другой машине и копируй
.tmodна сервер. - Используй SteamCMD с указанием конкретного Workshop ID для каждого мода.
- Следи за обновлениями на страницах модов в Steam Workshop и mod.io.
Связанные материалы
Если ты только начинаешь знакомство с серверами Terraria, прочитай базовый гайд Сервер Terraria: установка и настройка - там разобраны ванильные параметры и первый запуск без модов. Для понимания модификаций на других survival-играх пригодятся статьи Моды для сервера Valheim и Сервер Valheim: установка и настройка.
Заключение
tModLoader-сервер Terraria - это стандартный инструментарий для модного мультиплеера, хорошо задокументированный и стабильно работающий на Linux-серверах. Ключевые моменты: следи за совпадением версий tModLoader и модов у всех участников, управляй активными модами через enabled.json, и следи за потреблением RAM при большом модпаке. Systemd-сервис обеспечивает автозапуск, а SteamCMD - удобное обновление без GUI. При правильной настройке сервер работает стабильно неделями без ручного вмешательства.
Pterohost - хостинг для Terraria с tModLoader, NVMe-дисками и круглосуточной поддержкой, которая поможет настроить любой модпак. Промокод 4START даёт -20% на первый заказ. Заказать сервер Terraria