Как настроить SRV-запись для сервера Minecraft
Введение
SRV-запись (Service Record) позволяет игрокам подключаться к вашему серверу Minecraft по доменному имени (например, play.example.com) без указания порта в клиенте. Это особенно актуально, если сервер работает на нестандартном порту (не 25565) или если вы используете прокси (BungeeCord, Velocity) и хотите скрыть реальный порт бэкенда.
В данной инструкции рассматривается настройка на выделенном сервере с Ubuntu, управляемом через панель proxify.cloud (Proxmox VE), и настройка DNS на стороне регистратора домена / DNS-хостинга.
1. Подготовка: получение данных сервера
Перед созданием записи соберите необходимую информацию.
1.1. Узнайте публичный IP-адрес сервера
В панели proxify.cloud перейдите в раздел Серверы → выберите ваш выделенный сервер → вкладка Сеть. Там указан основной IPv4-адрес. Альтернативно, выполните в консоли сервера (SSH или консоль Proxmox → Shell):
curl -4 ifconfig.me
Пример результата: 203.0.113.42
1.2. Определите порт Minecraft-сервера
По умолчанию — 25565. Если вы меняли server-port в server.properties или используете прокси (Velocity/BungeeCord), укажите именно тот порт, на который должны попадать игроки.
Проверьте файл конфигурации:
cat /opt/minecraft/server.properties | grep server-port
# или для Docker-контейнеров
docker exec <container_name> cat /data/server.properties | grep server-port
1.3. Выберите поддомен
Решите, какой поддомен будет использоваться для входа. Например:
mc.example.com— для прямого подключения к серверу.play.example.com— стандартный алиас для игроков.
2. Настройка DNS-записей у регистратора / DNS-хостинга
Панель proxify.cloud не предоставляет встроенного DNS-хостинга для ваших доменов. Настройку SRV-записей нужно выполнять в панели того сервиса, где куплен домен или куда делегированы NS-серверы (Cloudflare, Reg.ru, Timeweb, GoDaddy, Яндекс 360 и др.).
2.1. Создайте A-запись (целевой хост)
SRV-запись должна указывать на хостнейм (FQDN), а не на IP напрямую. Создайте A-запись для технического поддомена (обычно mc или srv).
| Тип | Имя (Хост) | Значение (IP) | TTL | Проксирование |
|---|---|---|---|---|
| A | mc |
203.0.113.42 |
Auto / 300 | Выключено (DNS Only) |
Важно: Если вы используете Cloudflare, обязательно отключите оранжевое облако (Proxy status = DNS only) для этой A-записи. Minecraft-трафик (TCP) не проходит через HTTP/HTTPS прокси Cloudflare (если не используется Spectrum / TCP Shield).
2.2. Создайте SRV-запись
Теперь создайте саму SRV-запись, указывающую на mc.example.com.
Поля записи (названия могут отличаться у разных провайдеров):
| Поле | Значение | Пояснение |
|---|---|---|
| Тип | SRV |
|
| Имя / Хост / Name | _minecraft._tcp.play |
Если хотите заходить по play.example.com. Если корневой домен — @ или оставить пустым (зависит от панели). |
| Сервис / Service | _minecraft |
Фиксированное значение для Minecraft. |
| Протокол / Proto | _tcp |
Minecraft использует TCP. |
| Приоритет / Priority | 0 |
Чем меньше, тем выше приоритет. |
| Вес / Weight | 5 |
Распределение нагрузки (если несколько серверов). |
| Порт / Port | 25565 |
Реальный порт вашего сервера (из шага 1.2). |
| Цель / Target / Destination | mc.example.com |
Точное FQDN из A-записи шага 2.1. Точка в конце обычно не нужна, но если панель требует FQDN — добавьте: mc.example.com. |
| TTL | 300 / Auto |
Время кэширования. |
Примеры для популярных панелей:
Cloudflare (DNS → Records → Add record):
- Type:
SRV - Name:
play(дляplay.example.com) или@(дляexample.com) - Service:
_minecraft - Protocol:
_tcp - Priority:
0 - Weight:
5 - Port:
25565 - Target:
mc.example.com - TTL:
Auto - Proxy: DNS Only (серое облако)
Reg.ru / Timeweb / Beget (режим "Эксперт" / "Ручная настройка"):
_minecraft._tcp.play 300 IN SRV 0 5 25565 mc.example.com.
Обратите внимание на точку в конце таргета в BIND-формате.
3. Проверка распространения DNS
DNS-изменения применяются не мгновенно. Проверьте корректность записей утилитами.
3.1. Проверка через dig (Linux/macOS/WSL)
# Проверка A-записи
dig +short mc.example.com
# Проверка SRV-записи для поддомена play
dig +short SRV _minecraft._tcp.play.example.com
Ожидаемый вывод SRV:
0 5 25565 mc.example.com.
3.2. Проверка через nslookup (Windows)
nslookup -type=SRV _minecraft._tcp.play.example.com
3.3. Онлайн-проверка
Используйте MXToolbox SRV Lookup или DNS Checker.
4. Настройка firewall на Ubuntu (UFW)
Даже если DNS настроен верно, порт должен быть открыт на уровне ОС. На выделенном сервере в proxify.cloud по умолчанию может быть открыт только SSH (22).
4.1. Разрешите порт Minecraft
sudo ufw allow 25565/tcp comment "Minecraft Server"
sudo ufw reload
4.2. Проверьте статус
sudo ufw status numbered
Должно быть правило:
[ 3] 25565/tcp ALLOW IN Anywhere # Minecraft Server
Примечание: Если вы используете Docker и пробрасываете порт через
-p 25565:25565, Docker сам манипулируетiptablesи правило UFW может быть не нужно (или даже мешать). Проверяйтеsudo iptables -L -n | grep 25565.
5. Настройка server.properties (опционально, но рекомендуемо)
Для корректной работы мотивации (MOTD), иконки сервера в списке и защиты от спама ботов, настройте параметры в файле конфигурации.
5.1. Откройте файл
nano /opt/minecraft/server.properties
Путь может отличаться: /home/minecraft/server.properties, /srv/mc/server.properties или внутри Docker-тома.
5.2. Ключевые параметры
# Порт должен совпадать с SRV-записью (шаг 2.2)
server-port=25565
# Включите онлайн-режим (проверка лицензии Mojang) — настоятельно рекомендуется
online-mode=true
# Максимальное количество игроков
max-players=50
# MOTD — отображается в списке серверов (поддерживает MiniMessage/hex в новых версиях)
motd=\u00A7aМой Сервер \u00A77| \u00A7bplay.example.com
# Включить query для отображения игроков в списке (порт query.port, по умолчанию server-port)
enable-query=true
query.port=25565
# Защита от ботов (требует поддержки клиентом/прокси)
# prevent-proxy-connections=false
Сохраните (Ctrl+O, Enter) и выйдите (Ctrl+X). Перезапустите сервер:
# Systemd
sudo systemctl restart minecraft
# Docker
docker restart <container_name>
# Screen/Tmux (в консоли сервера)
/stop
# затем запустите скрипт запуска
6. Тестирование подключения
6.1. Из клиента Minecraft (Java Edition)
- Откройте Multiplayer → Add Server.
- Server Address:
play.example.com(порт не указывать). - Нажмите Done. Сервер должен появиться в списке с правильным MOTD и количеством игроков.
- Зайдите на сервер.
6.2. Проверка через консоль (telnet / nc)
# Проверка TCP-соединения
nc -zv play.example.com 25565
# или
telnet play.example.com 25565
Результат: Connection to play.example.com 25565 port [tcp/*] succeeded!
6.3. Проверка SRV резолва клиентом (диагностика)
В логах сервера (latest.log) при подключении по домену должно быть видно, что игрок зашел. Если в логах пусто — проверяйте фаервол и проброс портов на уровне хостинга (если есть отдельный файрвол в панели proxify.cloud → Сеть → Firewall).
7. Особенности работы с прокси (Velocity / BungeeCord / Waterfall)
Если у вас стоит прокси на порту 25565, а бэкенд-серверы (Spigot/Paper) на других портах (25566, 25567):
- SRV-запись указывает на прокси. Порт в SRV =
25565(порт прокси). Target =mc.example.com(A-запись на IP прокси). - BungeeCord
config.yml:listener: host: "0.0.0.0:25565" # ... server_priorities: - lobby - survival - Velocity
velocity.toml:[servers] lobby = "127.0.0.1:25566" survival = "127.0.0.1:25567" [configuration] bind = "0.0
Комментарии (0)