Свой домен для сервера Minecraft: SRV-запись и адрес EGN

Как настроить домен для сервера Minecraft: SRV-запись _minecraft._tcp, адрес ноды и порт из раздела «Сеть», и почему Bedrock нужен отдельный адрес.

Команда EGN 8 мин чтения
Свой домен для сервера Minecraft: SRV-запись и адрес EGN
Содержание 16
  1. Коротко
  2. Зачем нужна SRV-запись
  3. Шаги
  4. Как сделать в панели EGN
  5. Проверка DNS из командной строки
  6. Что делать, если адрес ноды поменялся
  7. Несколько поддоменов на одну сеть
  8. Симптомы и решения
  9. Пример: домен для сети с прокси
  10. Частые ошибки
  11. Итог
  12. Вопросы и ответы
  13. Нужна ли SRV-запись, если порт 25565?
  14. Работает ли SRV с Bedrock?
  15. Почему после настройки домен не работает?
  16. Может ли EGN настроить DNS за меня?

Адрес вида 123.45.67.89:30546 неудобен для игроков: его трудно запомнить и легко перепутать. Свой домен решает эту проблему. Игроки вводят play.ваш-домен.ru, а DNS сам подставляет адрес и порт. Для Minecraft Java такая схема работает через SRV-запись, и её можно настроить за несколько минут у любого регистратора или DNS-провайдера.

Коротко

Для Minecraft Java создайте SRV-запись с именем _minecraft._tcp.ваш-домен.ru, которая указывает на адрес ноды и порт сервера из раздела «Сеть» панели EGN. Если порт 25565, SRV не нужна, достаточно A или CNAME-записи. Bedrock-клиенты SRV не используют, им указывайте адрес и порт вручную. Записи должны быть в режиме «только DNS», без прокси или CDN.

Зачем нужна SRV-запись

Клиент Minecraft Java ищет сервер по имени. Если в адресе не указан порт, клиент сначала смотрит SRV-запись _minecraft._tcp для этого имени. Если записи нет, он подключается к порту 25565 по адресу из A-записи.

Поэтому схема с SRV позволяет использовать любой порт, даже тот, который выдан панелью, и при этом игрок не видит номер порта. Он вводит только имя домена.

Схема: домен, SRV-запись и адрес сервера EGN с портом из «Сети»
Схема: домен, SRV-запись и адрес сервера EGN с портом из «Сети»

Шаги

  1. Возьмите адрес и порт. Откройте раздел «Сеть» на своём сервере. В строке адреса для подключения будет имя ноды и порт, например имя-ноды.example.ru:30546. Имя ноды и порт — то, что понадобится в записи. Не копируйте адрес из чужих примеров: у вашего сервера свой порт.

  2. Выберите имя. Удобно сделать поддомен, например play.ваш-домен.ru. Так основной домен остаётся для сайта.

  3. Создайте A или CNAME-запись. Для поддомена play укажите CNAME на имя ноды из «Сети» или A-запись на её адрес. Если вы используете SRV, эта запись нужна, чтобы SRV было куда вести.

  4. Создайте SRV-запись. Имя записи: _minecraft._tcp.play. Приоритет и вес обычно 0 и 5, порт — порт из «Сети», цель — имя ноды. Цель SRV должна быть именем хоста, а не IP-адресом, и по стандарту не должна быть CNAME: указывайте имя, у которого есть A-запись (например, имя ноды из «Сети»). Точный формат полей зависит от DNS-провайдера, но смысл один: цель и порт.

  5. Подождите распространения. Изменения DNS обычно вступают в силу за несколько минут, иногда дольше. Проверяйте не через кэш вашего компьютера, а через инструменты проверки DNS.

  6. Проверьте вход. Введите в клиенте play.ваш-домен.ru без порта. Если всё сделано верно, клиент подключится на нужный порт. Если нет, см. таблицу ниже.

Пример SRV-записи в формате BIND (у провайдеров форма ввода похожа):

Текст
_minecraft._tcp.play.ваш-домен.ru.  SRV  0 5 30546  имя-ноды.example.ru.

Порт 30546 и имя имя-ноды.example.ru здесь условные; общий разбор раздела — в статье про «Сеть». Подставьте данные из «Сети» вашего сервера.

Как сделать в панели EGN

В панели EGN домен не настраивается автоматически: DNS-записи создаёте вы у своего провайдера. Панель нужна только для одного — чтобы вы знали точный адрес и порт.

Откройте «Сеть». Вверху есть адрес для подключения. Это то, что нужно скопировать в SRV-запись. Если сервер переехал на другой порт или ноду, адрес может измениться, и тогда SRV-запись придётся обновить.

Раздел «Сеть»: адрес подключения и список портов сервера
Раздел «Сеть»: адрес подключения и список портов сервера

Также в «Сети» видно, что порт Bedrock отдельный. Он нужен тем, кто заходит с телефона или консоли, и SRV для него не работает.

Проверка DNS из командной строки

Проверять DNS через браузер неудобно: он кэширует результаты. Удобнее смотреть записи утилитой dig (в Linux и macOS она есть из коробки, в Windows её ставят отдельно). Проверка показывает, что ваш провайдер уже отдаёт новую запись.

