TeaHost
доменdns4 мин. чтения

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

SRV-запись для сервера Minecraft: как привязать домен без порта, чем она отличается от A-записи, примеры значений у регистраторов и проверка через dig.

Кратко

Чтобы игроки Minecraft Java заходили по домену без порта, создайте A-запись на IP сервера (например, node.example.ru) и SRV-запись _minecraft._tcp.mc с приоритетом 0, портом сервера и целью node.example.ru — в target нельзя писать IP. Проверка: dig SRV _minecraft._tcp.mc.example.ru. Rust, CS2, Palworld и Bedrock SRV не читают.

Адрес 195.14.22.87:25612 никто не запомнит и не наберёт с первого раза. Красивый mc.example.ru без порта запоминается сразу — и именно за это отвечает SRV-запись для сервера. Она позволяет клиенту Minecraft самому узнать, на каком порту вас искать. Разберём, чем SRV отличается от обычной A-записи, как её правильно заполнить и почему она иногда не работает.

A-запись, CNAME и SRV — что для чего

Три типа записей решают разные задачи, и путаница между ними — источник большинства проблем.

A-запись связывает домен с IP-адресом. Игрок вводит mc.example.ru:25612 и попадает на нужную машину, но порт всё равно приходится писать руками. Если ваш сервер стоит на стандартном порту 25565, одной A-записи достаточно — клиент подставит его сам.

CNAME — псевдоним для другого домена. Полезен, когда хостинг даёт вам адрес вида node12.hosting.ru, а вы хотите свой. Порт CNAME тоже не передаёт.

SRV — запись сервиса, она хранит и хост, и порт. Клиент Minecraft при подключении к mc.example.ru сначала спрашивает у DNS запись _minecraft._tcp.mc.example.ru, получает оттуда порт и хост и подключается уже туда. Игрок при этом вводит только домен.

Вывод простой: нестандартный порт — нужна SRV. Стандартный 25565 — хватит A-записи.

Как создать SRV-запись для сервера

SRV состоит из пяти частей, и у разных регистраторов они раскиданы по полям по-разному.

ПолеЗначениеКомментарий
Имя (name)_minecraft._tcp.mcДля поддомена mc; подчёркивания обязательны
Приоритет (priority)0При одной записи не важен
Вес (weight)5 или 0При одной записи не важен
Порт (port)25612Реальный порт вашего сервера
Цель (target)node.example.ruДомен с A-записью на IP сервера. Именно домен, не IP

Последний пункт — главная ловушка. В поле target нельзя писать IP-адрес: спецификация SRV (RFC 2782) требует доменное имя, у которого есть адресная запись. Поэтому схема всегда двухступенчатая.

Порядок действий:

  1. Создайте A-запись, например node.example.ru → 195.14.22.87.
  2. Создайте SRV-запись с именем _minecraft._tcp.mc, портом 25612 и целью node.example.ru.
  3. Дождитесь распространения DNS.

После этого игроки подключаются просто по mc.example.ru.

Как это выглядит у регистраторов

Форма ввода отличается, суть одна.

Cloudflare. Отдельная форма для SRV: поля Service (_minecraft), Protocol (_tcp), Name (mc), Priority, Weight, Port, Target. Важный момент: оранжевое облачко (проксирование) для игровых записей нужно выключить — Cloudflare проксирует HTTP, а не игровой трафик, и с включённым прокси сервер станет недоступен.

Reg.ru, Timeweb, Beget. Обычно одно поле «Значение», куда всё пишется строкой:

код
0 5 25612 node.example.ru.

Точка в конце домена обязательна — без неё регистратор дописывает ваш домен ещё раз и получается node.example.ru.example.ru.

Namecheap. Поля разнесены, но нужно помнить, что Service вводится без подчёркивания в некоторых версиях интерфейса. Смотрите на подсказку под полем.

Проверка

Не гадайте, применилось или нет — проверьте запросом.

В Windows:

код
nslookup -type=SRV _minecraft._tcp.mc.example.ru

В Linux и macOS:

код
dig SRV _minecraft._tcp.mc.example.ru +short

Правильный ответ выглядит так:

код
0 5 25612 node.example.ru.

Если вывод пустой — запись ещё не разошлась или создана с ошибкой в имени. Если порт не тот, что у сервера, — исправьте значение и подождите заново.

Отдельно проверьте A-запись цели:

код
dig A node.example.ru +short

Она должна вернуть IP вашего сервера.

Почему не работает

Список причин, отсортированный по частоте встречаемости на практике.

  • DNS ещё не обновился. Изменения расходятся от нескольких минут до нескольких часов, ориентир — значение TTL записи. Перед правками TTL полезно снизить до 300 секунд.
  • В target вписан IP. Не работает. Нужен домен с A-записью.
  • Забыта точка в конце домена у регистраторов со строчным вводом.
  • Включён прокси Cloudflare. Отключите проксирование для игровых записей.
  • Неверный протокол. Для Minecraft Java это только _tcp.
  • Порт в SRV не совпадает с реальным. После смены порта сервера SRV нужно править — как менять порт, описано в статье про смену порта сервера.
  • Bedrock-клиент игнорирует SRV. Мобильные и консольные версии просят порт отдельным полем. Для кроссплея это стоит учитывать заранее.

SRV в других играх

Minecraft Java — практически единственный массовый случай, где SRV реально работает из коробки. Клиенты Rust, CS2 и Palworld запись сервиса не запрашивают: там игрок вводит адрес и порт явно или подключается через список серверов.

Это не значит, что домен для них бесполезен. A-запись на домен всё равно удобна: если IP сервера сменится, вы поправите одну запись вместо того, чтобы рассылать новый адрес всем игрокам. Общий порядок привязки домена разобран в статье про подключение домена к серверу.

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

Можно ли обойтись без домена?

Да, игроки прекрасно подключаются по IP с портом. Домен нужен для узнаваемости и для того, чтобы переезд между серверами не ломал адрес.

Сколько ждать после создания записи?

Обычно 15–30 минут, иногда до нескольких часов. Ускорить нельзя, но можно заранее поставить TTL 300 — тогда следующие правки разойдутся за пять минут.

Нужны ли одновременно A и SRV?

Да, в связке. SRV указывает на домен, у которого должна быть A-запись. Плюс полезно сделать A-запись и на сам mc.example.ru — на случай клиентов и мониторингов, которые SRV не читают.

Домен на сервере с нестандартным портом — единственный вариант SRV?

Нет, но самый частый. Ещё SRV пригодится, если вы переносите сервер между машинами с разными портами и не хотите каждый раз просить игроков менять адрес.

Заведите SRV один раз — и адрес сервера перестанет быть набором цифр. Если сервер только планируется, посмотрите тарифы и сразу берите домен под него.