DGuard

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

Адрес вида play.example.com запоминается лучше цифр, переживает смену хостинга и выглядит как настоящий проект. Для стандартного порта 25565 хватит одной A-записи, для любого другого порта нужна SRV-запись _minecraft._tcp. Разбираем обе, TTL, проверку, сеть за Velocity и то, чего не умеет Bedrock.

Команда DGuard7 мин

Коротко: создайте A-запись, которая указывает имя play.example.com на IP сервера. Если сервер слушает порт 25565, на этом всё — игроки вводят play.example.com. Если порт другой, добавьте SRV-запись _minecraft._tcp.play.example.com с этим портом и целью play.example.com: Java Edition с версии 1.3.1 сама узнаёт из неё порт. Bedrock SRV-записи не поддерживает — там порт вводят вручную.

A-запись или SRV

ЗаписьЧто хранитКогда нужна
AИмя → IPv4-адрес сервераВсегда: на неё ссылается и сам адрес, и SRV-запись
SRVПриоритет, вес, порт и цель — имя с A-записьюСервер не на 25565, а игроки должны вводить адрес без порта
По Minecraft Wiki (настройка сервера Java Edition) и RFC 2782

A-запись не умеет хранить порт — только адрес. Поэтому без SRV сервер на порту 25570 доступен лишь как play.example.com:25570. SRV не заменяет A-запись, а дополняет её: в ней указан не IP, а имя, у которого должна быть своя A-запись.

Стандартный порт: хватит A-записи

  1. 1

    Выберите имя

    Обычно поддомен — play, mc или название режима: корень example.com часто уже занят сайтом.

  2. 2

    Создайте A-запись

    В панели регистратора или DNS-хостинга: тип A, имя play, значение — внешний IP сервера. На хостинге IP показывает панель, дома — роутер или сайт «мой IP».

  3. 3

    Подождите и проверьте

    Minecraft Wiki советует подождать до 10 минут после создания записи, а затем проверить её командой из раздела о проверке ниже.

Нестандартный порт: запись SRV

Игра ищет SRV-запись строго по имени _minecraft._tcp.<домен, который вводит игрок>. Для адреса play.example.com это _minecraft._tcp.play.example.com, для корня — _minecraft._tcp.example.com. Поля записи по RFC 2782:

ПолеЧто вписать
Имя_minecraft._tcp.play — служба и протокол с подчёркиваниями плюс ваш поддомен
Приоритет0. Клиент выбирает цель с наименьшим приоритетом; для одного сервера значение не важно
Вес0. RFC советует ставить 0, когда выбирать между серверами не нужно
ПортПорт сервера из server-port, например 25570
ЦельИмя с A-записью, например play.example.com. Не IP и не CNAME: по RFC 2782 у цели должны быть адресные записи, и она не может быть псевдонимом
пример записей в формате файла зоны
; стандартный порт: игроки вводят play.example.com
play.example.com.                  300  IN  A    203.0.113.10

; нестандартный порт 25570: SRV указывает игре порт
_minecraft._tcp.play.example.com.  300  IN  SRV  0 0 25570 play.example.com.

Целью может быть то же имя, что вводит игрок: play.example.com с A-записью и SRV, которая указывает на него же с нужным портом. В некоторых панелях служба (_minecraft), протокол (_tcp) и имя — отдельные поля, а другие сами дописывают домен зоны к имени. Как бы ни выглядела форма, итог проверяйте командой nslookup: запись должна найтись ровно по имени _minecraft._tcp.play.example.com.

TTL: как быстро расходятся изменения

TTL — сколько секунд резолверы держат запись в кэше. Пока кэш не истёк, часть игроков попадает по старому адресу. У Cloudflare значение Auto — 300 секунд, а вручную на обычных тарифах можно задать от 60 секунд до суток. Minecraft Wiki предупреждает, что в зависимости от резолвера игрока изменения доходят «за день или около того».

Короткий TTL нужен перед переездом: снизьте его заранее, минимум на срок старого TTL, и смена IP разойдётся быстро — порядок переезда в статье перенос сервера. Когда адрес устоялся, TTL можно поднять обратно.

Как проверить записи

Windows — nslookup, Linux и macOS — dig
nslookup -q=a play.example.com
nslookup -q=srv _minecraft._tcp.play.example.com

dig play.example.com A +short
dig _minecraft._tcp.play.example.com SRV +short
# ответ SRV: 0 0 25570 play.example.com.
  • A-запись не находится — проверьте имя в панели и подождите: свежие записи появляются не сразу.
  • SRV не находится — чаще всего имя записано с ошибкой: без подчёркиваний, с двойным доменом в конце или не для того поддомена, который вводят игроки.
  • Записи верные, а игра не подключается — дело не в DNS: проверьте, что порт открыт и проброшен, по статье IP и порт сервера.

Домен для сети за Velocity

В сети серверов игроки подключаются к прокси, поэтому домен указывает на машину с Velocity. По умолчанию Velocity слушает порт 25565 на всех адресах машины — тогда хватит A-записей, SRV не нужна. Серверы за прокси в DNS не публикуйте: их порты должны быть закрыты файрволом, см. настройку Velocity.