Терминал
dig SRV _minecraft._tcp.play.ваш-домен.ru +short
dig CNAME play.ваш-домен.ru +short

Первая команда выводит приоритет, вес, порт и цель SRV-записи. Если вывод пустой, запись не создана или ещё не распространилась. Вторая проверяет, куда указывает поддомен. Сравните порт и цель с адресом из раздела «Сеть»: если они не совпадают, исправьте запись.

Проверку можно сделать и через сайт, который показывает записи DNS для домена. Главное — проверять через внешний сервис, а не через свой кэш.

Что делать, если адрес ноды поменялся

Адрес сервера в «Сети» может измениться, например при переносе на другую ноду. Тогда старая SRV-запись начнёт вести в никуда, и игроки увидят ошибку подключения. Порядок действий:

  1. Откройте «Сеть» и скопируйте новый адрес и порт.
  2. Обновите SRV-запись и, если нужно, CNAME поддомена.
  3. Подождите распространения записи и проверьте dig с другого устройства.
  4. Сообщите игрокам, что адрес прежний, а порт или нода изменились внутри. Так они не будут вводить IP руками.

Лучше заранее держать поддомен с коротким временем жизни записи (TTL), чтобы смена адреса занимала минуты, а не часы. Значение TTL задаётся у DNS-провайдера, панель EGN на него не влияет.

Несколько поддоменов на одну сеть

Если у сети несколько режимов, их удобно разнести по поддоменам: play.ваш-домен.ru для основного сервера и event.ваш-домен.ru для ивентов. Каждый поддомен ведёт на свой порт или на свой прокси. Для Java создайте отдельную SRV-запись на каждый поддомен (а с Velocity режимы можно разводить и через [forced-hosts], как в статье про Velocity). Не используйте один поддомен для двух разных портов: клиент возьмёт только одну запись.

Симптомы и решения

Симптом Причина Решение
Игрок вводит домен, но попадает на порт 25565 SRV-запись не создана или в неверном имени Проверьте имя _minecraft._tcp и поддомен
Домен не открывает сервер вообще Запись указывает на старый адрес или порт Сверьте SRV с адресом из «Сети»
Домен работает, но иногда не подключается Прокси или CDN перед записью Переключите запись в режим «только DNS»
Bedrock не подключается по домену Bedrock не использует SRV Укажите адрес и порт Bedrock вручную
Изменения не видны через час Кэш DNS у провайдера Подождите или проверьте через внешний инструмент проверки DNS

Пример: домен для сети с прокси

На сети с Velocity домен указывает на прокси, а не на бэкенд. Игрокам нужен только адрес прокси, поэтому SRV-запись ведёт на порт прокси из «Сети». Адреса бэкендов в записях не нужны: игроки их не видят и не используют. Если вы хотите поддомен для отдельного режима, создайте ещё одну SRV-запись, которая ведёт на другой порт или на отдельный прокси.

Частые ошибки

Не включайте прокси перед записью

Если домен проходит через прокси или CDN в режиме, который меняет трафик, игра работать не будет. Оставьте режим «только DNS» для записей сервера.

Один домен на один сервер

Не создавайте несколько SRV-записей с одинаковым приоритетом на одно имя: клиент возьмёт одну из них, и поведение станет непредсказуемым. Один сервер — одна запись.

Ещё несколько ошибок:

  • порт в SRV взят из чужого примера, а не из раздела «Сеть»;
  • имя _minecraft._tcp написано с ошибкой, и запись не находится;
  • домен указан в настройках сервера, но SRV не создана, поэтому игроки видят только IP;
  • Bedrock-игроки пытаются использовать домен вместо адреса и порта.
Что проверить после настройки

Домен подключает без указания порта, адрес и порт в «Сети» совпадают с записью, а Bedrock-адрес указан отдельно. Проверьте вход на другом устройстве, а не на том, где настраивали DNS.

Итог

Свой домен делает адрес сервера понятным. Для Java достаточно SRV-записи _minecraft._tcp, которая ведёт на адрес и порт из раздела «Сеть». Bedrock работает по адресу и порту, а не по домену (настройка Bedrock). Как игроку подключиться и ввести адрес — в статье как зайти на сервер. DNS-записи создаёте вы, панель EGN показывает актуальный адрес и порт. Перед тем как давать домен игрокам, проверьте вход с устройства, которое не настраивало DNS.

Вопросы и ответы

Нужна ли SRV-запись, если порт 25565?

Нет. Клиент подключится к 25565 по A-записи. SRV нужна, когда порт другой.

Работает ли SRV с Bedrock?

Нет. Bedrock-клиенты используют адрес и порт вручную. Для Bedrock дайте игрокам адрес и порт из «Сети».

Почему после настройки домен не работает?

Чаще всего не распространилась DNS-запись, неверное имя SRV или прокси перед записью. Проверьте все три.

Может ли EGN настроить DNS за меня?

Панель показывает адрес и порт, а записи создаются у вашего DNS-провайдера. Если нужна помощь, напишите в поддержку.

Сервер под Minecraft за пару минут — egnetwork.ru

Читать далее

Вся рубрика →