Zaloguj się Dodaj swój serwer

PoradnikDla właścicieli serwerów

Jak skonfigurować Geyser i Floodgate dla graczy Bedrocka

Konfiguracja Geysera i Floodgate na Paperze lub Velocity krok po kroku, NetherNet przed Bedrockiem 26.60, port 19132 dla TCP i UDP i test z zewnątrz.

Redakcja ServerList Opublikowano 13 min czytania
Geyser + FloodgateTCP 25565UDP 19132Nicki z Bedrocka mają prefiks

Geyser pozwala graczom Bedrocka na telefonach, tabletach, konsolach i Windowsie wejść na twój serwer Java, bo tłumaczy między obiema edycjami, a Floodgate wpuszcza ich bez konta Java. Zainstaluj oba na serwerze Paper albo na proxy Velocity, ustaw w Geyserze transport na both, otwórz port Bedrock dla TCP i UDP, a potem sprawdź spoza swojej sieci, czy gracz Bedrocka naprawdę się dostaje.

Ten ostatni krok pomija większość właścicieli. Nasz pinger wysyła co minutę ping Bedrock do każdego wpisu crossplay, który podaje adres Bedrock, a w ostatnich 30 dniach 21 z 93 wpisów, na których dało się grać na Javie, nie odpowiedziało na żaden, a tylko 52 odpowiadało co najmniej w 90% przypadków. Kiedy to pisaliśmy 18 października 2026, było to 94 wpisy, z czego 20 nigdy nie odpowiedziało na Bedrocku, a 53 odpowiadały niezawodnie. Właściciel zepsutej konfiguracji crossplay zwykle nic o tym nie wie, bo nikt na Javie tego nie zauważa.

Jedna data liczy się teraz. Bedrock 26.60 zaplanowano na 27 października 2026 i od tej wersji klienci Bedrock przestają łączyć się przez RakNet, czyli transport, którego Geyser domyślnie wciąż używa. Komunikat GeyserMC o NetherNet jest w tej sprawie jednoznaczny: po tej dacie gracze Bedrocka nie wejdą na serwery, które nie dokonały zmiany. Każdy krok poniżej już ją zawiera.

Jak działają Geyser i Floodgate

Geyser stoi między klientem Bedrock a twoim serwerem Java. Przyjmuje połączenie z Bedrocka, otwiera w imieniu gracza połączenie Java i tłumaczy wszystko pomiędzy: chunki, encje, ekwipunki, czat, dźwięki. Twój serwer widzi po prostu jednego klienta Javy więcej. Ponieważ Geyser naśladuje aktualnego klienta Javy, twój serwer musi przyjmować tę wersję, czyli w chwili pisania Javę 26.3. Starszy serwer potrzebuje ViaVersion, żeby przyjął nowszego klienta.

Floodgate rozwiązuje problem kont. Gracz Bedrocka ma konto Microsoft i gamertag Xbox, a nie profil Java, więc zwykły serwer w trybie online by go odrzucił. Z Floodgate Geyser poręcza za gracza za pomocą wspólnego pliku klucza o nazwie key.pem, a Floodgate wpuszcza go pod wygenerowaną tożsamością Java: gamertagiem z prefiksem (domyślnie kropką, czyli .Steve) i UUID zbudowanym z jego identyfikatora użytkownika Xbox, w postaci 00000000-0000-0000-xxxx-xxxxxxxxxxxx.

Drobna uwaga na marginesie: ponieważ ten UUID pochodzi z identyfikatora użytkownika Xbox, gracz Bedrocka, który zmienia gamertag, zachowuje ekwipunek i uprawnienia. Pluginy, które zapisują graczy po nicku, nie będą tak wyrozumiałe.

Co zmienia NetherNet

NetherNet to nowy transport Bedrocka, oparty na WebRTC. Klient najpierw wysyła przez TCP małe żądanie sieciowe z pytaniem, jak się połączyć, a ten krok nazywa się signaling, i dopiero potem gra przez UDP. Signaling przenosi też MOTD i liczbę graczy, które pokazuje lista serwerów Bedrocka. Dlatego port Bedrocka, który kiedyś potrzebował tylko UDP, teraz potrzebuje także TCP, i dlatego twój serwer może zniknąć z listy serwerów Bedrocka u graczy, mimo że port gry jest szeroko otwarty. Klienci od 26.40 mogą używać NetherNet, w pełni od 26.50, a od 26.60 muszą. Geyser obsługuje go od buildu 1237, ale domyślnie nadal używa RakNet.

