Как установить Floodgate для входа без лицензии Bedrock

Подготовка окружения на proxify.cloud

  1. Авторизуйтесь в панели proxify.cloud
    Откройте https://proxify.cloud, войдите в аккаунт и перейдите в раздел «Мои серверы». Выберите выделенный сервер с Ubuntu, на котором развёрнут Minecraft-сервер.

  2. Откройте консоль сервера
    В панели управления сервером нажмите кнопку «Консоль» (Console) или «VNC». Это даст доступ к CLI Ubuntu от root. Альтернативно подключитесь по SSH:

    ssh root@<IP-адрес_сервера>
    

    IP-адрес указан в карточке сервера на proxify.cloud во вкладке «Сеть».

  3. Обновите систему и установите зависимости
    Выполните команды последовательно:

    apt update && apt upgrade -y
    apt install -y curl wget unzip openjdk-21-jre-headless screen
    

    Примечание: Floodgate требует Java 21+. На Ubuntu 22.04/24.04 пакет openjdk-21-jre-headless доступен в стандартных репозиториях.

Определение типа ядра сервера и директории

  1. Найдите рабочую директорию сервера
    Обычно на выделенных серверах proxify.cloud файлы лежат в /opt/minecraft, /home/minecraft или /srv/minecraft. Проверьте:

    ls -la /opt/minecraft /home/minecraft /srv/minecraft 2>/dev/null | head -30
    

    Допустим, сервер находится в /opt/minecraft. Перейдите туда:

    cd /opt/minecraft
    
  2. Определите используемое ядро
    Выведите список файлов:

    ls -la
    
    • Если есть paper-*.jar, purpur-*.jar, spigot-*.jar — это Paper/Spigot/Purpur (плагины в plugins/).
    • Если есть fabric-server-*.jar или forge-*.jar — это Fabric/Forge (моды в mods/).
    • Если есть bungeecord-*.jar, velocity-*.jar или waterfall-*.jar — это прокси (плагины в plugins/).

    Запишите точное имя jar-файла запуска, например paper-1.21.1-123.jar.

Установка Geyser (обязательный пререквизит)

  1. Скачайте последнюю версию Geyser-Spigot (или под ваше ядро)
    Для Paper/Spigot/Purpur:

    mkdir -p plugins
    cd plugins
    wget -O Geyser-Spigot.jar https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot
    cd ..
    

    Для Fabric (поместите в mods/):

    mkdir -p mods
    cd mods
    wget -O Geyser-Fabric.jar https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/fabric
    cd ..
    

    Для BungeeCord/Velocity/Waterfall (в plugins/ прокси):

    wget -O Geyser-BungeeCord.jar https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/bungeecord
    
  2. Запустите сервер один раз для генерации конфига Geyser
    Пример для Paper:

    screen -S mc java -Xms2G -Xmx4G -jar paper-1.21.1-123.jar --nogui
    

    Дождитесь сообщения Done!, затем остановите сервер командой stop в консоли screen. Отсоединитесь: Ctrl+A, затем D.

  3. Настройте config.yml Geyser
    Файл находится в plugins/Geyser-Spigot/config.yml (или mods/Geyser-Fabric/config.yml). Откройте:

    nano plugins/Geyser-Spigot/config.yml
    

    Найдите и измените ключевые параметры:

    bedrock:
      address: 0.0.0.0
      port: 19132
      clone-remote-port: false
      motd1: "Geyser MC Server"
      motd2: "Running on proxify.cloud"
    remote:
      address: "127.0.0.1"
      port: 25565
      auth-type: "floodgate"
      allow-password-authentication: true
      use-proxy-protocol: false
    
    • remote.port — порт вашего Java-сервера (по умолчанию 25565).
    • auth-type: "floodgate" — критически важно для работы без лицензии. Сохраните: Ctrl+O, Enter, Ctrl+X.

