Войти Добавить свой сервер

ГайдДля владельцев серверов

Как настроить Geyser и Floodgate для игроков Bedrock

Настройка Geyser и Floodgate на Paper или Velocity, включение NetherNet до Bedrock 26.60, порт 19132 для TCP и UDP и проверка снаружи сети.

Редакция ServerList Опубликовано 13 мин чтения
Geyser + FloodgateTCP 25565UDP 19132Ники Bedrock получают префикс

Geyser позволяет игрокам Bedrock на телефонах, планшетах, консолях и Windows заходить на ваш сервер Java: он переводит между двумя редакциями игры, а Floodgate пускает их без аккаунта Java. Установите оба на сервер Paper или на прокси Velocity, задайте в Geyser transport значение both, откройте порт Bedrock для TCP и UDP, а затем проверьте снаружи своей сети, что игрок Bedrock действительно заходит.

Этот последний шаг владельцы пропускают чаще всего. Наш пингер раз в минуту отправляет Bedrock-пинг каждой карточке с кроссплеем, где указан адрес Bedrock. За последние 30 дней 21 из 93 карточек, доступных для игры на Java, не ответили ни на один такой пинг, а отвечали хотя бы в 90% случаев только 52. Когда мы писали это 18 октября 2026 года, таких карточек было 94: 20 из них ни разу не ответили на Bedrock, а 53 отвечали стабильно. Владелец сломанной настройки кроссплея обычно ничего не подозревает, потому что на Java этого никто не замечает.

Сейчас важна одна дата. Bedrock 26.60 запланирован на 27 октября 2026 года, и начиная с этой версии клиенты Bedrock перестанут подключаться через RakNet, транспорт, который Geyser по умолчанию пока ещё использует. Уведомление GeyserMC о NetherNet говорит об этом прямо: после этой даты игроки Bedrock не смогут зайти на серверы, не сделавшие переход. Все шаги ниже уже включают этот переход.

Как работают Geyser и Floodgate

Geyser стоит между клиентом Bedrock и вашим сервером Java. Он принимает соединение Bedrock, открывает от имени игрока соединение Java и переводит всё, что идёт между ними: чанки, сущности, инвентари, чат, звуки. Для вашего сервера это просто ещё один клиент Java. Поскольку Geyser имитирует актуальный клиент Java, сервер должен принимать эту версию, то есть на момент написания Java 26.3. Старому серверу нужен ViaVersion, чтобы он принимал более новый клиент.

Floodgate решает проблему аккаунтов. У игрока Bedrock есть аккаунт Microsoft и тег игрока Xbox (gamertag), но нет профиля Java, поэтому обычный сервер в онлайн-режиме его бы отклонил. С Floodgate Geyser ручается за игрока с помощью общего файла ключа key.pem, а Floodgate пускает его под созданным профилем Java: тег игрока с префиксом (по умолчанию точка, то есть .Steve) и UUID, собранный из его идентификатора пользователя Xbox, в виде 00000000-0000-0000-xxxx-xxxxxxxxxxxx.

Небольшое отступление: раз этот UUID берётся из идентификатора пользователя Xbox, игрок Bedrock, сменивший тег, сохраняет инвентарь и права. Плагины, которые хранят игроков по нику, окажутся не так снисходительны.

Что меняет NetherNet

Новый транспорт Bedrock, NetherNet, построен на WebRTC. Клиент сначала отправляет по TCP небольшой веб-запрос с вопросом, как подключиться (этот шаг называется сигналингом), и только потом играет по UDP. Сигналинг также несёт MOTD и число игроков, которые показывает список серверов Bedrock. Поэтому порту Bedrock, которому раньше хватало UDP, теперь нужен ещё и TCP, и поэтому ваш сервер может пропасть из списка серверов Bedrock у игроков, хотя игровой порт широко открыт. Клиенты с 26.40 могут использовать NetherNet, полноценно с 26.50, а с 26.60 обязаны. Geyser поддерживает его со сборки 1237, но по умолчанию всё ещё использует RakNet.

Плагин, прокси или отдельная программа: какую установку выбрать