Plugin, proxy czy wersja samodzielna: którą instalację wybrać

Twoja konfiguracjaZainstaluj Geysera naZainstaluj Floodgate na
Jeden serwer Paper albo PurpurTym serwerze (Geyser-Spigot)Tym samym serwerze (Floodgate-Spigot)
Sieć VelocityTylko na proxy (Geyser-Velocity)Na proxy, plus na każdym backendzie, jeśli pluginy na nim potrzebują Floodgate
Sieć BungeeCordTylko na proxy (Geyser-BungeeCord)Tak samo jak w Velocity
Serwer Fabric albo NeoForge tylko z modami po stronie serweraNa serwerze (Geyser-Fabric albo Geyser-NeoForge)Na serwerze (mod Floodgate, Fabric potrzebuje też Fabric API)
Serwer, na który nie możesz dodać pluginówGeyser Standalone na innej maszynie, Java 21 lub nowszaNa serwerze Java, jeśli możesz, w przeciwnym razie gracze potrzebują kont Java

W sieci Geyser trafia na proxy i nigdzie indziej. Gracze Bedrocka łączą się z proxy jak wszyscy, a proxy przenosi ich między backendami.

Instalacja na Paper

Sprawdzone z dokumentacją GeyserMC dla serwera Paper 26.3. Purpur i inne forki Papera wymagają tych samych kroków.

  1. Sprawdź, czy serwer przyjmuje klientów Java 26.3. Jeśli działa na starszej wersji, najpierw zainstaluj ViaVersion.

  2. Pobierz Geyser-Spigot i Floodgate-Spigot z geysermc.org/download, wrzuć oba pliki jar do plugins, uruchom serwer raz, żeby utworzyły swoje foldery, a potem go zatrzymaj.

  3. Otwórz plugins/Geyser-Spigot/config.yml i ustaw sekcję Bedrock:

    bedrock:
      address: 0.0.0.0
      port: 19132
      transport: both
      webrtc-port: 19134
  4. W tym samym pliku ustaw auth-type: floodgate. Znajduje się w sekcji o serwerze Java, którą aktualne buildy nazywają java:, a starsze remote:.

  5. Otwórz porty tak, jak opisano niżej, uruchom serwer i przeczytaj konsolę. Geyser wypisuje porty, które zajął, i większość problemów z NetherNet nazywa zwykłymi słowami.

Dlaczego both, a nie nethernet? Samo NetherNet wystarcza dla obecnych klientów. both wpuszcza też graczy, którzy wciąż są na wersjach od 26.30 do 26.34 i mówią tylko po RakNet, obsługuje klientów 26.40, którzy wciąż czytają MOTD przez RakNet, i utrzymuje działający nasłuch RakNet w Geyserze, z którym rozmawia nasza kontrola Bedrocka (więcej w części o sprawdzaniu z zewnątrz). Koszt to jeden dodatkowy port UDP: webrtc-port musi być wolny i musi się różnić od port, a 19134 to tylko przykład. Rada samego GeyserMC brzmi: przejść na nethernet i zamknąć port RakNet, gdy 26.60 wyjdzie, a gracze się zaktualizują.

Instalacja na Velocity

  1. Upewnij się, że Velocity i każdy backend przyjmują klientów Java 26.3. Geyser wchodzi na proxy jako klient Java tej wersji, a Velocity przekazuje wersję dalej, więc jeden przestarzały backend bez ViaVersion to backend, do którego gracze Bedrocka nie dotrą.
  2. Wrzuć Geyser-Velocity i Floodgate-Velocity do folderu plugins proxy, uruchom Velocity raz i zatrzymaj.
  3. Skonfiguruj plugins/Geyser-Velocity/config.yml dokładnie jak w przykładzie dla Papera, razem z auth-type: floodgate.
  4. Otwórz porty Bedrock na maszynie z proxy, a nie na backendach.
  5. Zostaw modern forwarding tak, jak już działa: player-info-forwarding-mode = "modern" w velocity.toml, a na każdym backendzie proxies.velocity.enabled: true w config/paper-global.yml z sekretem z pliku forwarding.secret Velocity.

