База знаний / Как привязать домен к серверу (A- и SRV-записи)

🌐 Домены и DNS

Как привязать домен к серверу (A- и SRV-записи)

Наличие домена у сервера позволяет использовать короткий адрес вроде abcde.qfmc.ru или вашеимя.ru вместо 95.58.64.123:25568. Настраивается это не в Minecraft, а в DNS-зоне у регистратора или DNS-провайдера. Интерфейс у каждого провайдера отличается, но типы записей и поля одни и те же.

Для Minecraft нужны две записи: A-запись (имя → IP) и при нестандартном порте − SRV-запись (имя → хост + порт).

Какой IP и порт брать на Qualia Factory. Берите адрес из дашборда сайта. Не используйте адрес из панели Pterodactyl − он внутренний. Подробнее: как подключиться к серверу.

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

  • A-запись отвечает на вопрос: «на какой IP-адрес ссылается домен». Без неё путь от домена к серверу не сможет быть построен.
  • SRV-запись отвечает: «для службы Minecraft на этом имени какой хост и какой порт?». Эта запись нужна, если игровой порт не 25565 и вы хотите, чтобы в клиенте писали просто вашеимя.ru, а не вашеимя.ru:25568.

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

Поля A-записи

Тип записи в панели DNS: A (Address).

Тип:      A
Имя:      yourdomain.ru.
Значение: 193.107.234.235
TTL:      300
  • Тип (Type) − A. Есть ещё AAAA − это для IPv6, для Minecraft он не нужен.
  • Имя / Host / Subdomain − ваш домен/поддомен (с точкой в конце).
    • yourdomain.ru. → адрес будет yourdomain.ru;
    • subdomain.domain.ru. → subdomain.domain.ru;
    • Значение / RDATA / Value / Points to / IPv4 address − публичный IP сервера без порта (только цифры и точки). Порт в A-запись не пишется.
    • TTL − как долго резолверы кэшируют ответ (секунды). 300–600 удобно при настройке (быстрее увидите правки); после стабилизации можно поставить час и больше. На распространение всё равно влияет кэш провайдеров.

    В сыром виде A-запись ([name] [ttl] [class] [type] [rdata]) выглядит так:

    yourdomain.ru.  300  IN  A  193.107.234.235

    Проверить доступность записи можно в консоли Windows с помощью команды nslookupНапример:

    nslookup qfmc.ru
    
    Server:   dns.google
    Address:  8.8.8.8
    
    Non-authoritative answer:
    Name:     qfmc.ru
    Address:  193.107.234.235

    Если в ответе nslookup «Non-existent domain» − запись ещё не видна или имя опечатано.

    Также можно использовать общедоступные DNS-чекеры, чтобы исключить влияние пользовательского сетевого окружения.

    Поля SRV-записи

    Тип записи в панели DNS: SRV (Service). Для Minecraft: протокол TCP, имя сервиса minecraft.

    Тип:       SRV
    Сервис:    _minecraft
    Протокол:  _tcp
    Имя:       yourdomain
    Приоритет: 0
    Вес:       5
    Порт:      25568
    Цель:      yourdomain.ru.
    TTL:       300

    Разные панели DNS по-разному склеивают поля. Где‑то одно поле «Service» сразу выглядит как _minecraft._tcp.yourdomain, где‑то сервис, протокол и имя − три отдельных поля.

    • Service (сервис) − для Minecraft всегда _minecraft (с подчёркиванием в начале). Другое значение клиент игры не ищет.
    • Protocol (протокол) − всегда _tcp.
    • Имя / Name / Host − если используется поддомен (subdomain.domain.ru), то указывать его (subdomain). Если используется основной домен (domain.ru), то оставить пустым.
    • Priority (приоритет) − какое SRV предпочесть, если их несколько. Меньшее число = выше приоритет. Для одного сервера обычно 0.
    • Weight (вес) − распределение между записями с одинаковым приоритетом. При одном сервере достаточно любого небольшого числа, например 5 или 1.
    • Port (порт) − игровой порт Minecraft с хостинга (например, 25568). Именно для него и нужна SRV-запись.
    • Target / Host / Points to (цель) − имя хоста, на который указывает SRV. Здесь нужно указывать hostname, не IP-адрес.
    • TTL − время кэширования записи (секунды).

    В сыром виде SRV-запись ([name] [ttl] [class] [type] [priority] [weight] [port] [target]) выглядит так:

    _minecraft._tcp.yourdomain.ru.  3600  IN  SRV  0  5  25568  yourdomain.ru.

    SRV-запись не работает без A-записи. SRV сам по себе IP не знает: он указывает на hostname, а hostname через A должен резолвиться в IP сервера.

    Некоторые DNS-чекеры не умеют обрабатывать SRV-записи. Для проверки стоит использовать сервисы, специализирующиеся на Minecraft.

    Cloudflare и «оранжевое облако»

    Если DNS у Cloudflare: прокси (оранжевое облако) обычно нужно выключить (DNS only, серое облако). HTTP-прокси Cloudflare не умеет нормально прокидывать игровой трафик Minecraft − будут Timed out или бесконечное подключение, даже при наличии записи.

    Сколько ждать и что проверить, если не заходит

    • DNS может кэшироваться: от нескольких минут до 24–48 часов у отдельных провайдеров.
    • Сброс кэша DNS на Windows: ipconfig /flushdns.
    • Сверьте IP в A-записи с актуальным.
    • Сверьте порт в SRV-записи с текущим портом сервера.
    • Сервер должен быть полностью запущен и готов принимать игроков.
    • «Unknown host» − имя не резолвится (A-запись/опечатка/ещё не обновилось).

    Дополнительно о решениях проблем со входом на сервер можно прочитать в статье Connection refused: getsockopt.

    Связанные статьи