Terraria на сервере: частые ошибки и решения
Terraria — лёгкий сервер, и серьёзных проблем с железом у него почти не бывает, зато встречаются типичные заминки с подключением, миром и настройкой TShock. Друзья не могут зайти, мир не грузится, сервер не стартует после перезагрузки. Разберём частые ошибки сервера Terraria по симптому, причине и решению с командами — большинство упирается в порт 7777, файл мира и права.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Друзья не могут подключиться к серверу
Самая частая жалоба: сервер запущен, вы играете, но друзья получают таймаут при попытке зайти по IP. В подавляющем большинстве случаев виноват закрытый порт. Terraria использует порт 7777 по TCP, и его нужно явно открыть в фаерволе — по умолчанию он закрыт.
ufw allow 7777/tcp
ufw status
ss -tlnp | grep 7777
Команда ss покажет, слушает ли сервер порт вообще. Если в выводе пусто, значит, сервер не стартовал или упал — смотрите консоль сервера. Если порт слушается локально, но снаружи недоступен, проверьте оба уровня фильтрации: UFW на самом сервере и сетевой фильтр провайдера в панели управления VPS. Ещё одна тонкость: если вы меняли порт при настройке, открывайте в фаерволе именно новый порт, а не стандартный 7777 — рассинхрон даёт ровно такой же симптом недоступности.
Мир не загружается или сервер просит создать новый
Вы запускаете сервер, а он вместо загрузки вашего мира предлагает создать новый или не находит существующий. Причина в том, что сервер не видит файл мира по указанному пути. Файлы миров Terraria имеют расширение wld и по умолчанию лежат в домашнем каталоге пользователя в подпапке Terraria/Worlds.
Проверьте, где физически лежит ваш мир и на какой путь настроен сервер.
ls -la /home/terraria/.local/share/Terraria/Worlds/
grep -i world /home/terraria/serverconfig.txt
Частая ошибка — путь к миру в конфиге не совпадает с реальным расположением файла, особенно после переноса сервера на другую машину, когда файл мира скопировали не туда. Укажите в конфиге точный путь к файлу wld. Вторая причина — права доступа: если файл мира принадлежит другому пользователю, сервер, работающий от terraria, не сможет его прочитать. Исправьте владельца файла командой chown. И помните: имя мира в конфиге должно точно совпадать с именем файла.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPSСервер зависает на старте или в интерактивном режиме
Сервер запускается, но замирает, ожидая ввода, или не отвечает. Официальный сервер Terraria по умолчанию интерактивный: при запуске без конфига он задаёт вопросы о мире и настройках и ждёт ответов в консоли. Если вы запускаете его через systemd без указания конфига, сервис зависает, потому что отвечать на вопросы некому.
Решение — вынести все параметры в конфигурационный файл и указывать его при запуске флагом -config, тогда сервер стартует автоматически без интерактивных вопросов. В конфиге задаются мир, порт, максимум игроков, пароль и автозапуск мира. Проверьте, что в systemd-юните команда запуска содержит путь к этому конфигу. Без него сервис будет либо висеть, либо падать по тайм-ауту старта, создавая ложное впечатление серьёзной поломки, хотя дело всего лишь в ожидании ввода.
Проблемы с TShock: нет прав или не грузятся плагины
Если вы используете TShock, встречаются свои типичные заминки. Первая — вы не можете получить права администратора. При первом запуске TShock выдаёт код для авторизации суперадминистратора, и войти в управление нужно именно этим способом в первую сессию. Если момент упущен, права выдают через настройку групп в базе данных TShock или командой аутентификации по коду из консоли сервера.
Вторая заминка — плагины не загружаются. Плагины TShock кладутся в подкаталог ServerPlugins, и если плагин туда не попал или несовместим с версией TShock, он молча не запустится. Проверьте, что версия плагина соответствует версии сервера, и загляните в лог запуска — TShock пишет туда, какие плагины загрузил, а какие отверг. После обновления TShock часть плагинов может отвалиться до выхода их новых версий, это нормальная плата за использование модификаций.
Лаги при быстром перемещении
Даже на лёгкой Terraria игроки иногда жалуются на рывки при быстром полёте или беге, хотя сервер не загружен. Поскольку игра нетребовательна к процессору, причина почти всегда сетевая — большой пинг до сервера. Проверьте задержку до сервера с машины игрока обычным пингом до IP сервера.
Если пинг высокий, дело в географии: сервер стоит далеко от игроков, и никакими настройками физическую задержку канала не убрать. Помогает только перенос сервера ближе к аудитории. Стоит также исключить более прозаичные причины рывков: перегруженный канал самого сервера, если на той же машине крутится что-то ещё тяжёлое, или нестабильное соединение у конкретного игрока. Если лагает только один участник, а остальные играют нормально, проблема на его стороне, а не на сервере. К счастью, перенос Terraria тривиален — достаточно скопировать файл мира на новый сервер и запустить его там. Если ваша компания в России, а сервер оказался за океаном, разумно взять VPS в локации с минимальным пингом. У MAATRIX можно выбрать подходящую локацию и оплатить из России картой, СБП или криптой, а мир перенести за минуту копированием одного файла.
Сервер не поднимается после перезагрузки VPS
После ребута сервер Terraria не запустился сам. Причина в отсутствии автозапуска или в ошибке юнита. Проверьте состояние сервиса и журнал.
systemctl status terraria
journalctl -u terraria -n 30
Самая частая причина падения при старте — уже упомянутое ожидание интерактивного ввода из-за отсутствия конфига в команде запуска. Убедитесь, что юнит запускает сервер с флагом -config и путём к файлу настроек. Вторая причина — неверный рабочий каталог или путь к бинарнику, тогда сервис не находит исполняемый файл. Журнал journalctl укажет на проблему. После правки выполните daemon-reload и включите автозапуск через systemctl enable, чтобы сервер стабильно стартовал при каждой загрузке машины.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPSОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Друзья не подключаются к серверу Terraria — почему?
Почти всегда закрыт порт 7777. Откройте его командой ufw allow 7777/tcp, проверьте через ss, что сервер слушает порт, и убедитесь, что провайдер не режет трафик.
Сервер не находит мой мир — что делать?
Путь к файлу wld в конфиге не совпадает с реальным расположением или у файла неверный владелец. Укажите точный путь и исправьте права командой chown на пользователя terraria.
Почему сервер зависает при запуске через systemd?
Официальный сервер по умолчанию интерактивный и ждёт ответов на вопросы. Вынесите параметры в конфиг и запускайте с флагом -config, тогда сервер стартует автоматически.
Игроки жалуются на рывки, хотя сервер не загружен?
Причина сетевая — высокий пинг из-за далёкой локации. Перенесите сервер ближе к игрокам, скопировав файл мира; настройками физическую задержку канала не убрать.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.