Własne komendy Geysera, takie jak /geyser version i /geyser dump, działają na proxy, więc tam nadaj do nich uprawnienia, na przykład przez LuckPerms dla Velocity.

Floodgate na backendach

Floodgate musi być tylko na proxy. Dodaj go na backendy, gdy jakiś plugin na backendzie potrzebuje API Floodgate, na przykład żeby otwierać natywne formularze Bedrocka albo sprawdzać, czy gracz gra na Bedrocku.

  1. Zainstaluj Floodgate-Spigot na każdym backendzie.
  2. W configu Floodgate na proxy ustaw send-floodgate-data: true.
  3. Skopiuj key.pem z folderu Floodgate na proxy do folderu Floodgate każdego backendu.
  4. Zrestartuj backendy, a potem proxy.

Traktuj key.pem jak hasło. Kto go ma, może ominąć uwierzytelnianie Java dla dowolnego konta Bedrock na twoim serwerze, więc nigdy nie trafia do publicznego repozytorium, zrzutu ekranu dla wsparcia ani wspólnej paczki pluginów.

Porty: 19132 przez TCP i UDP oraz twój host

Domyślny port Bedrocka to 19132. Przy NetherNet i wbudowanym signalingu Geysera port Geysera musi być otwarty zarówno dla TCP, jak i UDP, więc nie może już dzielić numeru z twoim portem Java, który zajmuje już TCP. Przy transport: both UDP potrzebuje też webrtc-port.

  • Domowy router albo VPS. Przekieruj port Geysera jako TCP i UDP (wiele routerów nazywa to „Both”), a webrtc-port jako UDP. Potem otwórz te same porty w zaporze systemu operacyjnego. W ufw to sudo ufw allow 19132 (oba protokoły) i sudo ufw allow 19134/udp.
  • Docker. Opublikuj każdy protokół osobno: 19132:19132/tcp, 19132:19132/udp i 19134:19134/udp. Samo 19132:19132 publikuje tylko TCP.
  • Oracle Cloud. Otwórz porty na liście zabezpieczeń w chmurze (security list) i w zaporze samej instancji. Jedno bez drugiego nie wystarczy.
  • OVH i SoYouStart. Strona GeyserMC o przekierowaniu portów zaznacza, że reguły Bedrock zapory GAME nie obsługują jeszcze NetherNet. Dla portów Geysera użyj reguły Other.
  • Hostingi z jednym portem. Stara sztuczka, clone-remote-port, używała numeru twojego portu Java także dla Bedrocka przez UDP. Nie działa z wbudowanym signalingiem, bo signaling potrzebuje TCP na tym porcie, a twój serwer Java już go zajmuje. Geyser wraca wtedy sam do Warden, darmowej zewnętrznej usługi signalingu prowadzonej przez Ziax, firmę stojącą za CubeCraft. Z Warden po twojej stronie potrzeba tylko UDP, ale gracze wchodzą pod adresem i portem, które Geyser wypisuje w konsoli, chyba że zarejestrujesz w Warden własną domenę. Poproś hosting o drugi port albo sprawdź, czy hosting nie konfiguruje już Geysera przez flagi startowe.
  • Tunele. ngrok tuneluje tylko TCP, więc nie przeniesie gry Bedrocka. Poradnik GeyserMC o playit.gg powstał dla RakNet i odsyła do własnej strony statusu NetherNet w playit, więc sprawdź ją, zanim zaufasz tunelowi.

W naszych danych częściej zawodzą własne porty. W ostatnich 30 dniach 6 z 18 wpisów na niestandardowym porcie Bedrock nigdy nie odpowiedziało na ping Bedrock, wobec 15 z 75 na 19132 (18 października 2026: 6 z 18, wobec 14 z 76). Próba jest mała, ale własny port to jeszcze jedna liczba, którą trzeba dobrze wpisać w dwóch miejscach.