Ваша конфигурацияГде ставить GeyserГде ставить Floodgate
Один сервер Paper или PurpurНа этот сервер (Geyser-Spigot)На тот же сервер (Floodgate-Spigot)
Сеть на VelocityТолько на прокси (Geyser-Velocity)На прокси, а также на каждый бэкенд, если плагинам там нужен Floodgate
Сеть на BungeeCordТолько на прокси (Geyser-BungeeCord)Так же, как для Velocity
Сервер Fabric или NeoForge только с серверными модамиНа сервер (Geyser-Fabric или Geyser-NeoForge)На сервер (мод Floodgate, для Fabric нужен ещё Fabric API)
Сервер, куда нельзя добавлять плагиныGeyser Standalone на другой машине, Java 21 или новееНа сервер Java, если можете, иначе игрокам нужны аккаунты Java

В сети Geyser ставится на прокси и больше никуда. Игроки Bedrock подключаются к прокси, как и все остальные, а прокси переносит их между бэкендами.

Установка на Paper

Проверено по документации GeyserMC для сервера Paper 26.3. Purpur и другие форки Paper настраиваются так же.

  1. Убедитесь, что сервер принимает клиентов Java 26.3. Если на нём версия старше, сначала установите ViaVersion.

  2. Скачайте Geyser-Spigot и Floodgate-Spigot на geysermc.org/download, положите оба jar в plugins, запустите сервер один раз, чтобы они создали свои папки, затем остановите его.

  3. Откройте plugins/Geyser-Spigot/config.yml и задайте раздел Bedrock:

    bedrock:
      address: 0.0.0.0
      port: 19132
      transport: both
      webrtc-port: 19134
  4. В том же файле задайте auth-type: floodgate. Он находится в разделе о сервере Java, который в современных сборках называется java:, а в старых remote:.

  5. Откройте порты, как описано ниже, запустите сервер и прочитайте консоль. Geyser выводит порты, которые занял, и большинство проблем с NetherNet называет простыми словами.

Почему both, а не nethernet? Одного NetherNet достаточно для современных клиентов. both пускает и игроков, которые всё ещё сидят на версиях с 26.30 по 26.34 и понимают только RakNet, обслуживает клиентов 26.40, которые всё ещё читают MOTD по RakNet, и оставляет включённым слушатель RakNet в Geyser, к которому обращается наша проверка Bedrock (подробнее в разделе о проверке снаружи). Цена: один лишний порт UDP. webrtc-port должен быть свободен и отличаться от port, а 19134 приведён только как пример. Сам GeyserMC советует перейти на nethernet и закрыть порт RakNet, когда выйдет 26.60 и игроки обновятся.

Установка на Velocity

  1. Убедитесь, что Velocity и каждый бэкенд принимают клиентов Java 26.3. Geyser заходит на прокси как клиент Java этой версии, а Velocity передаёт версию дальше, поэтому один устаревший бэкенд без ViaVersion останется недоступным для игроков Bedrock.
  2. Положите Geyser-Velocity и Floodgate-Velocity в папку plugins прокси, запустите Velocity один раз и остановите.
  3. Настройте plugins/Geyser-Velocity/config.yml точно так же, как в примере для Paper, включая auth-type: floodgate.
  4. Откройте порты Bedrock на машине с прокси, а не на бэкендах.
  5. Оставьте modern forwarding таким, как он у вас уже работает: player-info-forwarding-mode = "modern" в velocity.toml, а на каждом бэкенде proxies.velocity.enabled: true в config/paper-global.yml с секретом из файла forwarding.secret Velocity.

Собственные команды Geyser, например /geyser version и /geyser dump, выполняются на прокси, поэтому права на них выдавайте там, например через LuckPerms для Velocity.

Floodgate на бэкендах

Floodgate нужен только на прокси. Добавляйте его на бэкенды, когда плагину на бэкенде нужен API Floodgate, например чтобы открывать нативные формы Bedrock или проверять, играет ли игрок на Bedrock.

  1. Установите Floodgate-Spigot на каждый бэкенд.
  2. В конфигурации Floodgate на прокси задайте send-floodgate-data: true.
  3. Скопируйте key.pem из папки Floodgate на прокси в папку Floodgate каждого бэкенда.
  4. Перезапустите бэкенды, затем прокси.

Относитесь к key.pem как к паролю. Тот, у кого он есть, может обойти аутентификацию Java для любого аккаунта Bedrock на вашем сервере, поэтому его нельзя выкладывать в публичный репозиторий, на скриншот для поддержки или в общий набор плагинов.

Порты: 19132 по TCP и UDP и ваш хостинг

