Floodgate - gracze Bedrock na serwerze Java
Floodgate to plugin od zespołu GeyserMC, dzięki któremu gracze Bedrock Edition wchodzą na Twój serwer Java bez kupowania Javy. Wystarczy im konto Microsoft (Xbox), na którym grają na telefonie, konsoli albo Windows.
Co to jest Floodgate
Floodgate to darmowy plugin open source (licencja MIT) od zespołu GeyserMC. Instalujesz go obok Geysera: Geyser tłumaczy protokół Bedrock na Javę, a Floodgate pozwala graczom Bedrock wejść na serwer w trybie online bez konta Java. Bez Floodgate Geyser domyślnie (auth-type: online) każe graczowi Bedrock zalogować się kontem Minecraft Java.
Floodgate daje też graczom Java widok skinów graczy Bedrock, API dla innych pluginów (formularze Bedrock, sprawdzanie, kto gra przez Bedrock) oraz łączenie kont Java i Bedrock. Repozytorium projektu powstało w listopadzie 2019 roku. Najnowsza wersja to 2.2.5, build 141 z 17 września 2026, zaktualizowana do Javy 26.3. Pobierzesz ją ze strony GeyserMC, a kod źródłowy znajdziesz na GitHubie.
Sam Geyser opisujemy na stronie GeyserMC w naszej wiki, a pełną konfigurację crossplay z NetherNet w poradniku crossplay Java i Bedrock na serwerze.
Jak działa z GeyserMC
Serwer Java w trybie online sprawdza każdego gracza na serwerach Mojang. Gracz Bedrock nie ma konta Java, więc bez pośrednika nie przejdzie tej weryfikacji. Floodgate działa tak:
- Gracz Bedrock łączy się z Geyserem, który sprawdza jego logowanie Xbox.
- Geyser wysyła na serwer Java dane gracza zaszyfrowane kluczem
key.pem, który wygenerował Floodgate. - Floodgate na serwerze odszyfrowuje te dane i wpuszcza gracza bez weryfikacji konta Java.
Gdy Geyser i Floodgate działają na tym samym serwerze, Geyser sam pobiera klucz od Floodgate. Przy osobnym Geyserze, np. Standalone, wskaż klucz wygenerowany przez Floodgate w opcji advanced.floodgate-key-file w konfiguracji Geysera (domyślnie key.pem).
Nie wyłączaj w Geyserze sprawdzania logowania Bedrock (validate-bedrock-login). Według GeyserMC bez niego każdy może podszyć się pod dowolny nick, a funkcje Floodgate, w tym skiny i łączenie kont, przestają działać.
Instalacja
Na Paperze i Spigocie:
- Pobierz
floodgate-spigot.jarze strony GeyserMC. - Wgraj plik do folderu
plugins/i uruchom serwer ponownie. Floodgate utworzy swój folder zconfig.ymli kluczemkey.pem. - W konfiguracji Geysera (
plugins/Geyser-Spigot/config.yml) ustaw w sekcjijava:
java:
auth-type: floodgate Na koniec zrestartuj serwer jeszcze raz. Na Fabric i NeoForge Floodgate jest modem z Modrinth: wrzucasz go do folderu mods (Fabric potrzebuje też Fabric API) i ustawiasz auth-type tak samo. Serwer Fabric za proxy Velocity potrzebuje dodatkowo skonfigurowanego FabricProxyLite, żeby odbierał dane z proxy.
Konfiguracja
Najważniejsze domyślne ustawienia z config.yml Floodgate:
key-file-name: key.pem
username-prefix: "."
replace-spaces: true
player-link:
enabled: true
require-link: false
enable-own-linking: false
allowed: true
link-code-timeout: 300
type: sqlite
enable-global-linking: true require-link: truewpuszcza tylko graczy z połączonym kontem Java.enable-own-linkingwłącza własną bazę połączeń. Najpierw zainstaluj rozszerzenie bazy, inaczej pojawią się błędy.enable-global-linkingwedług komentarza w pliku należy wyłączyć tylko wtedy, gdy serwer nie ma dostępu do internetu albo ma go ograniczony.- Sekcja
disconnectzawiera komunikaty dla graczy z nieprawidłowym kluczem albo nieaktualnym Geyserem.
Floodgate na proxy ma dodatkowo opcję send-floodgate-data, opisaną niżej przy BungeeCord i Velocity.
Prefiks graczy Bedrock
Floodgate dodaje przed nickiem gracza Bedrock prefiks, żeby uniknąć konfliktów z nickami z Javy. Domyślnie to kropka: gracz Steve z Xboxa jest na serwerze jako .Steve. Opcja replace-spaces: true zamienia spacje w nicku Xbox na podkreślniki. Komentarz w konfiguracji radzi wybrać prefiks bez liter i cyfr, żeby nicki z obu edycji nigdy się nie pokryły.
Prefiks zmienisz w username-prefix, a pusty "" wyłącza go całkiem. GeyserMC odradza usuwanie prefiksu, jeśli nie masz pewności, że nikt nie ma takiego samego nicku w obu edycjach: zduplikowane nicki psują np. teleportację. Na niektórych starszych wersjach Papera po zmianie prefiksu trzeba też wyłączyć serwer i usunąć usercache.json.
Prefiks jest częścią nazwy gracza, więc podawaj go w komendach, banach i rangach. Gdy komenda nie przyjmuje nicku, weź go w cudzysłów: /tp ".Steve". UUID gracza Bedrock ma postać 00000000-0000-0000-xxxx-xxxxxxxxxxxx, gdzie końcówka to XUID jego konta Xbox zapisany szesnastkowo.
Łączenie kont (Global Linking)
Global Linking łączy konto Bedrock z kontem Java na wszystkich serwerach z Floodgate, które mają tę funkcję włączoną, a domyślnie jest włączona. Gracz robi to raz:
- Wchodzi na serwer
link.geysermc.orgz obu kont: z Javy na porcie 25565, z Bedrocka na 19132. - Na jednym koncie wpisuje
/linkaccounti dostaje kod. - Na drugim koncie wpisuje
/linkaccountz tym kodem. - Serwer wyrzuca oba konta z komunikatem o udanym połączeniu.
Od tej chwili gracz na obu platformach korzysta z danych konta Java: ekwipunku, pozycji i postępów. Danych z konta Bedrock nie zobaczy aż do rozłączenia, więc rzeczy przenieś na konto Java przed połączeniem. Rozłączenie to komenda /unlinkaccount na tym samym serwerze.
Lokalne łączenie działa obok Global Linking i ma pierwszeństwo. Pobierz rozszerzenie bazy ze strony GeyserMC (sqlite albo mysql, gdy masz już bazę lub kilka proxy), wgraj je do folderu Floodgate, ustaw enable-own-linking: true i type, a potem zrestartuj serwer. W sieci wystarczy zrobić to na proxy.
Formularze Bedrock (Cumulus)
Bedrock ma natywne formularze, których nie ma w Javie. Floodgate i Geyser udostępniają je pluginom przez API Cumulus. Są trzy typy:
- ModalForm - tytuł, treść i dwa przyciski, np. potwierdzenie zakupu.
- SimpleForm - lista przycisków, także z obrazkami, np. menu warpów.
- CustomForm - pola tekstowe, suwaki, przełączniki i listy rozwijane.
Przykład dla Floodgate API:
// Sprawdź, czy gracz gra przez Bedrock
FloodgateApi api = FloodgateApi.getInstance();
if (api.isFloodgatePlayer(player.getUniqueId())) {
api.sendForm(player.getUniqueId(), SimpleForm.builder()
.title("Wybierz tryb gry")
.content("Dokąd chcesz trafić?")
.button("Survival")
.button("Kreatywny")
.validResultHandler(response -> {
int clicked = response.clickedButtonId();
// obsłuż wybór...
})
.closedOrInvalidResultHandler(() -> {
// gracz zamknął formularz
}));
} To narzędzie dla autorów pluginów. Adminom przydadzą się raczej dodatki: FloodgatePlaceholders udostępnia dane Floodgate w PlaceholderAPI, a floodgate-skript, plugin spoza zespołu GeyserMC, dodaje obsługę Skript.
Komendy i uprawnienia
| Komenda | Uprawnienie | Domyślnie |
|---|---|---|
/fwhitelist add Nick, /fwhitelist remove Nick | floodgate.command.fwhitelist | OP |
/linkaccount | floodgate.command.linkaccount | wszyscy |
/unlinkaccount | floodgate.command.unlinkaccount | wszyscy |
/floodgate | floodgate.command.floodgate (podkomendy firewall i version tylko OP) | wszyscy |
/fwhitelist dopisuje gracza Bedrock do whitelist.json bez podawania prefiksu, a zamiast nicku przyjmie też UUID. Zadziała tylko wtedy, gdy ten gracz był już na dowolnym serwerze z Geyserem. Komendy /linkaccount i /unlinkaccount na Twoim serwerze dotyczą lokalnego łączenia kont. Rangi graczom Bedrock nadasz w LuckPerms po ich nicku z prefiksem albo UUID. Jeśli LuckPerms nie przyjmuje nicków z prefiksem, GeyserMC radzi ustawić w jego konfiguracji allow-invalid-usernames: true.
Floodgate na BungeeCord i Velocity
W sieci serwerów Floodgate instalujesz na proxy: floodgate-bungee.jar albo floodgate-velocity.jar. Na serwerach za proxy potrzebujesz go tylko wtedy, gdy pluginy tam korzystają z API Floodgate. Przy okazji gracze Java lepiej zobaczą skiny graczy Bedrock. Wtedy:
- Zainstaluj Floodgate na proxy, a potem na serwerach (Floodgate-Spigot albo mod na Fabric).
- Włącz przekazywanie danych graczy:
ip_forwardwconfig.ymlBungeeCorda albo player information forwarding w Velocity. - W
spigot.ymlustawbungeecord: true. Przy Velocity sprawdź jego dokumentację, bo ma kilka trybów przekazywania. - W konfiguracji Floodgate na proxy ustaw
send-floodgate-data: true. Domyślnie jestfalse, bo serwer bez Floodgate wyrzuci wtedy gracza. - Skopiuj
key.pemz folderu Floodgate na proxy do folderu Floodgate na każdym serwerze. - Zrestartuj serwery i proxy.
Geyser w sieci instalujesz tylko na proxy. Wszystkie serwery muszą przyjmować klientów Java 26.3, bo Geyser udaje takiego klienta, więc starsze wersje obsłużysz z ViaVersion. Same proxy opisujemy na stronach Velocity i BungeeCord.
Jeśli Paper wyrzuca graczy Bedrock z błędem Failed to verify username!, zainstaluj Floodgate także na serwerach za proxy albo, jak radzi GeyserMC, wyłącz perform-username-validation w sekcji unsupported-settings pliku config/paper-global.yml.
Floodgate a NetherNet (Bedrock 26.60)
Bedrock 26.60, planowany na 27 października 2026, ma przestać łączyć się z serwerami przez RakNet. Zmiana dotyczy Geysera, nie Floodgate: w konfiguracji Floodgate nie ma ustawień portów ani transportu. Blog GeyserMC o przejściu na NetherNet nie wymienia też aktualizacji Floodgate.
Po stronie Geysera potrzebujesz najnowszego buildu (20 października 2026: 2.12.0, build 1267), opcji transport: nethernet albo both na czas przejścia i portu Geysera otwartego dla TCP i UDP. Dokładne linie konfiguracji, warianty dla hostingu z jednym portem i listę kontrolną znajdziesz w poradniku crossplay Java i Bedrock na serwerze.
Porady i pluginy kolidujące
- Chroń key.pem. GeyserMC ostrzega, że ten klucz pozwala ominąć logowanie Java. Nie wrzucaj go do publicznych repozytoriów ani paczek z konfiguracją.
- Skiny z opóźnieniem. Floodgate przesyła skiny graczy Bedrock przez Global API GeyserMC i MineSkin. Przy długiej kolejce skin może pojawić się po chwili.
- Biała lista bez /fwhitelist. Możesz też wyłączyć whitelistę, wpuścić gracza, dodać go przez
/whitelist add ".Nick"i włączyć ją ponownie albo wpisać jego UUID dowhitelist.jsoni wykonać/whitelist reload. - Tryb offline. GeyserMC nie wspiera serwerów w trybie offline, a wpuszczanie graczy bez uwierzytelnienia nazywa niebezpiecznym i niezgodnym z EULA Mojang. Global Linking wymaga też
online-mode=truewserver.properties, inaczej połączony gracz Bedrock dostaje inny UUID niż na Javie i traci postępy.
Floodgate zmienia proces logowania, więc część pluginów sprawia problemy. Dokumentacja GeyserMC wymienia:
- FastLogin - nie pozwala Floodgate dodać prefiksu.
- ExploitFixer - uznaje połączenia graczy Floodgate za podszywanie się pod UUID. Wyłącz w nim opcję
uuidspoof. - JPremium - zmienia UUID gracza, więc Floodgate nie znajdzie jego danych.
- LibHatesMods - powoduje błąd uwierzytelniania.
- ProtocolSupportBungee i SayNoToMcLeaks - psują albo blokują logowanie Floodgate. Zamiast ProtocolSupport GeyserMC poleca ViaBackwards.
Kompatybilność
| Platforma | Plik | Uwagi |
|---|---|---|
| Paper, Spigot i ich forki (np. Purpur) | floodgate-spigot.jar | plugin deklaruje też obsługę Folii |
| BungeeCord | floodgate-bungee.jar | instalacja na proxy |
| Velocity | floodgate-velocity.jar | instalacja na proxy |
| Fabric | mod floodgate z Modrinth | wymaga Fabric API, za Velocity także FabricProxyLite |
| NeoForge | mod floodgate z Modrinth | razem z Geyser-NeoForge |
Floodgate 2.2.5 (build 141) to aktualizacja do Javy 26.3. Mod na Modrinth ma tagi wersji do 26.3 i ponad 550 tys. pobrań (stan na 20 października 2026). Wersje Bedrock wyznacza Geyser: dziś obsługuje Bedrock 26.30 - 26.52 i Javę 26.3, a starsze serwery Java przez ViaVersion.
Floodgate nie działa na hybrydach łączących Forge albo Fabric z Bukkitem, np. Magma, Mohist czy Cardboard. GeyserMC radzi postawić taki serwer za proxy BungeeCord albo Velocity i zainstalować Floodgate na proxy.
Floodgate działa tylko razem z Geyserem, więc zacznij od strony GeyserMC. Serwery, na które gracze Bedrock już wchodzą, znajdziesz na liście serwerów z crossplay i wśród serwerów Bedrock, a inne wtyczki w katalogu pluginów.