Wbudowany signaling Geysera domyślnie używa zwykłego HTTP, więc przy pierwszym wejściu Bedrock pyta każdego gracza, czy ufa serwerowi. Wskazanie certyfikatu TLS w ustawieniu certificate w części HTTPS konfiguracji signalingu Geysera usuwa to pytanie, a Warden obsługuje HTTPS za ciebie.

Nicki z Floodgate i twoje pluginy

Gracz Bedrocka o nazwie Steve przychodzi jako .Steve, a ta kropka trafia do każdego pluginu, który uruchamiasz.

  • Prefiks. To ustawienie username-prefix w configu Floodgate, domyślnie ".". Floodgate zaleca prefiks bez liter i cyfr, żeby żaden nick z Bedrocka nie kolidował z nickiem z Javy. Unikaj *: komendy mogą wtedy wymagać nicku w cudzysłowie.
  • Spacje. Gamertagi mogą zawierać spacje, nicki Javy nie. Przy replace-spaces: true (domyślnie) Cool Steve zmienia się w .Cool_Steve.
  • LuckPerms. Ustaw allow-invalid-usernames: true w configu LuckPerms, żeby nicki z kropką były akceptowane, albo wskazuj graczy po UUID.
  • Whitelist. /whitelist add pyta Mojang o profil Java i nie działa dla graczy Bedrocka. Użyj zamiast tego /fwhitelist add Steve (prefiks jest opcjonalny) albo UUID gracza z Floodgate. Uprawnienie to floodgate.command.fwhitelist.
  • „Weryfikacja nazwy użytkownika nieudana!” (po angielsku „Failed to verify username”) na Paper. Paper odrzuca nicki, które uważa za nieprawidłowe. Zainstalowanie Floodgate na backendzie to łagodzi, a pełne rozwiązanie podaje strona znanych problemów Floodgate: ustaw perform-username-validation na false w sekcji unsupported-settings w config/paper-global.yml.
  • Gracze z obiema edycjami. Globalne łączenie kont, domyślnie włączone, pozwala graczowi raz połączyć konta Java i Bedrock i wchodzić jako jego tożsamość Java na każdym serwerze, który ma to włączone.
  • Głosy. Votifier dostarcza nick, a pluginy nagród płacą graczowi online albo offline, którego nick pasuje. Gracz Bedrocka musi zagłosować jako .Steve, a nie Steve, bo inaczej nagroda nie trafi nigdzie. Nasz formularz głosowania rozpoznaje popularne prefiksy Floodgate, sprawdza nick wśród kont Bedrock i dostarcza go tak, jak został wpisany. W ostatnich 30 dniach 6% wszystkich głosów na serverlist.net oddano na nicki z Bedrocka, a 97% z nich miało domyślną kropkę (6% i 97% 18 października 2026). Jeśli prefiks został zmieniony, napisz o tym w wiadomości z /vote. Resztę drogi głosu opisuje poradnik o NuVotifier.

Gracze Bedrocka nie mogą klikać linków na czacie i Geyser tego nie naprawi. Wiadomość o głosowaniu, która mówi tylko „kliknij tutaj”, nic dla nich nie robi. Wypisz adres głosowania zwykłym tekstem, na tyle krótkim, żeby dało się go wpisać na telefonie.

Sprawdź to z zewnątrz

Wejście z własnego telefonu w twojej własnej sieci Wi-Fi niewiele dowodzi, bo telefon może dotrzeć do serwera przez twoją sieć lokalną i w ogóle nie przejść przez reguły routera, które właśnie dodajesz. Sprawdź to tak, jak zrobiłby to obcy.

  1. Wyłącz Wi-Fi na telefonie, dodaj serwer w Bedrocku z publicznym adresem i portem i wejdź przez internet mobilny. Poradnik dołączania na Bedrocku pokazuje tę samą drogę od strony gracza.

  2. Przepuść adres i port Bedrock przez narzędzie do sprawdzania statusu serwera, które sprawdza go raz z naszej strony:

    Sprawdź serwer teraz

    Adres, który gracze wpisują w trybie wieloosobowym. Dopiski typu IP: i spacje usuniemy.

    Odpowiedź pojawi się tutaj jako wiersz z trybu wieloosobowego, z graczami, wersją i pingiem.

  3. Dodaj swój serwer albo edytuj wpis, włącz „Gracze Bedrock też mogą dołączyć” i wpisz adres i port Bedrock. Od tej chwili nasz pinger sprawdza port Bedrock co minutę, a znacznik Bedrock przy twoim wpisie i twoje miejsce na liście serwerów Bedrock wynikają z tych odpowiedzi, a nie z przełącznika.

  4. Powtarzaj to po każdej aktualizacji Geysera i każdym wydaniu Bedrocka. Build Geysera zbyt stary dla nowej wersji Bedrocka to częsty powód, dla którego gracze Bedrocka nagle nie mogą wejść w dniu aktualizacji.