Порт Bedrock по умолчанию 19132. С NetherNet и встроенным сигналингом Geyser порт Geyser должен быть открыт и для TCP, и для UDP, поэтому он больше не может совпадать с вашим портом Java, где TCP уже занят. При transport: both UDP нужен и для webrtc-port.

  • Домашний роутер или VPS. Пробросьте порт Geyser как TCP и UDP (во многих роутерах это называется «Both»), а webrtc-port как UDP. Затем откройте те же порты в файрволе операционной системы. В ufw это sudo ufw allow 19132 (оба протокола) и sudo ufw allow 19134/udp.
  • Docker. Публикуйте каждый протокол отдельно: 19132:19132/tcp, 19132:19132/udp и 19134:19134/udp. Запись 19132:19132 без протокола публикует только TCP.
  • Oracle Cloud. Откройте порты в облачном списке безопасности (security list) и в собственном файрволе инстанса. Одного из двух недостаточно.
  • OVH и SoYouStart. На странице GeyserMC о пробросе портов отмечено, что правила Bedrock в файрволе GAME пока не работают с NetherNet. Для портов Geyser используйте правило Other.
  • Игровые хостинги с одним портом. Старый приём clone-remote-port использовал номер вашего порта Java для Bedrock по UDP. Со встроенным сигналингом он не работает, потому что сигналингу нужен TCP на этом порту, а ваш сервер Java его уже занял. Тогда Geyser сам переключается на Warden, бесплатный внешний сервис сигналинга от Ziax, компании, стоящей за CubeCraft. С Warden с вашей стороны нужен только UDP, но игроки заходят по адресу и порту, которые Geyser выводит в консоль, если только вы не зарегистрируете в Warden собственный домен. Попросите у хостинга второй порт или проверьте, не настраивает ли хостинг Geyser через параметры запуска.
  • Туннели. ngrok туннелирует только TCP, поэтому игру Bedrock он не передаст. Руководство GeyserMC по playit.gg написано для RakNet и отсылает к собственной странице статуса NetherNet у playit, так что проверьте её, прежде чем полагаться на туннель.

В наших данных чаще подводят нестандартные порты. За последние 30 дней 6 из 18 карточек с нестандартным портом Bedrock ни разу не ответили на Bedrock-пинг, против 15 из 75 на 19132 (18 октября 2026 года: 6 из 18 против 14 из 76). Выборка небольшая, но нестандартный порт означает ещё одно число, которое нужно правильно указать в двух местах.

Встроенный сигналинг Geyser по умолчанию работает по обычному HTTP, поэтому при первом входе Bedrock спрашивает каждого игрока, доверять ли серверу. Если в настройке certificate в HTTPS-части конфигурации сигналинга Geyser указать TLS-сертификат, вопрос исчезнет, а Warden берёт HTTPS на себя.

Ники Floodgate и ваши плагины

Игрок Bedrock с именем Steve приходит как .Steve, и эта точка попадает в каждый ваш плагин.

  • Префикс. Это настройка username-prefix в конфигурации Floodgate, по умолчанию ".". Floodgate рекомендует префикс без букв и цифр, чтобы ни один ник Bedrock не совпал с ником Java. Избегайте *: тогда в командах ник может понадобиться в кавычках.
  • Пробелы. В тегах игрока могут быть пробелы, в никах Java нет. При replace-spaces: true (по умолчанию) Cool Steve превращается в .Cool_Steve.
  • LuckPerms. Задайте allow-invalid-usernames: true в конфигурации LuckPerms, чтобы ники с точкой принимались, или обращайтесь к игрокам по UUID.
  • Белый список. /whitelist add запрашивает у Mojang профиль Java и для игроков Bedrock не срабатывает. Используйте вместо него /fwhitelist add Steve (префикс необязателен) или UUID игрока в Floodgate. Право называется floodgate.command.fwhitelist.
  • «Не удалось проверить имя пользователя!» (по-английски «Failed to verify username») на Paper. Paper отклоняет ники, которые считает недопустимыми. Установка Floodgate на бэкенд смягчает проблему, а полное решение даёт страница известных проблем Floodgate: задайте perform-username-validation значение false в разделе unsupported-settings файла config/paper-global.yml.
  • Игроки с обеими редакциями. Глобальная привязка, включённая по умолчанию, позволяет игроку один раз связать аккаунты Java и Bedrock и заходить под своим профилем Java на каждом сервере, где она включена.
  • Голоса. Votifier доставляет ник, а плагины наград выдают награду онлайн- или офлайн-игроку с таким же ником. Игрок Bedrock должен голосовать как .Steve, а не Steve, иначе награда уйдёт в никуда. Наша форма голосования узнаёт распространённые префиксы Floodgate, проверяет ник среди аккаунтов Bedrock и доставляет его в том виде, как он введён. За последние 30 дней 6 % всех голосов на serverlist.net были отданы за ники Bedrock, и 97 % из них несли стандартную точку (6% и 97% на 18 октября 2026 года). Если вы меняли префикс, напишите об этом в сообщении команды /vote. Остальной путь голоса разбирает руководство по NuVotifier.

