FirstMine

Geyser и кроссплей в Minecraft: как объединить Java и Bedrock на одном сервере

Разбираем, как плагин GeyserMC связывает Java и Bedrock игроков на одном сервере: установка, конфиг, порт, Floodgate и типичные грабли.

Зачем вообще нужен Geyser

Java и Bedrock — два разных издания Minecraft с разным сетевым протоколом. Без прокси-слоя игрок с телефона, консоли или Windows-версии просто не подключится к обычному Java-серверу. GeyserMC решает эту проблему: он на лету транслирует протокол Bedrock в протокол Java, так что владельцам сервера не нужно поднимать отдельный Bedrock-сервер — игроки с разных платформ заходят на один и тот же мир.

Работает Geyser как плагин (для Paper, Spigot, Fabric, Forge) или как отдельный прокси (для BungeeCord, Velocity, ViaProxy) — вариант выбирается под ядро вашего сервера.

Минимальные требования

  • Версия сервера — от 1.13 и новее (более старые версии плагин не поддерживает).
  • Java на самом сервере — рекомендуется 17+, лучше сразу ставить 21: на более старых сборках Geyser может работать нестабильно.
  • Отдельный свободный порт для Bedrock-подключений — про него ниже.
  • Заметно больше ресурсов, чем без плагина: каждый Bedrock-игрок нагружает сервер сильнее, чем Java-игрок, потому что Geyser постоянно конвертирует пакеты между протоколами. На слабых недорогих тарифах это часто выливается в лаги при 5-10 одновременных Bedrock-подключениях.

Установка: пошагово

  1. Скачайте jar-файл под своё ядро с сайта GeyserMC (для Paper/Spigot — сборка Spigot, для Velocity — сборка Velocity и т.д.).
  2. Положите файл в папку plugins.
  3. Перезапустите сервер целиком, а не команду /reload — часть механик Geyser с горячей перезагрузкой плагинов не работает корректно.
  4. После первого запуска в plugins/Geyser-Spigot/ (путь зависит от ядра — для Fabric это Geyser-Fabric, для Velocity Geyser-Velocity) появится config.yml.

Что настроить в конфиге

Параметр За что отвечает
bedrock.port отдельный порт, на который заходят Bedrock-игроки — не совпадает с основным портом Java-сервера
bedrock.motd-1 / motd-2 текст, который видят в списке серверов на Bedrock
bedrock.server-name имя сервера в меню на Bedrock-клиенте
remote.auth-type online — обычная лицензионная Java-аутентификация, offline — без проверки, floodgate — вход через Floodgate (см. ниже)

Порт под Bedrock нужно сначала открыть в панели хостинга (создать новый порт, не трогая основной — с ним связана кнопка "Make Primary", её не нажимать), скопировать номер и вставить в config.yml.

Floodgate: чтобы Bedrock-игроки заходили без Java-аккаунта

Отдельный плагин Floodgate ставится рядом с Geyser (тоже в plugins, тоже требует перезапуск сервера) и позволяет игрокам Bedrock подключаться вообще без покупки Java-версии и без Microsoft-аккаунта для аутентификации на сервере. Без Floodgate придётся либо ставить auth-type: offline (отключает проверку вообще для всех, что снижает защиту сервера), либо требовать от Bedrock-игроков полноценный Java-аккаунт.

Совместимость версий

Bedrock-клиент и Java-сервер должны быть на близких версиях. Если сервер на устаревшей версии Java, а у игрока свежий Bedrock-клиент — подключение может рваться на этапе загрузки мира. Лечится связкой ViaVersion + ViaBackwards: эти плагины позволяют клиентам более новых версий заходить на сервер со старой версией протокола.

Полезные команды

  • /geyser — список зарегистрированных команд.
  • /geyser dump — отладочная информация для баг-репортов (полезно, если что-то не работает и нужно спросить в поддержке).
  • /geyser list — список игроков, подключённых через Geyser.
  • /geyser reload — перезагрузка конфига без рестарта сервера.
  • /geyser kick — отключить всех игроков, подключённых через Geyser.

Итог

Geyser — рабочий и проверенный способ собрать Java- и Bedrock-игроков в одном мире без второго сервера. Основные грабли — это забытый отдельный порт, обычный /reload вместо полного рестарта и недооценка нагрузки на слабом тарифе. Если вы объединяете платформы специально ради общего онлайна и рейтинга — стоит сразу закладывать более мощный хостинг, чем для чисто Java-проекта того же размера.

FAQ

Нужна ли лицензия Java всем игрокам?
Нет, если поставить Floodgate — Bedrock-игроки заходят без Java-аккаунта. Без Floodgate им либо нужен Java-аккаунт (online), либо сервер должен работать в offline режиме без проверки вообще.

Какая минимальная версия сервера поддерживается?
1.13 и выше. На более старых версиях Geyser не запустится.

Почему у Bedrock-игроков лагает сервер сильнее, чем у Java?
Каждое Bedrock-подключение требует постоянной конвертации пакетов между протоколами — это ощутимая дополнительная нагрузка на CPU, особенно при большом числе одновременных игроков.

Что делать, если Bedrock-клиент не может зайти из-за разницы версий?
Поставить ViaVersion и ViaBackwards — они сглаживают разницу протоколов между старым сервером и новым клиентом (и наоборот).

Частые вопросы

Нужна ли лицензия Java всем игрокам?

Нет, если поставить Floodgate — Bedrock-игроки заходят без Java-аккаунта. Без Floodgate им либо нужен Java-аккаунт (online), либо сервер должен работать в offline режиме без проверки вообще.

Какая минимальная версия сервера поддерживается?

1.13 и выше. На более старых версиях Geyser не запустится.

Почему у Bedrock-игроков лагает сервер сильнее, чем у Java?

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

Что делать, если Bedrock-клиент не может зайти из-за разницы версий?

Поставить ViaVersion и ViaBackwards — они сглаживают разницу протоколов между старым сервером и новым клиентом (и наоборот).