НОВОЕ 📢 Ограниченное стартовое предложение: скидка до 70% на первый месяц для любой игры!Посмотреть тарифы

Порт и файрвол Terraria простыми словами

TerrariaUpdated Nov 3, 20267 min read

Сервер Terraria использует один порт, игровой, по умолчанию это TCP 7777. Vanilla, TShock и tModLoader работают одинаково. На PlayNHost у вашего сервера собственный порт, обычно не 7777, уже открытый, и игроки вводят его после IP с карточки Играть с друзьями.

Какие порты использует сервер Terraria?

ПортПротоколПо умолчаниюНа вашем сервере PlayNHostГде вы это видите
Игровой порт: игроки подключаются сюдаTCP7777Основной портIP и Порт на карточке Играть с друзьями и Порты и сеть
REST API TShock (только TShock, по умолчанию выключен)TCP7878Не настроен: панель его не используетtshock/config.json в Files

Official Terraria Wiki сообщает, что сервер по умолчанию работает на TCP-порту 7777, а игроки заходят через Multiplayer по IP и порту сервера. В Terraria нет отдельного query-порта или порта удалённой консоли, поэтому панель читает список игроков из Console: Как посмотреть, кто онлайн на сервере Terraria.

Как каждый тип сервера получает порт?

Все три типа слушают на одном и том же Основной порту, и панель задаёт его перед каждым запуском, поэтому вам не нужно вводить его где-либо.

Тип сервераКак панель передаёт портЧто важно знать
Terraria VanillaЗаписывает его как port в serverconfig.txtПорт, который вы впишете в этот файл, будет заменён при следующем запуске.
TShockЗапускает TShock с этим портомTShock выводит Port overridden by startup argument. Set to и ваш порт. Порт в tshock/config.json не используется.
tModLoaderЗапускает tModLoader с этим портомИгроки заходят через tModLoader, а не через обычную Terraria, на тот же IP и порт.

Смена типа сервера через Изменить тип сервера сохраняет тот же IP и порт, поэтому игрокам новый адрес не нужен: Как переключить сервер Terraria на TShock или tModLoader.

Почему порт моей Terraria обычно не 7777?

Каждый сервер PlayNHost получает собственный порт от машины, на которой работает, поэтому много серверов могут делить один IP-адрес. 7777 это значение по умолчанию для сервера, запущенного вами самостоятельно. Номер вашего сервера обычно другой, поэтому игроки должны вводить порт, который показывает панель. Terraria Wiki даёт тот же совет: если сервер использует порт, отличный от 7777, игроки подключаются к этому порту.

Где в панели найти IP и порт?

  1. Откройте сервер в панели. На странице Обзор найдите карточку Играть с друзьями.
  2. Скопируйте строки IP и Порт кнопками копирования рядом с ними. Terraria запрашивает их на двух экранах, поэтому дайте игрокам оба значения.
  3. Для полного списка нажмите Порты и сеть в меню слева. Отправьте это игрокам показывает IP и порт вместе, например 203.0.113.10:25600.
  4. В разделе Все порты порт с меткой Основной и описанием Порт, к которому подключаются игроки это игровой порт. Он единственный нужен серверу Terraria.

Карточка сервера на странице Обзор показывает адрес также как Адрес сервера. Чтобы проверить с самого сервера на Terraria Vanilla или tModLoader, введите port в Console: сервер выведет порт, на котором слушает. В Console TShock команды port нет; при запуске он выводит Port overridden by startup argument. Set to и ваш порт.

Как игроки подключаются к серверу Terraria на PlayNHost?

Игроки выбирают Multiplayer, затем Join via IP (Подключиться по IP), выбирают персонажа, вводят IP, затем порт на следующем экране и пароль, если вы его задали. На сервере tModLoader они запускают tModLoader вместо Terraria. Полные шаги описаны в статье Как зайти на ваш сервер Terraria.

Нужно ли открывать порты на роутере или в файрволе?

Нет. Машина, на которой работает ваш сервер Terraria, принимает подключения из интернета на портах, которые панель выдаёт серверам, и по TCP, и по UDP, и порт вашего сервера входит в их число. Панель пишет об этом в разделе Все порты: Каждый порт принимает TCP и UDP. Домашние роутеры ваших игроков пропускают исходящие соединения, поэтому им тоже ничего открывать не нужно.

Проброс портов и правила файрвола на Terraria Wiki предназначены для сервера, который вы запускаете на собственном компьютере. С арендованным сервером это не ваша забота.

Что файрвол не пропускает?

Снаружи до вашего сервера доходят только порты из раздела Все порты. В Terraria это важно для одного: REST API TShock. Если включить его через RestApiEnabled в tshock/config.json, он по умолчанию слушает на 7878. Пока 7878 нет в разделе Все порты, снаружи до него не достучаться. Если в вашем тарифе есть дополнительные порты, в Все порты есть кнопка Добавить порт. Добавьте порт, остановите сервер, задайте RestApiPort в tshock/config.json в Files равным номеру нового порта и снова запустите сервер. Если кнопки Добавить порт нет, в вашем тарифе нет дополнительных портов, поэтому создайте тикет и напишите, что он нужен для REST API TShock.

Частые проблемы с портом Terraria и их решения

Игроки не получают ответа после ввода IP и порта

  • Скопируйте IP и Порт с Играть с друзьями ещё раз. Пропущенный или неверный порт самая частая ошибка, а 7777 из руководства не ваш порт, если только панель его не показывает.
  • Проверьте, что на метке написано Онлайн, а Console показывает Type 'help' for a list of commands. До этого сервер ещё запускается.
  • На сервере tModLoader игроки должны заходить через tModLoader.
  • Школьные, рабочие и общедоступные сети могут блокировать игровые порты. Попросите игрока попробовать другую сеть.

Проблемы с паролем и версией описаны в статье Игроки не могут зайти на ваш сервер Terraria.

Я изменил порт в конфиг-файле, и ничего не произошло

Так и должно быть. Перед каждым запуском панель записывает порт Terraria Vanilla в serverconfig.txt, заменяя то, что вы вписали, а TShock и tModLoader запускает с портом в строке запуска. TShock использует этот порт, а не тот, что в tshock/config.json. Не трогайте строки с портом в конфиг-файлах: порт вашего сервера изменить нельзя, и это никогда не требуется.

REST API TShock не отвечает

REST API TShock по умолчанию выключен и слушает на порту 7878, до которого посторонние игроки не доберутся, если его нет в разделе Все порты. Добавьте порт кнопкой Добавить порт в Порты и сеть, остановите сервер, задайте RestApiPort в tshock/config.json равным этому номеру и снова запустите его. Если в вашем тарифе нет кнопки Добавить порт, создайте тикет, чтобы получить порт.

Карточка «Игроки онлайн» пишет No answer from the server

Это не проблема с портами. В Terraria нет query-порта, поэтому панель читает входы и выходы игроков из Console: Карточка игроков Terraria пишет No answer from the server.

Полезно знать

Ваш сервер уже у другого хостинга? Перенесите его к нам

ПОСЛЕДНИЕ БЛОГИ