Игроки Bedrock не могут нажимать на ссылки в чате, и Geyser этого не исправит. Сообщение о голосовании, которое говорит только «нажмите здесь», для них бесполезно. Выводите адрес голосования обычным текстом, достаточно коротким, чтобы его можно было набрать на телефоне.

Проверьте снаружи

Вход с собственного телефона по собственному Wi-Fi почти ничего не доказывает: телефон может достучаться до сервера по вашей локальной сети и вообще не пройти через правила роутера, которые вы только что написали. Проверяйте так, как это сделал бы посторонний.

  1. Отключите Wi-Fi на телефоне, добавьте сервер в Bedrock с публичным адресом и портом и зайдите через мобильный интернет. Руководство по входу на Bedrock показывает эту же дорогу со стороны игрока.

  2. Прогоните адрес и порт Bedrock через проверку статуса сервера, которая проверяет его один раз с нашей стороны:

    Проверить сервер прямо сейчас

    Адрес, который игроки вводят в меню «Сетевая игра». Подписи вроде IP: и пробелы мы уберём.

    Ответ появится здесь в виде строки из меню «Сетевая игра»: игроки, версия и пинг.

  3. Добавьте свой сервер или отредактируйте карточку, включите «Игроки Bedrock тоже могут зайти» и введите адрес и порт Bedrock. С этого момента наш пингер проверяет порт Bedrock каждую минуту, а отметка Bedrock в вашей карточке и ваше место в списке серверов Bedrock определяются этими ответами, а не переключателем.

  4. Повторяйте проверку после каждого обновления Geyser и каждого релиза Bedrock. Сборка Geyser, слишком старая для новой версии Bedrock, часто становится причиной того, что игроки Bedrock внезапно не могут зайти в день обновления.

Пояснение о том, как мы проверяем, потому что оно влияет на то, что вы видите. Наш пинг Bedrock работает по RakNet, как клиенты Bedrock до NetherNet. Geyser в режиме both на него отвечает, в режиме nethernet нет. Пока наша проверка не научится и NetherNet, сервер только на nethernet отображается у нас как не отвечающий на Bedrock, даже когда игроки Bedrock могут зайти, поэтому both пока остаётся настройкой, при которой отметка Bedrock в вашей карточке точна. Как мы измеряем, описано на странице методологии.

Вот как карточки делятся по платформам сейчас:

Java, Bedrock или обаПоследние 30 дней
  • Только JavaНа странице нет адреса Bedrock367 % игроков
  • Bedrock отвечаетУказан адрес Bedrock, который ответил на наш пинг Bedrock7290 % игроков
  • Bedrock молчитУказан адрес Bedrock, который ни разу не ответил213 % игроков

Из 129 доступных серверов 72 отвечали и на Bedrock, а у 21 указан адрес Bedrock, который ни разу не ответил.

Замер: 19 окт. 2026, 23:55 UTCКак мы измеряем

Чего не хватит игрокам Bedrock

Geyser не может изменить клиент Bedrock. GeyserMC ведёт страницу текущих ограничений, и вот пункты из неё, которые чаще всего важны на обычном сервере:

  • Кликабельные ссылки в чате. На Bedrock они не работают, и это бьёт по ссылкам на голосование, магазин и приглашения в Discord.
  • Левый и правый клик в меню инвентаря. Bedrock их не различает, поэтому меню-сундуки, которые по-разному реагируют на каждый клик, ломаются. Нативная для Bedrock замена: формы Floodgate.
  • Собственные зачарования не отображаются, а уровни, которых нет в ванильной игре, например «Шёлковое касание 2», показать нельзя.
  • Аргументы команд и автодополнение по Tab работают только для команд, зарегистрированных современным способом (Brigadier).
  • Свечение и флаги с более чем шестью слоями.

Ещё два связанных ограничения на той странице не указаны. Наборы ресурсов Java на Bedrock не загружаются, поэтому Geyser приходится отправлять вместо них набор Bedrock, а для собственных предметов нужно сопоставление в Geyser, иначе игроки Bedrock увидят их неправильно. GeyserIntegratedPack, который поставляется с Geyser, закрывает несколько собственных пробелов, например анимации предмета во второй руке и позы стоек для брони.

