Как пустить телефоны на свой Java-сервер: Geyser и Floodgate
BedrockНа телефонах играет очень много народу, а держать отдельный Bedrock-сервер — это второй мир, вторая экономика и вдвое больше работы. Geyser решает задачу иначе: он переводит протокол, и Bedrock-игроки заходят на ваш обычный Java-сервер.
Что понадобится
- Geyser — сам мост. Ставится как плагин в
plugins(для Paper, Spigot, Purpur) либо как отдельное приложение рядом с сервером. - Floodgate — почти обязателен. Без него Bedrock-игроку нужен полноценный купленный аккаунт Java; с ним он заходит со своей Bedrock-учётки.
- Открытый UDP-порт, по умолчанию 19132.
Порядок действий
- Положите оба файла в
pluginsи перезапустите сервер — создадутся конфиги. - В конфиге Geyser проверьте
bedrock.port(по умолчанию 19132) иremote.port— порт вашего Java-сервера. - Убедитесь, что в конфиге включена связка с Floodgate (
auth-type: floodgate). - Откройте UDP-порт: на хостинге — через панель или запросом в поддержку, дома — пробросом на роутере.
- Перезапустите сервер и попробуйте зайти с телефона, добавив сервер вручную: IP и порт 19132.
Главная причина, по которой «не работает»
UDP-порт. Java-часть сервера работает по TCP, и если у вас открыт только он, Java-игроки заходят нормально, а Bedrock-клиент сервер даже не видит. Симптом узнаваемый: «с компьютера всё хорошо, с телефона сервера нет в списке».
Спрашивайте про UDP до оплаты тарифа. Не все хостинги его дают, и вернуть деньги потом сложнее, чем задать вопрос заранее.
Сравнение хостингов по цене за гигабайт памяти — рейтинг хостингов.Ники и права
Floodgate по умолчанию добавляет Bedrock-никам префикс — обычно точку: .Steve. Это сделано, чтобы они не пересекались с Java-никами. Учтите при выдаче прав и при вводе команд: администратор с телефона — это .Admin, а не Admin.
Префикс настраивается, но убирать его совсем не стоит: совпадение ников создаёт путаницу и дыру в безопасности.
Чего ожидать не стоит
Полного совпадения не будет, и лучше сказать об этом игрокам заранее:
- интерфейсы, нарисованные плагинами через инвентарь, на Bedrock выглядят иначе, а часть сложных меню работает криво;
- ресурспаки и кастомные модели переносятся с оговорками;
- механика боя отличается — на PvP-проектах это ощутимое преимущество или неудобство, смотря с какой стороны;
- моды Bedrock не заработают: мир остаётся Java.
Нагрузка
Geyser тратит ресурсы на перевод протокола — это процессор и немного памяти на каждого Bedrock-игрока. На маленьком тарифе с одним ядром десяток телефонных игроков ощущается. Закладывайте запас, если рассчитываете на такую аудиторию.
Прикинуть память под сборку и онлайн: калькулятор RAM.Частые вопросы
Нужен ли Bedrock-игроку аккаунт Java?
С одним Geyser — да. Чтобы заходить со своей Bedrock-учётки, ставят ещё и Floodgate.
Почему Bedrock-клиент не видит сервер?
Почти всегда закрыт UDP-порт, по умолчанию 19132. У многих хостингов его нужно запрашивать отдельно.