
Floodgate: Соединяя серверы Bedrock и Java в 2026
GeyserMC/Floodgate
Плагин в гибридном режиме для подключения через Geyser к серверам в онлайн-режиме.
Просмотр на GitHub ↗Запуск сервера Minecraft, который принимает как игроков Java, так и Bedrock, всегда был технической головоломкой. Floodgate - это недостающая часть, которая делает это возможным, позволяя вашим друзьям на Bedrock (на мобильных устройствах, консолях или Windows 11 Edition) присоединяться к одному и тому же серверу, что и игроки Java, не нарушая аутентификацию и не создавая головной боли для админов.
Что делает Floodgate
Floodgate - это плагин, который решает конкретную проблему: позволяет игрокам Bedrock аутентифицироваться на серверах Java в онлайн-режиме. Вот проблема, которую он решает. Обычно серверы в онлайн-режиме принимают только игроков Java Edition с действительными аккаунтами Mojang, которые вошли через официальный лаунчер. Игроки Bedrock Edition (независимо от того, играют ли они на мобильных устройствах, Switch, PlayStation или Windows 11) не имеют аккаунтов Mojang и не входят в эту систему аутентификации. Они не могут войти в систему.
Здесь на сцену выходит Geyser. Geyser переводит протокол Bedrock в протокол Java, чтобы игроки Bedrock могли технически подключаться к серверам Java. Однако Geyser сам по себе не решает проблему аутентификации. Вы можете запустить Geyser на серверах в офлайн-режиме (где любой игрок присоединяется под любым именем), но это оставит вас уязвимым для грифинга, имитации и уничтожения вашего сервера игроками. Если вы хотите реальный, защищенный сервер с реальным прогрессом игроков и последствиями, вам нужен онлайн-режим.
Floodgate мостит этот разрыв. Но он обеспечивает шифрование и систему токенов, которые доказывают вашему серверу Java: «Этот игрок Bedrock легитимен и проверен Geyser». Нет фальшивых аккаунтов. Нет имитации. Только криптографически подписанные рукопожатия.
С поверхности это кажется простым, но за кулисами он выполняет шифрование, валидацию токенов, проверку аккаунтов и управление сессиями, чтобы все это работало плавно.
Почему запускать кросс-платформенный сервер
Перед настройкой спросите себя честно: действительно ли вам это нужно?
Кросс-платформенные серверы действительно полезны, если вы в одной из следующих ситуаций. Вы пытаетесь построить более большую общину, а игроки Bedrock значительно превосходят по численности игроков Java. Вы хотите поддержать друзей на разных платформах без запуска двух отдельных серверов. Вы строите устойчивую экономику или общий мир и хотите, чтобы все были в одном месте, переживая это вместе.
Не каждый сервер нуждается в этом. Если вы запускаете небольшой ванильный реалм с тремя близкими друзьями, офлайн-режим Geyser подходит. Вам не нужна безопасность с дополнительной нагрузкой. Но если вы хотите процветающий публичный сервер с прогрессом, который имеет значение, общими экономиками, гильдиями или системами квестов? Это стоит усилий.
Как установить и настроить
Вам понадобится три вещи. Сервер Java Edition, работающий на Paper, Spigot или другой совместимой серверной программе. Установленный Geyser (обычно как плагин в том же серверном экземпляре). Сам Floodgate, который вы скачиваете с официального сайта GeyserMC и помещаете в папку плагинов.
При первом запуске Floodgate автоматически генерирует ключевую пару. Это пара RSA: открытый ключ и закрытый ключ. Закрытый ключ подписывает токены аутентификации, доказывающие, что игроки Bedrock реальны. Открытый ключ позволяет вашему серверу проверять эти подписи. Храните закрытый ключ в безопасности. Если кто-то украдет его, он сможет подделывать токены аутентификации и имитировать подключения Bedrock.
В файле конфигурации Geyser необходимо указать, что существует Floodgate. В конфигурации Geyser установите параметр auth-type соответствующим образом и укажите адрес вашего сервера Java. Если Geyser и Floodgate работают в одном экземпляре Paper (что является наиболее простой настройкой), эта связь происходит автоматически через внутренний IPC.
Один из моментов, который сбивает людей с толку: если Geyser и Floodgate находятся на разных машинах (например, Geyser на прокси-сервере, а ваш сервер Java - в другом месте), между ними нужна сетевая связь. Убедитесь, что ваш брандмауэр позволяет подключения от Geyser к вашему серверу Java по настроенному порту. Большинство людей запускают их вместе в одном экземпляре Paper, поэтому это обычно не проблема.
Как работает аутентификация
Вот поток. Игрок Bedrock запускает Minecraft на своем устройстве. Geyser перехватывает подключение. Устройство игрока Bedrock отправляет токен аутентификации Xbox Live в Geyser (или передает его локально, если Geyser находится на том же устройстве). Geyser проверяет у серверов Microsoft, реален ли токен Xbox Live.
После проверки Geyser создает токен Floodgate, включающий UUID и имя игрока Bedrock. Geyser подписывает этот токен закрытым ключом Floodgate и отправляет его на сервер Java. Сервер Java получает подписанный токен и проверяет подпись с помощью открытого ключа. Если подпись действительна, сервер доверяет, что подключение легитимно, и игрок входит в систему.
С точки зрения сервера Java это выглядит как любое другое легитимное подключение игрока. Игроки Java и Bedrock играют вместе в точно один и тот же мир, делят точно одну и ту же систему инвентаря и переживают точно один и тот же прогресс и экономику. Вы буквально не сможете отличить это по игровому процессу, если не проверите UUID игрока (игроки Bedrock получают UUID, полученный определенным образом из исходного UUID Bedrock, поэтому он остается постоянным между сессиями).
Если вы используете плагины, вы можете обнаружить, пришел ли игрок через Floodgate, и применить специальную логику, если хотите (например, ограничить определенные функции для Java или наоборот). Но по умолчанию поведение - полная унификация.
На самом деле, вот что я нашел удивительным: если вы используете инструменты, такие как Калькулятор Нитер-портала, чтобы помочь игрокам ориентироваться в Нитере между платформами, или наш Генератор текста для настраиваемой знаковики и сообщений чата, они работают идентично для игроков Bedrock и Java, как только Floodgate обрабатывает аутентификацию. Опыт игрока действительно объединен.
Общие проблемы, устранение неполадок и альтернативы
Неравенство версий между Floodgate и Geyser вызывает подавляющее большинство неудач аутентификации. Floodgate 2.x совместим с Geyser 2.x. Floodgate 1.x работает с Geyser 1.x. Если вы обновите один без обновления другого, получите ошибки валидации токенов. Обновляйте их вместе, а не по отдельности.
Ваш сервер должен работать в онлайн-режиме. Если он в офлайн-режиме, Floodgate не будет работать правильно. Да, онлайн-режим имеет небольшую производительную нагрузку (Microsoft аутентифицирует каждого игрока при входе), но безопасность стоит этого.
Игроки Bedrock за ограничивающими корпоративными брандмауэрами или определёнными VPN иногда испытывают трудности с установлением подключения через Geyser. Это проблема инфраструктуры сети, а не проблема Floodgate. Если вы управляете глобальным сервером и замечаете проблемы с подключением из определенных регионов, рассмотрите запуск прокси Geyser ближе к вашим целевым игрокам.
При неудачной аутентификации сначала проверьте логи Floodgate. Они обычно явно указывают, что пошло не так: плохая подпись токена, несоответствие версий, сетевой таймаут или блокировка брандмауэра. Чтение сообщений об ошибках спасает часы времени от отладки.
Теперь, вы, возможно, вообще не нуждаетесь в Floodgate. Это стоит признать. Плагины ViaVersion обрабатывают поддержку нескольких версий Java на одном сервере, но они не решают кросс-платформенную игру, как это делает Floodgate. Запуск двух полностью отдельных серверов (один для Java, один для Bedrock) и их синхронизация через общую базу данных архитектурно жизнеспособна, если вы хотите полную изоляцию. Некоторые платформы хостинга автоматически включают Geyser и Floodgate, что является наиболее простым путем, если вы не хотите настраивать это вручную.
Но если вы управляете своим собственным сервером Java и хотите открыть его для игроков Bedrock, сохраняя при этом безопасность онлайн-режима? Floodgate - это стандартный инструмент. Он зрелый, протестирован на серверах с тысячами одновременных игроков, и поддержка сообщества GeyserMC солидна. Проекту на GitHub 666 звезд, и он написан на Java, что делает его естественным выбором для экосистемы серверов Minecraft.
Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.
Комментарии
Пока нет комментариев. Станьте первым, кто поделится своим мнением!


