Superhub Beam
Клиенты нашего хостинга могут подключить Superhub Beam. Beam представляет собой геораспределённый прокси-сервер, через который игроки могут подключаться к серверам клиентов хостинга.
Ограничения
Перед подключением Beam обратите внимание на технические ограничения системы:
- Beam работает только с трафиком Minecraft: Java Edition. Подключить сервер Minecraft: Bedrock Edition или сторонние плагины типа DynMap и PlasmoVoice не получится, для некоторых из них потребуется дополнительная настройка.
- По умолчанию вы не сможете видеть реальные адреса игроков. Для получения реальных адресов потребуется дополнительная настройка. Это делает невозможной работу плагинов на авторизацию и банов по IP адресу.
- Подключиться к серверу можно будет только через домен.
Подключение
Для подключения Superhub Beam обратитесь в техническую поддержку. Сообщите идентификатор сервера из личного кабинета и желаемый домен. Если хотите использовать бесплатный домен, мы настроим всё самостоятельно. Если хотите использовать свой домен, то потребуется добавить запись в DNS.
Использование своего домена
Если у вас есть свой домен, то его можно подключить к Superhub Beam.
Учтите, что для обхода геоблокировок не подойдут домены в зонах .ru, .рф, .by и прочих, связанных с государствами, находящимися под санкциями. Такие домены недоступны на некоторых территориях сами по себе. Нам также известны случаи, когда не работали домены, размещённые на серверах reg.ru, поэтому рекомендуем использовать зарубежных провайдеров вроде Cloudflare для DNS.
Чтобы Beam заработал, нужно сообщить в техническую поддержку, какой домен вы хотите использовать. Для этого домена нужно будет создать запись типа CNAME
с содержимым connect.beam.s-hub.cloud
. После этого домен можно будет использовать для подключения к серверу.
Несколько доменов для одного сервера
Если вы хотите использовать несколько доменов для одного сервера, все эти домены нужно передать в техническую поддержку. Они в неизменном виде будут передаваться в Handshake и могут быть использованы в функциях типа forced hosts.
Реальные адреса игроков
Чтобы получать реальные адреса игроков, сервер должен поддерживать HAProxy Forwarding. В число ядер, которые поддерживают эту опцию, входят Paper с его форками, а также Velocity. Если ваш сервер поддерживает этот протокол, нужно:
- Сообщить в техническую поддержку, что вы хотите использовать HAProxy Forwarding, указав домен, привязанный к Superhub Beam.
- Включить на своём сервере HAProxy Protocol.
За HAProxy Protocol в Velocity отвечает параметр haproxy-protocol
в config.toml
, а в Paper — параметр proxy-protocol
в config/paper-global.yml
.
Для корректной работы этой функции вам потребуется плагин, запрещающий внешние подключения к серверу с недоверенных адресов. В противном случае кто угодно сможет подменить свой IP адрес при подключении к серверу. Список адресов уточняйте в технической поддержке.
Мы работаем над добавлением поддержки других протоколов передачи данных игрока, но сейчас доступен только HAProxy Protocol v2.
Голосовой чат
Плагины на голосовой чат используют отдельный протокол для работы. Они запускают свой UDP сервер на отдельном порте. Клиенты таких плагинов по умолчанию подключаются по тому же адресу, по которому игрок подключен к серверу. При использовании Superhub Beam такая схема работать не будет, т.к. Beam перенаправляет только TCP трафик с порта 25565 и не учитывает иной трафик.
Чтобы голосовой чат работал в обход Superhub Beam, нужно настроить его так, чтобы сервер сообщал клиентам, что UDP сервер находится по адресу, отличному от адреса подключения. Конкретный процесс настройки зависит от плагина.
- для Simple Voice Chat следуйте инструкции в "Other Minecraft Proxies": https://modrepo.de/minecraft/voicechat/wiki/proxy_setup#other-minecraft-proxies;
- для Plasmo Voice следуйте инструкции в "Proxy and Server on different Nodes": https://plasmovoice.com/docs/server/proxy/#proxy-and-server-on-different-nodes.
Особенности
Текущая реализация Superhub Beam использует GeoDNS для определения оптимального прокси-сервера. Этот подход работает для 80-90% игроков, которые используют DNS резолверы, позволяющие нам узнать примерное расположение пользователя. Однако есть часть игроков, для которых адрес прокси-сервера определяется некорректно, из-за чего обход геоблокировок не работает.
Из наиболее распространённых ситуаций — игроки из Украины, которые используют резолверы Яндекса. Из-за того, что резолверы Яндекса не передают нам информацию о расположении, игрокам выдаётся адрес российских точек присутствия Beam.
Домены без GeoDNS
Чтобы решить описанную выше проблему, можно выделить отдельный домен, который будет всегда возвращать адрес точек присутствия Beam в Европе, и выдавать такой домен игрокам, у которых возникают проблемы. Для этого:
- Выберите домен. Например, если у вас домен
play.example.com
, можете выбратьplay-eu.example.com
илиplay-ua.example.com
. - Сообщите в поддержку, что вам нужен домен без GeoDNS, а также регион, для которого предназначается домен. Укажите выбранный вами домен и идентификатор сервера.
Если вы используете собственный домен, то потребуется добавить CNAME запись для выбранного домена:
- если вы хотите, чтобы домен был доступен игрокам из РФ, сделайте запись
CNAME msk.beam.s-hub.cloud
; - если вы хотите, чтобы домен был доступен игрокам из Украины или ЕС, сделайте запись
CNAME fra.beam.s-hub.cloud
.