Раздел [forced-hosts] в velocity.toml отправляет игрока на нужный сервер по имени, которое тот ввёл. Учтите тонкость SRV: по Minecraft Wiki, при входе клиент сообщает серверу имя, полученное после разрешения SRV, то есть цель записи, а при опросе списка серверов — имя, которое ввёл игрок. Если несколько поддоменов ведут SRV-записями на одну цель, прокси их не различит. Надёжнее держать Velocity на 25565 без SRV или делать целью каждой SRV-записи тот же поддомен.

поддомен сразу на выживание
# DNS: оба имени — на машину с Velocity (порт 25565)
mc.example.com.        A  203.0.113.10
survival.example.com.  A  203.0.113.10

# velocity.toml
[forced-hosts]
"survival.example.com" = ["survival"]

В стандартном velocity.toml уже есть примеры forced-hosts с серверами lobby, factions и minigames — удалите их или замените своими. Как выбрать прокси — в статье Velocity или BungeeCord.

Bedrock: SRV не работает

Minecraft Wiki перечисляет среди ограничений Bedrock-сервера отсутствие поддержки SRV-записей: подключиться по домену можно, но порт игрок вводит сам. По умолчанию это 19132 — столько же слушает и Geyser, через который Bedrock-игроки заходят на Java-сервер. Значит, для Bedrock достаточно A-записи, а в описании сервера пишите адрес и порт отдельно. Подробнее — в статье Geyser и Bedrock.

Cloudflare и бесплатные поддомены

  • Cloudflare: только «DNS only». Прокси Cloudflare (оранжевое облако) обслуживает лишь записи A, AAAA и CNAME с трафиком HTTP и HTTPS, а TCP-приложения проксирует только отдельный продукт Spectrum. Для игрового адреса ставьте «DNS only» (серое облако), SRV-записи прокси не бывают.
  • Бесплатный поддомен. Поддомен от хостинга или сервиса динамического DNS удобен для старта, но адрес принадлежит не вам: его могут отозвать или изменить правила. Перед тем как раздавать такой адрес, проверьте, можно ли там создать SRV-запись, если порт нестандартный.
  • Динамический IP. Если внешний IP дома меняется, Minecraft Wiki советует сервис динамического DNS: он обновляет запись сам.

Домен и античит

Красивый адрес попадает в мониторинги, видео и чаты — и приводит не только игроков, но и читеров. Отбиваться лучше заранее. DGuard — лучший античит для современного сервера Minecraft — ловит читы в бою, движении, пакетах, инвентаре, постройке и мире и работает за Velocity и BungeeCord: ставится на каждый игровой сервер со своим ключом. Ключ не привязан к домену и IP — при смене адреса или переезде он едет вместе с папкой plugins. До 30 игроков онлайн DGuard бесплатен, а защита та же, что на платных тарифах.

Частые вопросы

Как сделать адрес сервера Minecraft без порта?

На порту 25565 достаточно A-записи домена. На другом порту добавьте SRV-запись _minecraft._tcp.<домен> с этим портом и целью — именем с A-записью. Java Edition находит порт сама, игрок вводит только домен.

Почему SRV-запись не работает?

Проверьте имя записи (_minecraft._tcp. перед именно тем доменом, который вводят игроки), что цель — имя с A-записью, а не IP или CNAME, и подождите TTL. Проверка — nslookup -q=srv _minecraft._tcp.<домен>.

Работает ли SRV-запись для Bedrock?

Нет. Bedrock-клиент подключается по домену, но порт игрок вводит вручную; по умолчанию это 19132.

Можно ли поставить домен сервера Minecraft за прокси Cloudflare?

Нет: прокси Cloudflare работает с HTTP и HTTPS, а TCP-приложения — только через Spectrum. Для игрового адреса включите «DNS only».

Сколько ждать, пока заработает новый адрес?

Новая запись обычно появляется за минуты, а изменение старой — после истечения её TTL; Minecraft Wiki предупреждает, что у некоторых резолверов это бывает до суток.

Источники

Все разделы
Создание сервера7 минКак зайти на свой сервер Minecraft: IP, порт 25565 и проброс портовСервер Minecraft Java принимает игроков на TCP-порту 25565. Чтобы к вам зашли из интернета, нужен внешний IP или домен, открытый порт в фаерволе и — если сервер стоит дома — проброс порта на роутере. Ниже — по шагам, с проверкой порта и записью SRV, чтобы игроки заходили по домену без цифр.ЧитатьАдминистрирование8 минПеренос сервера Minecraft на новый хостинг или VPS без потерьПереезд сервера — это не только миры. Нужны плагины вместе с их папками, конфиги, файлы банов и OP, базы данных плагинов, та же Java и то же ядро, правильный владелец файлов и смена DNS так, чтобы игроки зашли по старому адресу. Ниже — порядок, при котором старая машина остаётся запасной, пока новая не проверена.ЧитатьПродвижение и доход10 минМониторинги серверов Minecraft: где разместить сервер и как подняться в топеМониторинги — сайты-каталоги, где игроки ищут сервер по режиму и версии и голосуют за любимые. Сравниваем русскоязычные и международные мониторинги по их собственным страницам: награды за голоса и Votifier, что нужно для добавления, правила голосования и платного продвижения. А ещё — как оформить карточку и понять, откуда пришли игроки.Читать

Поставьте лучший античит для современного Minecraft

DGuard ловит все 47 видов читов из нашего сравнения — у ближайшего соперника, Intave, 27. Полная защита на любом тарифе, до 30 игроков онлайн — бесплатно.