Uwaga o tym, jak sprawdzamy, bo wpływa na to, co widzisz. Nasz ping Bedrock to ping RakNet, którego klienci Bedrocka używali przed NetherNet. Geyser w trybie both na niego odpowiada, Geyser w trybie nethernet nie. Dopóki nasza kontrola nie obsłuży też NetherNet, serwer wyłącznie na nethernet pokazuje się u nas jako niedostępny na Bedrocku, nawet gdy gracze Bedrocka mogą wejść, więc both to ustawienie, które na razie utrzymuje dokładny znacznik Bedrock przy twoim wpisie. Jak mierzymy, opisuje strona metodologii.

Tak wpisy dzielą się teraz według platformy:

Java, Bedrock czy obieOstatnie 30 dni
  • Tylko JavaBrak adresu Bedrock we wpisie367% graczy
  • Bedrock odpowiadaPodaje adres Bedrock, który odpowiedział na nasz ping Bedrock7290% graczy
  • Bedrock milczyPodaje adres Bedrock, który nigdy nie odpowiedział213% graczy

Spośród 129 grywalnych serwerów przez Bedrock odpowiedziało też 72, a adres Bedrock, który nigdy nie odpowiedział, podaje 21.

Pomiar: 19 paź 2026, 22:55 UTCJak mierzymy

Czego zabraknie graczom Bedrocka

Geyser nie zmieni klienta Bedrocka. GeyserMC prowadzi stronę z obecnymi ograniczeniami, a oto pozycje z niej, które najczęściej mają znaczenie na typowym serwerze:

  • Klikalne linki na czacie. Nie działają na Bedrocku, co dotyka linków do głosowania, sklepu i zaproszeń na Discorda.
  • Lewy i prawy klik w menu ekwipunku. Bedrock ich nie rozróżnia, więc GUI skrzyń, które robią co innego po każdym kliknięciu, przestają działać. Formularze Floodgate to natywna dla Bedrocka alternatywa.
  • Własne zaklęcia się nie wyświetlają, a poziomy spoza vanilli, takie jak „Jedwabny dotyk 2”, nie mogą być pokazane.
  • Argumenty komend i uzupełnianie klawiszem Tab działają tylko dla komend zarejestrowanych w nowoczesny sposób (Brigadier).
  • Blask oraz sztandary z więcej niż sześcioma warstwami.

Dwa pokrewne ograniczenia nie są na tej stronie. Paczki zasobów Javy nie ładują się na Bedrocku, więc Geyser musi wysłać zamiast nich paczkę Bedrocka, a własne przedmioty potrzebują mapowania Geysera, zanim gracze Bedrocka zobaczą je poprawnie. GeyserIntegratedPack, który Geyser dostarcza, naprawia kilka własnych braków, takich jak animacje przedmiotu w drugiej ręce i pozy stojaków na zbroję.

Walka też wygląda inaczej. Bedrock nie ma własnego cooldownu ataku, więc Geyser rysuje wskaźnik zastępczy, domyślnie na celowniku (opcja cooldown-type w sekcji gameplay, w starszych configach nazywana show-cooldown), a gracze na dotyku celują inaczej niż gracze z myszą. Jeśli twój serwer opiera się na timingu walki z Javy, napisz o tym we wpisie.

Pokaż to wprost we wpisie