Установка Floodgate

  1. Скачайте Floodgate под ваше ядро
    Для Paper/Spigot/Purpur (в plugins/):

    cd /opt/minecraft/plugins
    wget -O floodgate-spigot.jar https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot
    cd ..
    

    Для Fabric (в mods/):

    cd /opt/minecraft/mods
    wget -O floodgate-fabric.jar https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/fabric
    cd ..
    

    Для BungeeCord/Velocity/Waterfall (в plugins/ прокси):

    cd /opt/minecraft/plugins
    wget -O floodgate-bungee.jar https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/bungeecord
    cd ..
    
  2. Сгенерируйте ключ Floodgate
    Запустите сервер снова (тот же screen):

    screen -r mc
    # или если сессия закрыта:
    screen -S mc java -Xms2G -Xmx4G -jar paper-1.21.1-123.jar --nogui
    

    Дождитесь полной загрузки. В логах появится:

    [Floodgate] Generated new key pair, public key:
    <BASE64_STRING>
    

    Скопируйте эту строку (весь BASE64). Остановите сервер (stop).

  3. Пропишите публичный ключ в конфиге Geyser
    Откройте plugins/Geyser-Spigot/config.yml:

    nano plugins/Geyser-Spigot/config.yml
    

    Найдите секцию floodgate и вставьте ключ:

    floodgate:
      key-file: "public-key.pem"
    

    Создайте файл ключа рядом с конфигом:

    echo "<ВАШ_BASE64_КЛЮЧ>" | base64 -d > plugins/Geyser-Spigot/public-key.pem
    

    Важно: Файл должен быть в бинарном формате (DER/PEM), команда выше декодирует base64 в бинарник.

    Альтернативно, если Floodgate создал файл floodgate-public-key.pem в папке сервера, просто скопируйте его:

    cp floodgate-public-key.pem plugins/Geyser-Spigot/public-key.pem
    
  4. Настройте config.yml Floodgate (опционально, но рекомендуется)
    Файл: plugins/floodgate-spigot/config.yml (или mods/floodgate-fabric/config.yml).

    nano plugins/floodgate-spigot/config.yml
    

    Основные параметры:

    key-file: "floodgate-public-key.pem"
    velocity-key-file: ""  # оставьте пустым, если не Velocity
    player-link:
      enable: true
      require-link: false
      allowed: true
    command-suggestions: true
    

    player-link.enable: true позволяет привязывать Java- и Bedrock-аккаунты командой /linkaccount.

Настройка фаервола и сети на proxify.cloud

  1. Откройте UDP-порт 19132 в панели proxify.cloud

    • В панели управления сервером перейдите во вкладку «Сеть» → «Фаервол».
    • Добавьте правило:
      • Протокол: UDP
      • Порт: 19132
      • Действие: Allow
      • Комментарий: Geyser Bedrock
    • Сохраните изменения. Правила применяются мгновенно.
  2. Проверьте iptables/nftables внутри Ubuntu (на всякий случай)

    ss -lunp | grep 19132
    

    Должен появиться процесс java на 0.0.0.0:19132. Если нет — проверьте ufw:

    ufw allow 19132/udp
    ufw reload
    

Финальный запуск и проверка

  1. Запустите сервер в фоновом режиме через systemd (рекомендуется для выделенных серверов proxify.cloud)
    Создайте юнит:

    nano /etc/systemd/system/minecraft.service
    

    Содержимое:

    [Unit]
    Description=Minecraft Paper Server with Geyser+Floodgate
    After=network.target
    
    [Service]
    WorkingDirectory=/opt/minecraft
    User=root
    ExecStart=/usr/bin/java -Xms2G -Xmx4G -jar paper-1.21.1-123.jar --nogui
    Restart=on-failure
    RestartSec=10
    StandardInput=tty-force
    
    [Install]
    WantedBy=multi-user.target
    

    Включите и запустите:

    systemctl daemon-reload
    systemctl enable minecraft
    systemctl start minecraft
    

    Логи: journalctl -u minecraft -f.

  2. Проверьте вход с Bedrock

    • Запустите Minecraft Bedrock (Windows 10/11, Android, iOS, консоли через DNS-прокси).
    • Добавьте сервер: IP — ваш IP proxify.cloud, порт — 19132.
    • Зайдите. Вы должны войти без запроса лицензии Microsoft/Xbox Live.
    • В консоли сервера появится: [Geyser] <Игрок> joined with Floodgate.
  3. Привязка аккаунтов (опционально)
    Игрок на Bedrock вводит в чате:

    /linkaccount
    

    Получает код. На Java-клиенте (или в консоли) вводит:

    /linkcode <код>
    

    Теперь прогресс, инвентарь и права общие.


Возможные проблемы и решения

Проблема Причина Решение
Bedrock-клиент висит на «Locating server» / таймаут Порт 19132/UDP закрыт на уровне панели proxify.cloud или Ubuntu. Проверьте вкладку «Сеть → Фаервол» в панели proxify.cloud. Убедитесь, что правило UDP 1