GameHosting.pl

Notatki operatora

Geyser: jak połączyć graczy Bedrock z serwerem Java Minecraft

Praktyczny przewodnik po Geyserze: od tego, jaki problem rozwiązuje (gracze z telefonu i konsoli na serwerze Java), przez tłumaczenie protokołu i rolę Floodgate, po instalację jako plugin na Paper albo standalone na proxy, porty, config.yml i najczęstsze problemy. Z perspektywy kogoś, kto już raz tłumaczył znajomemu na telefonie, czemu „serwer się nie wyświetla”.

Opublikowano · ~8 min czytania

W skrócie: Geyser to most między światem Bedrock a serwerem Java. Tłumaczy ruch sieciowy w locie, dzięki czemu gracze z telefonu, konsoli i Windows 10 mogą wejść na zwykły serwer Java, na którym grają znajomi z PC. Do tego dochodzi Floodgate, który pozwala tym graczom zalogować się bez konta Java (Microsoft/Mojang). Geyser instalujesz jako plugin na Paper/Spigot albo jako standalone na proxy Velocity/BungeeCord. Trzeba otworzyć dwa porty: Java 25565 TCP i Bedrock 19132 UDP. Większość problemów to zamknięty port UDP albo zapomniany Floodgate.

Jaki problem rozwiązuje Geyser

Minecraft istnieje w dwóch wydaniach, które przez lata żyły osobno. Java Edition to wersja na PC, ta z największą sceną pluginów i modów. Bedrock to wszystko inne: telefony, tablety, konsole (Xbox, PlayStation, Switch) oraz aplikacja na Windows 10/11. Problem polega na tym, że te dwa wydania mówią innym językiem sieciowym. Gracz Bedrock z telefonu nie wejdzie na serwer Java, choćby bardzo chciał, bo jego klient po prostu nie rozumie protokołu, którym serwer się posługuje.

W praktyce wygląda to tak: kolega gra na PC w Javie, postawiliście wspólny serwer survival, a brat chce dołączyć ze Switcha albo z telefonu. Bez dodatkowego rozwiązania to się nie uda, bo on ma Bedrock, a serwer mówi po Javowemu. Geyser jest właśnie tym brakującym tłumaczem. Dzięki niemu jeden serwer Java obsługuje obie ekipy naraz, bez utrzymywania dwóch oddzielnych światów i dwóch oddzielnych serwerów.

To rozwiązanie ceni się przede wszystkim tam, gdzie ekipa jest mieszana: część gra na komputerze, część na sprzęcie mobilnym albo konsoli. Zamiast zmuszać wszystkich do jednego wydania, stawiasz serwer Java (bo to on ma pluginy) i dokładasz Geysera, żeby wpuścić resztę.

Jak to działa: tłumaczenie protokołu

Sercem Geysera jest tłumaczenie protokołu w czasie rzeczywistym. Klient Bedrock i serwer Java wymieniają dane w innym formacie: inaczej kodują pakiety ruchu, inaczej opisują bloki, ekwipunek czy czat. Geyser siedzi pośrodku i w locie przekłada każdy pakiet z jednej strony na drugą. Z punktu widzenia gracza Bedrock łączy się on z normalnym serwerem Bedrock, a z punktu widzenia serwera Java widzi on po prostu kolejnego gracza Java. Żadna ze stron nie wie, że rozmawia przez tłumacza.

Dlatego po stronie gracza Bedrock nie trzeba niczego instalować. On dodaje serwer w grze, podaje adres i port Bedrock, i wchodzi. Cała robota dzieje się po stronie serwera, gdzie działa Geyser. To ważna różnica wobec rozwiązań typu mod, które wymagałyby ingerencji u każdego gracza z osobna.

Tłumaczenie ma jednak swoją cenę: nie wszystko da się przełożyć idealnie, bo Bedrock i Java różnią się nie tylko siecią, ale i tym, co klient potrafi wyświetlić. Do ograniczeń wrócę w osobnej sekcji, bo to częsty powód rozczarowań „przecież miało działać tak samo”.

