Порт задаётся ключом server-port в server.properties, по умолчанию — 25565, протокол TCP. Если порт стандартный, игроку достаточно ввести IP или домен; если другой — адрес с двоеточием: play.example.com:25570. Какой именно адрес давать, зависит от того, откуда заходит игрок.
Какой адрес давать игрокам
| Откуда заходят | Адрес | Что нужно настроить |
|---|---|---|
| С того же компьютера | localhost | Ничего. |
| Из той же домашней сети | внутренний IP, например 192.168.1.20 | Ничего, кроме фаервола на компьютере с сервером. |
| Из интернета, сервер дома | внешний IP или домен | Проброс порта на роутере и фаервол. |
| Из интернета, сервер на VPS или хостинге | IP сервера или домен | Фаервол. На игровом хостинге адрес и порт показывает панель. |
Внутренний IP на Windows покажет ipconfig (строка «IPv4-адрес»), на Linux — ip addr (строка inet у сетевого интерфейса). Внешний IP — в настройках роутера или на любом сайте вида «мой IP». Если вы выбираете, где держать сервер, сравните варианты в статье хостинг или VPS.
Проброс порта на домашнем роутере
Роутер — единственное устройство с внешним IP, а компьютеры за ним видны только внутри сети. Проброс порта говорит роутеру: всё, что пришло снаружи на порт 25565, отправляй на этот компьютер. Меню у роутеров разные, но шаги одинаковые:
- 1
Закрепите внутренний IP сервера
Роутер раздаёт адреса по DHCP и может выдать компьютеру другой — тогда проброс перестанет работать. Закрепите адрес в настройках роутера (резервирование DHCP) или задайте статический IP на компьютере.
- 2
Откройте настройки роутера
Адрес роутера — это «Основной шлюз» в выводе
ipconfig, часто192.168.0.1или192.168.1.1. Логин и пароль обычно написаны на наклейке снизу. - 3
Найдите проброс портов
Раздел называется по-разному: Port Forwarding, Virtual Server, «Переадресация портов», NAT.
- 4
Создайте правило
Внутренний IP — адрес сервера, внешний и внутренний порт —
25565, протокол — TCP. Имя правила любое, например minecraft. - 5
Откройте порт в фаерволе компьютера
На Windows при первом запуске сервера появится запрос брандмауэра для «OpenJDK Platform binary» — разрешите доступ. На Linux — правило в ufw (ниже).
- 6
Проверьте снаружи
С запущенным сервером проверьте порт из другой сети — как именно, описано ниже.
Фаервол на Linux: ufw
На VPS с Ubuntu или Debian чаще всего стоит ufw. Откройте игровой порт и не забудьте SSH до включения фаервола — иначе отрежете себе доступ к машине:
sudo ufw allow 22/tcp # SSH (или ваш порт SSH)
sudo ufw allow 25565/tcp # Minecraft
sudo ufw enable
sudo ufw status verboseИгре нужен только TCP. UDP на том же номере нужен лишь для протокола query, если вы его включили (enable-query), — а без нужды его лучше не включать. У облачных провайдеров бывает ещё и свой фаервол в панели (группы безопасности): порт должен быть открыт и там.
Как проверить, что порт открыт
- Сервер слушает порт. На самой машине:
ss -tlnp | grep 25565— в выводе должен быть процесс java. Пусто — сервер не запущен или слушает другой порт. - Порт виден снаружи. Из другой сети (например, с мобильного интернета):
nc -vz <внешний-IP> 25565на Linux и macOS илиTest-NetConnection <внешний-IP> -Port 25565в PowerShell на Windows. - Сервер отвечает как Minecraft. Добавьте адрес в список серверов игры или проверьте его онлайн-сервисом статуса Minecraft-серверов.
Не делайте выводов по проверке изнутри своей же сети по внешнему IP: многие роутеры не умеют так «разворачивать» подключение (NAT loopback), и проверка провалится, даже если снаружи всё работает.
Домен без порта: запись SRV
Домен запоминается лучше IP, а при смене машины достаточно поменять DNS. Сначала создайте A-запись, которая указывает на IP сервера. Если порт стандартный, этого хватит: игроки вводят play.example.com.
Если порт нестандартный, добавьте SRV-запись — с Java Edition 1.3.1 клиент сам узнаёт из неё порт. Игра ищет запись строго по имени _minecraft._tcp.<ваш домен>, а в значении указываются приоритет, вес, порт и цель — доменное имя с A-записью (не IP):
play.example.com. A 203.0.113.10
_minecraft._tcp.play.example.com. SRV 0 5 25570 play.example.com.Проверьте запись командой dig _minecraft._tcp.play.example.com srv (Linux, macOS) или nslookup -q=srv _minecraft._tcp.play.example.com (Windows). Изменения DNS расходятся не сразу — иногда до суток. Если домен на Cloudflare, запись для сервера должна быть «DNS only» (серое облако): прокси Cloudflare пропускает только HTTP и HTTPS.
Какие порты не открывать
Сканеры постоянно обходят интернет в поисках серверов Minecraft на 25565 и открытых служебных портов. Наружу должен смотреть только игровой порт:
| Порт | Что это | Открывать наружу? |
|---|---|---|
25565 TCP (server-port) | Игровой порт | Да. На сети серверов — только порт прокси. |
25575 TCP (rcon.port) | RCON — удалённая консоль | Нет. Соединение не шифруется, пароль перехватывается. Подключайтесь с самой машины или через SSH. |
25565 UDP (query.port) | Протокол query | Только если нужен. На Paper он по умолчанию отдаёт список ваших плагинов. |
| Порты игровых серверов за прокси | Paper за Velocity с online-mode=false | Нет. Кто достучится до такого сервера напрямую, зайдёт под любым ником, включая администратора. |
management-server-port | Протокол управления сервером (с 1.21.9, по умолчанию выключен) | Нет. По умолчанию он слушает только localhost — так и оставьте. |
На сети из прокси и нескольких серверов Paper наружу открыт только порт Velocity (по умолчанию тоже 25565), а игровые серверы слушают 127.0.0.1 или пускают только IP прокси: sudo ufw allow proto tcp from <IP прокси> to any port 25566. Документация Velocity прямо говорит, что modern forwarding — не замена фаерволу. Как собрать такую сеть — в статье настройка Velocity.
Античиту отдельные порты не нужны. DGuard ставится на каждый игровой сервер со своим ключом и сам обращается к сайту DGuard по HTTPS — за лицензией, обновлениями и облачной проверкой аима и TriggerBot. Значит, на фаерволе достаточно не запрещать исходящий HTTPS. Шаги установки — в инструкции.
Нестандартный порт и enable-status=false немного снижают внимание сканеров, но от целенаправленной атаки не спасают. Что делать с ботами и DDoS — в отдельной статье: боты и DDoS.
Частые вопросы
Какой порт у сервера Minecraft?
По умолчанию 25565, протокол TCP. Его можно сменить ключом server-port в server.properties; тогда игроки вводят адрес с портом через двоеточие или вы настраиваете SRV-запись.
Нужно ли открывать UDP для сервера Minecraft Java?
Нет, игра работает по TCP. UDP нужен только протоколу query (enable-query=true), а без необходимости его лучше не включать.
Почему я захожу на свой сервер, а друзья — нет?
Вы, скорее всего, заходите через localhost или внутренний IP, а друзьям нужен внешний. Проверьте проброс порта на роутере, фаервол на компьютере и не сидите ли вы за NAT провайдера.
Как сделать адрес сервера без порта?
Либо оставьте стандартный порт 25565 и создайте A-запись домена, либо для нестандартного порта добавьте SRV-запись _minecraft._tcp.<домен> с нужным портом.
Опасно ли открывать порт 25565?
Открытый игровой порт — нормально, так работают все публичные серверы. Опасно открывать RCON, query без нужды и порты серверов за прокси, а также держать online-mode=false без плагина авторизации.
Источники
- Minecraft Wiki: протокол Java Edition (TCP)
- Minecraft Wiki: server.properties
- Minecraft Wiki: настройка сервера Java Edition
- Ubuntu Server: фаервол ufw
- Velocity: безопасность серверов за прокси
- Velocity: настройка (bind)
- Paper: bukkit.yml (query-plugins)
- Cloudflare: статус прокси DNS-записей
- RFC 6598: общий адресный блок провайдеров (100.64.0.0/10)
- DGuard — лучший античит для современного сервера Minecraft: сравнение проверок с GrimAC, Vulcan, Polar, Intave и Matrix
- DGuard: установка, требования и решение проблем
- DGuard: поддерживаемые версии Paper и Leaf