Как пустить друзей на сервер через интернет

Внутри своей квартиры сервер виден сразу, а вот снаружи — нет. Разбираем, что для этого нужно, что делать при сером IP и как не пустить на сервер лишних.

Коротко

Что нужно, чтобы друг зашёл не из моей сети?

Внешний («белый») IP-адрес у вашего интернета и проброс порта 25565 на роутере к компьютеру с сервером. После этого друг подключается по вашему внешнему адресу.

Как понять, белый у меня адрес или серый?

Посмотрите в настройках роутера адрес WAN и сравните с тем, что показывает любой сайт «узнать свой IP». Совпадают — адрес белый, различаются — серый, и проброс порта не сработает.

Что делать при сером IP?

Заказать белый адрес у провайдера — обычно это небольшая доплата в месяц, — воспользоваться сервисом-туннелем или арендовать готовый сервер у хостинга.

Опасно ли открывать порт?

Сам порт игры угрозы не несёт, но ваш адрес станет виден посторонним, а сервер начнут находить сканеры. Включите белый список — тогда чужие просто не смогут зайти.

Как это устроено

Сервер работает на вашем компьютере и слушает порт 25565. Внутри квартиры к нему можно обратиться по локальному адресу вроде 192.168.1.5 — роутер знает, где стоит эта машина.

Снаружи всё сложнее: интернет видит не ваш компьютер, а роутер. Чтобы запрос дошёл до сервера, роутеру нужно объяснить: «всё, что придёт на порт 25565, отдавай вот этому компьютеру». Это и называется пробросом порта.

Шаг 1. Узнать, какой у вас адрес

Откройте настройки роутера (обычно 192.168.0.1 или 192.168.1.1) и найдите там адрес WAN — внешний адрес подключения. Потом откройте любой сайт вида «узнать свой IP» и сравните.

  • Совпали — адрес белый, можно пробрасывать порт.
  • Разные — адрес серый: вы сидите за общим адресом провайдера вместе с сотнями соседей. Проброс порта в этом случае не заработает, сколько ни настраивай. Что делать — в конце статьи.

Шаг 2. Закрепить адрес за компьютером

Роутер раздаёт локальные адреса сам и после перезагрузки может выдать вашему компьютеру другой. Тогда проброс будет вести в пустоту.

В настройках роутера найдите раздел DHCP и включите «резервирование»: привяжите нужный локальный адрес к вашему компьютеру. Как вариант — задайте статический адрес в настройках сети Windows.

Шаг 3. Пробросить порт

В роутере это раздел «Проброс портов», «Виртуальные серверы» или Port Forwarding — название зависит от производителя. Заполняется так:

  • внешний порт: 25565
  • внутренний порт: 25565
  • протокол: TCP
  • адрес: локальный адрес компьютера с сервером

Сохраните и перезагрузите роутер.

Шаг 4. Разрешить в брандмауэре

Windows по умолчанию блокирует входящие соединения. При первом запуске сервера появляется окно «Разрешить доступ» — если вы его закрыли, откройте «Брандмауэр Защитника Windows» → «Разрешение взаимодействия с приложением» и разрешите Java для частных и публичных сетей.

Шаг 5. Проверить снаружи

Изнутри своей сети проверка не считается: она может работать, когда снаружи всё закрыто. Попросите друга зайти или воспользуйтесь любым сайтом-пингером для серверов Minecraft — введите свой внешний адрес и посмотрите, отвечает ли.

Друзья подключаются по адресу вида:

203.0.113.25

Порт указывать не нужно, если вы оставили стандартный 25565.

Адрес меняется — что делать

У большинства домашних подключений внешний адрес меняется: сегодня один, завтра другой. Диктовать друзьям новые цифры каждую неделю неудобно.

Два решения:

  • DDNS. Бесплатные сервисы динамических имён дают постоянное имя вида mojserver.ddns.net, а роутер сам сообщает им новый адрес. Поддержка DDNS есть почти в каждом роутере.
  • Свой домен и SRV-запись. Если есть домен, SRV-запись позволяет друзьям вводить просто игра.мойдомен.ру — даже когда сервер работает на нестандартном порту.

Если адрес серый

Проброс порта не поможет — нужен другой путь:

  • Заказать белый адрес у провайдера. Обычно стоит немного и включается в личном кабинете. Самый надёжный вариант.
  • Сервис-туннель. Программы вроде playit.gg поднимают соединение наружу и дают адрес, по которому к вам подключаются. Ничего настраивать в роутере не нужно, но появляется зависимость от чужого сервиса и лишняя задержка.
  • Арендовать сервер у хостинга. Мир будет доступен, даже когда ваш компьютер выключен, и вопрос с адресом отпадает вовсе.

Безопасность: что сделать обязательно

Открытый порт находят сканеры за считаные часы. Ничего страшного в этом нет, но пара мер нужна.

  • Включите белый список. В server.properties поставьте white-list=true и добавьте друзей командой whitelist add Ник. Это закрывает вопрос с посторонними полностью. Подробнее — в разборе server.properties.
  • Не раздавайте права оператора. Оператор может всё, включая остановку сервера и выдачу прав другим.
  • Делайте резервные копии. Папка world, скопированная при остановленном сервере, — это вся страховка от гриферства и сбоя диска.
  • Помните, что ваш адрес виден. Он и так виден всем, к кому вы подключаетесь, но сервер добавляет к этому известность: если сервер публичный и кому-то не понравится ваше решение как администратора, адрес может стать целью. Для домашней компании это несущественно, для открытого сервера — довод в пользу хостинга.
  • Обновляйте ядро. В старых версиях находят дыры, а обновление — это замена одного файла.

Если сервер нужен на один вечер

Всё описанное имеет смысл, когда мир живёт долго. Поиграть вдвоём в один вечер проще без сервера вообще — открыть мир для сети прямо из игры. Как это делается, описано в статье об игре с другом по сети.

Чтобы друзья зашли с первого раза

Sonar — бесплатный лаунчер для Minecraft. Он проверяет адрес сервера до захода и предупреждает, если версия не подходит, а позвать друга на свой сервер можно одной кнопкой — диктовать адрес не придётся.

Вкладка «Серверы» в лаунчере Sonar: список серверов Minecraft с онлайном, версией и пингом
Онлайн, версия и ваш пинг видны до захода. Лаунчер заранее проверяет, подходит ли ваша версия и пустят ли вас, — вместо непонятной ошибки на полпути.

Архив — если браузер не даёт скачать установщик. Внутри тот же файл и памятка, что нажимать.

Версия 0.1.0 · 83 МБ · бесплатно

Другая система: Windows Сборка для Mac готовится: dmg собирается только на macOS.