Geyser i Floodgate: dlaczego potrzebujesz obu

Tu zaczyna się część, w której najwięcej osób się gubi. Geyser rozwiązuje transport, ale nie rozwiązuje logowania. To dwa różne problemy i odpowiadają za nie dwa różne komponenty.

Serwer Java w domyślnym trybie online-mode: true weryfikuje każdego gracza w systemie kont Mojang/Microsoft. Gracz Bedrock z konsoli czy telefonu ma konto Bedrock, a nie Java, więc taka weryfikacja musiałaby go odrzucić. Geyser potrafi przepuścić jego ruch, ale nie potrafi udawać, że to konto Java. I tu wchodzi Floodgate.

Floodgate to drugi plugin, który pozwala graczom Bedrock dołączyć bez posiadania konta Java, jednocześnie zostawiając serwer w trybie online-mode dla graczy Java. To najlepsze z obu światów: gracze PC dalej są weryfikowani normalnie (bezpiecznie), a gracze Bedrock wchodzą na podstawie swojej tożsamości Bedrock, którą Floodgate przekłada na coś, co serwer akceptuje. Bez Floodgate masz dwie złe opcje: albo wyłączasz online-mode dla całego serwera (co otwiera drzwi oszustom podszywającym się pod nicki), albo gracze Bedrock w ogóle nie wejdą.

Zapamiętaj prosty podział: Geyser to most, Floodgate to przepustka. Most pozwala dojechać, przepustka pozwala wejść.

KomponentZa co odpowiadaCzy obowiązkowy
GeyserTłumaczenie protokołu Bedrock na Java, czyli sam fakt, że gracz mobilny lub konsolowy widzi serwer i może wejść.Tak, bez niego Bedrock nie wejdzie w ogóle.
FloodgateLogowanie graczy Bedrock bez konta Java, przy zachowaniu online-mode dla graczy Java.Praktycznie tak, jeśli chcesz trzymać serwer w trybie online (zalecane).

Instalacja

Geyser występuje w kilku wariantach i pierwsza decyzja to wybór właściwego, zależnie od tego, jak masz poukładany serwer.

Jako plugin na Paper / Spigot

To najprostszy i najczęstszy scenariusz dla pojedynczego serwera. Pobierasz build Geyser-Spigot ze strony projektu, wrzucasz plik .jar do katalogu plugins i restartujesz serwer. Do tego dokładasz build Floodgate-Spigot, też do plugins. Przy pierwszym starcie oba pluginy tworzą swoje pliki konfiguracyjne i od razu zaczynają nasłuchiwać. Sprawdź log startowy: powinien pojawić się komunikat, że Geyser nasłuchuje na porcie Bedrock.

Jako standalone na proxy Velocity / BungeeCord

Jeśli masz sieć serwerów za proxy (lobby, survival, minigry), Geysera instalujesz raz, na samym proxy, a nie na każdym backendzie. Pobierasz build pod Velocity albo BungeeCord i wrzucasz go do katalogu pluginów proxy. Ruch Bedrock wchodzi wtedy przez proxy, jest tłumaczony i rozdzielany na backendy tak samo jak ruch Java. Floodgate również ma osobny build na proxy, instalujesz go obok Geysera. Istnieje też tryb w pełni standalone, jako oddzielny proces niezależny od serwera gry, ale dla większości domowych i małych sieci wariant na proxy jest wygodniejszy.

Porty: dwa różne światy

To kluczowa rzecz, na której potyka się chyba każdy przy pierwszej instalacji. Serwer obsługuje teraz dwa kanały:

Oba muszą być otwarte w zaporze i, jeśli hostujesz w domu, przekierowane na routerze. Przekierowanie samego 25565 to najczęstszy błąd: Java działa, więc wydaje się, że wszystko gra, a gracze Bedrock dalej nie mogą wejść, bo ich port 19132 UDP jest zamknięty. Więcej o samym przekierowaniu znajdziesz w naszych notatkach o port forwardingu.