Бой тоже ощущается по-другому. У Bedrock нет собственного кулдауна атаки, поэтому Geyser рисует индикатор-заменитель, по умолчанию на прицеле (опция cooldown-type в разделе gameplay, в старых конфигурациях она называется show-cooldown), а игроки на сенсорном экране целятся иначе, чем игроки с мышью. Если ваш сервер построен вокруг таймингов боя Java, напишите об этом в карточке.

Покажите это прямо в карточке

Рабочая настройка Bedrock пропадает впустую, если игроки не могут её увидеть или набрать.

  • Адрес и порт в отдельных полях. Bedrock не читает SRV-записи, поэтому игроки вводят порт вручную. Указывайте порт в поле порта, а не через двоеточие в адресе. Если Geyser переключился на Warden, используйте адрес, который выводит Geyser. Если Geyser раньше делил ваш порт Java, порт Bedrock изменился: обновите карточку и скажите игрокам отредактировать сохранённый сервер.
  • Расскажите, что получают игроки Bedrock. Одна-две строки в описании: какой префикс они увидят, какие меню или мини-игры на Bedrock не работают и как голосовать со своим ником. Руководство по описанию сервера показывает, куда это вписать.
  • Назовите диапазон версий. «Bedrock 26.50 и новее» говорит игроку больше, чем просто «кроссплей».
  • Игрокам на консолях нужно больше помощи. Телефоны и Windows могут добавить любой сервер, а игрокам Xbox, PlayStation и Switch нужны обходные пути от третьих сторон, так что одного адреса Bedrock им недостаточно.

Взгляд на всё это со стороны игрока есть в статье могут ли игроки Java и Bedrock играть вместе.

Таблица неполадок

Что вы видитеВероятная причинаЧто делать
Игроки Bedrock не могут зайти после Bedrock 26.60, игроки Java могутGeyser всё ещё только на RakNet или сборка старше 1237Обновите Geyser, задайте transport: both (или nethernet), откройте TCP на порту Geyser
Сервера нет в списке Bedrock или нет MOTD, хотя порт «открыт»TCP не проброшен, сигналинг не может до вас достучатьсяПробросьте порт Geyser как TCP и UDP
Консоль: «Built-in signaling cannot use port ... because the Java server already uses it»clone-remote-port или повторно использованный порт JavaВозьмите отдельный порт или оставайтесь на внешнем сигналинге (Geyser переключается на него сам)
Консоль: «RakNet and NetherNet each need their own UDP port»webrtc-port совпадает с portВыберите другой свободный порт UDP для webrtc-port
Консоль: «... is a loopback address»В address указан 127.0.0.1Задайте address: 0.0.0.0
Игроков Bedrock просят войти в аккаунт Javaauth-type не floodgate или Floodgate нет на сервере, к которому подключается GeyserЗадайте auth-type: floodgate, установите Floodgate
«Please connect through the official Geyser»key.pem отличается между установками или Geyser и Floodgate устарелиСкопируйте key.pem с прокси на каждый бэкенд, обновите оба
«Не удалось проверить имя пользователя!» (по-английски «Failed to verify username») на бэкенде PaperПроверка ников в Paper отклоняет точкуУстановите Floodgate на бэкенд или примените решение со страницы известных проблем Floodgate
Игрока Bedrock из белого списка всё равно кикаетДобавлен через /whitelistИспользуйте /fwhitelist add с тегом игрока или UUID
Голоса Bedrock приходят, но наград нетИгрок проголосовал без префиксаСкажите игрокам Bedrock голосовать как .Name
Все на Bedrock не могут зайти после обновления BedrockСборка Geyser слишком стараяОбновите Geyser, затем перезапустите
Вопрос о доверии к серверу при первом входеСигналинг по обычному HTTPДобавьте сертификат для сигналинга или используйте Warden
У вас работает, у всех остальных нетРоутер или облачный файрвол открыт наполовинуПерепроверьте оба файрвола и оба протокола, затем проверьте через мобильный интернет

Если таблица не помогла, /geyser dump создаёт отчёт для отладки, который просит поддержка GeyserMC. Когда Bedrock заработает, следующая задача: убедиться, что голоса из обеих редакций доходят. Это шаг за шагом разбирает руководство по настройке NuVotifier.