Działająca konfiguracja Bedrock idzie na marne, jeśli gracze nie mogą jej zobaczyć albo wpisać.

  • Adres i port w osobnych polach. Bedrock nie czyta rekordów SRV, więc gracze wpisują port ręcznie. Wpisz port w polu portu, a nie po dwukropku w adresie. Jeśli Geyser wrócił do Warden, użyj adresu, który Geyser wypisuje. Jeśli Geyser dzielił wcześniej twój port Java, twój port Bedrock się zmienił, więc zaktualizuj wpis i powiedz graczom, żeby edytowali zapisany serwer.
  • Napisz, co dostają gracze Bedrocka. Jedna lub dwie linijki w opisie: jaki prefiks zobaczą, które menu albo minigry nie działają na Bedrocku i jak zagłosować ze swoim nickiem. Poradnik o opisie serwera pokazuje, gdzie to pasuje.
  • Podaj zakres wersji. „Bedrock 26.50 i nowszy” mówi graczowi więcej niż samo „crossplay”.
  • Gracze na konsolach potrzebują więcej pomocy. Telefony i Windows mogą dodać dowolny serwer, ale gracze na Xboksie, PlayStation i Switchu potrzebują obejść od stron trzecich, więc sam adres Bedrock do nich nie dociera.

Widok całości od strony gracza jest w tekście czy gracze Javy i Bedrocka mogą grać razem.

Tabela rozwiązywania problemów

Co widziszPrawdopodobna przyczynaRozwiązanie
Gracze Bedrocka nie mogą wejść po Bedrocku 26.60, gracze Javy mogąGeyser wciąż tylko na RakNet albo build starszy niż 1237Zaktualizuj Geysera, ustaw transport: both (albo nethernet), otwórz TCP na porcie Geysera
Serwera brak na liście Bedrocka albo brak MOTD, a port jest „otwarty”TCP nie jest przekierowany, signaling nie może do ciebie dotrzećPrzekieruj port Geysera jako TCP i UDP
Konsola: „Built-in signaling cannot use port ... because the Java server already uses it”clone-remote-port albo użyty ponownie port JavaWeź osobny port albo zostań przy zewnętrznym signalingu (Geyser przełącza się na niego sam)
Konsola: „RakNet and NetherNet each need their own UDP port”webrtc-port jest równy portWybierz inny wolny port UDP dla webrtc-port
Konsola: „... is a loopback address”address ustawiony na 127.0.0.1Ustaw address: 0.0.0.0
Gracze Bedrocka proszeni o zalogowanie kontem Javaauth-type nie jest floodgate albo brakuje Floodgate na serwerze, z którym łączy się GeyserUstaw auth-type: floodgate, zainstaluj Floodgate
„Please connect through the official Geyser”key.pem różni się między instalacjami albo Geyser i Floodgate są nieaktualneSkopiuj key.pem z proxy na każdy backend, zaktualizuj oba
„Weryfikacja nazwy użytkownika nieudana!” (po angielsku „Failed to verify username”) na backendzie PaperWalidacja nicków w Paper odrzuca kropkęZainstaluj Floodgate na backendzie albo zastosuj rozwiązanie ze strony znanych problemów Floodgate
Gracz Bedrocka z whitelistą nadal jest wyrzucanyDodany przez /whitelistUżyj /fwhitelist add z gamertagiem albo UUID
Głosy z Bedrocka docierają, ale nagród nie maGracz zagłosował bez prefiksuPowiedz graczom Bedrocka, żeby głosowali jako .Name
Wszyscy na Bedrocku odcięci po aktualizacji BedrockaBuild Geysera za staryZaktualizuj Geysera, potem zrestartuj
Pytanie o zaufanie do serwera przy pierwszym wejściuSignaling przez zwykłe HTTPDodaj certyfikat dla signalingu albo użyj Warden
U ciebie działa, u wszystkich innych nieRouter albo zapora w chmurze otwarta tylko w połowieSprawdź jeszcze raz obie zapory i oba protokoły, a potem przetestuj przez internet mobilny

Gdy tabela się skończy, /geyser dump tworzy raport debugowania, o który prosi wsparcie GeyserMC. Gdy Bedrock już działa, następne zadanie to upewnić się, że głosy z obu edycji docierają, co krok po kroku opisuje poradnik konfiguracji NuVotifier.