Konfiguracja: config.yml

Najważniejsze ustawienia Geysera siedzą w pliku config.yml w katalogu pluginu. Dla typowego serwera survival z Floodgate nie trzeba grzebać w wielu opcjach, ale kilka warto rozumieć:

Po stronie Floodgate najważniejsze jest, żeby auth-type w Geyserze i tryb Floodgate były spójne, oraz żeby klucz Floodgate (plik wymiany danych między pluginami) był ten sam po obu stronach. W sieci za proxy klucz musi się zgadzać między proxy a backendami.

Z doświadczenia: zostaw prefiks nicków Bedrock włączony, nawet jeśli wygląda nieładnie. Ten jeden znak przed nazwą ratuje przed sytuacją, w której gracz Bedrock o nicku Steve i gracz Java o nicku Steve walczą o ten sam ekwipunek i te same uprawnienia. Przy serwerze z ekonomią albo działkami kolizja nicków potrafi narobić bałaganu, którego nie da się łatwo cofnąć.

Ograniczenia, o których warto wiedzieć

Geyser robi kawał świetnej roboty, ale to most, nie magia. Część rzeczy z natury nie przejdzie idealnie, bo Bedrock i Java różnią się nie tylko siecią, ale i możliwościami klienta:

Praktyczna rada: do prostej, wspólnej rozgrywki survival albo kreatywnej Geyser sprawdza się znakomicie. Im bardziej serwer opiera się na rozbudowanych, klikanych interfejsach i zasobach po stronie klienta Java, tym więcej drobnych różnic zobaczą gracze Bedrock.

Typowe problemy

Jeśli prowadzisz pojedynczy serwer i nie chcesz samodzielnie pilnować Javy, portów i wersji pluginów przy każdej aktualizacji, gotowy zarządzany hosting Minecrafta (Java) z obsługą pluginów pozwala wgrać Geysera i Floodgate przez panel i menedżer plików, bez konfigurowania zapory i portów od zera.

Najczęstsze pytania

Czy gracze Bedrock muszą coś instalować, żeby wejść przez Geyser?

Nie. Cała robota dzieje się po stronie serwera. Gracz Bedrock dodaje serwer w grze, podaje adres i port Bedrock (domyślnie 19132 UDP) i łączy się jak z każdym innym serwerem Bedrock. Żadnego pluginu ani moda u siebie nie instaluje.

Czym różni się Geyser od Floodgate?

Geyser tłumaczy protokół, czyli pozwala graczowi Bedrock w ogóle zobaczyć serwer Java i na niego wejść. Floodgate rozwiązuje logowanie: pozwala mu dołączyć bez konta Java, przy zachowaniu online-mode dla graczy Java. Geyser to most, Floodgate to przepustka.

Bedrock nie łączy się, choć Java działa. Co sprawdzić?

Najpierw port. Java to 25565 TCP, Bedrock to 19132 UDP, inny port i inny protokół. Sprawdź, czy 19132 jest otwarty na UDP w zaporze i przekierowany na routerze, oraz czy w grze podajesz właśnie ten port. Zerknij też w log, czy Geyser wstał.

Czy Geyser daje pełną zgodność modów i pluginów?

Nie i nie jest to jego celem. Czysta rozgrywka działa świetnie, ale treści zależne od klienta Java (niestandardowe modele, część GUI, efekty po stronie klienta) mogą wyglądać inaczej albo nie działać. Pluginy czysto serwerowe zwykle są w porządku.

Czy Geyser muszę instalować na każdym serwerze w sieci za proxy?

Nie. W sieci za Velocity lub BungeeCord Geysera instalujesz raz, na proxy. Ruch Bedrock wchodzi przez proxy i jest rozdzielany na backendy. Floodgate też ma build na proxy.

Powiązane