GeyserMC – Czyli możliwość gry z Bedrock Edition na serwerach Java!

Posiadasz serwer na Java Edition, ale chcesz pograć na tym serwerze z Bedrock Edition lub dać taką możliwość swoim graczom. Teoretycznie powinno to być niemożliwe, prawda? A jednak da się! (O ile nie posiadamy pluginu FastLogin, ale o tym w dalszej części wpisu).

Istnieje pewien dość prosty w konfiguracji plugin, który nam na to pozwala! 🙂 Nazywa się on GeyserMC. Tworzy on najzwyczajniej w świecie proxy wewnątrz serwera java edition, działające na podobnej zasadzie co plugin BungeeCord. Ma on za zadanie umożliwić rozgrywkę gracza Bedrock Edition na serwerze Java Edition, których to jest po prostu zdecydowanie więcej.

Na początek pobieramy dwa pluginy GeyserMC i FloodGate .

Konfiguracja

Gdy już je pobraliśmy, trzeba je skonfigurować, ale nie ma z tym zbyt wiele roboty.

Na początek kopiujemy wygenerowany plik public-key.pem z folderu /plugins/floodgate-bukkit do /plugins/Geyser-Spigot

Teraz konfigurujemy plik config.yml w folderze /plugins/Geyser-Spigot

Zaczniemy od sekcji bedrock, w niej ustawiamy MOTD serwera, który będzie wyświetlany na Minecraft: Bedrock Edition. Zmieniamy tylko linie motd1 i motd2 według swojego uznania, a resztę pozostawiamy domyślną.

bedrock:
# The IP address that will listen for connections.
# There is no reason to change this unless you want to limit what IPs can connect to your server.
address: 0.0.0.0
# The port that will listen for connections
port: 19132
# The MOTD that will be broadcasted to Minecraft: Bedrock Edition clients. Irrelevant if "passthrough-motd" is set to true
motd1: "GeyserMC"
motd2: "Another GeyserMC forced host."

Teraz przechodzimy do sekcji remote .

remote:
# The IP address of the remote (Java Edition) server
address: 127.0.0.1
# The port of the remote (Java Edition) server
port: 25565
# Authentication type. Can be offline, online, or floodgate (see https://github.com/GeyserMC/Geyser/wiki/Floodgate).
auth-type: online

Jeśli serwer stoi na VPS, na domyślnym porcie, to pozostawiamy domyślnie parametr address oraz port. Z racji tego, że zastosujemy logowanie przez floodgate to zmieniamy parametr auth-type z online na floodgate. Reszty konfiguracji GeyserMC nie musimy zmieniać i pozostawmy ją domyślną. Przejdźmy do ustawień FloodGate.

Wchodzimy więc w plugins\floodgate-bukkit i edytujemy plik config.yml . Jedyna zmiana tutaj ograniczy się do jednego parametru username-prefix – Domyślnie jest to „*” , ale lepiej zmienić prefix gracza na „$” ma to związek z możliwością wystąpienia błędu z bazą danych.

Nie zapomnijmy dodać dolarka do konfiguracji pluginu AuthMe w sekcji allowedNicknameCharacters . W przeciwnym wypadku nie będziemy mogli wejść na serwer z Bedrocka.

Ale po co nam FloodGate?

Plugin ten pozwoli nam na rozróżnienie kont Bedrock od Java Edition i da możliwość skorzystania z dodatkowego API.

Minusy i plusy zastosowania GeyserMC

Plusy

  • Możemy pograć z Bedrock Edition na serwerze Java
  • Zyskujemy nowych graczy z XBOX, Windows10 (Istnieje specjalna edycja Bedrock na Windows10), Android i nie tylko.

Minusy

  • W Bedrocku wciąż jest stare PvP z wersji Java 1.8, ale w przyszłości dojdzie do zmiany systemy PvP łączącego zalety nowego PvP ze starym . Zmiany zajdą te zarówno w Bedrocku i Javie.
  • Jeszcze nie wszystko działa poprawnie

FastLogin i problemy z nim związane

Niestety nie wszystko wygląda tak kolorowo. Jeśli chcemy zastosować autoryzację FloodGate w GeyserMC i jednocześnie posiadać plugin FastLogin, to niestety, ale będziemy musieli pozbyć się automatycznego logowania/rejestracji kont premium. Dlaczego? To proste… Plugin ten usunie nam ustawiony w FloodGate prefix gracza Bedrock Edition, a co za tym idzie dojdzie do możliwości nadpisania kont Java z Bedrock Edition, jeśli gracz posiada identyczny nick w Bedrocku oraz nie rozróżnimy go od gracza Java Edition, ponieważ nie będzie posiadał dolarka przed nickiem. Oprócz tego, jeśli ktoś na koncie java ma włączony tryb automatycznego logowania premium, to zapewne nie uda się mu się wejść na serwer z Bedrocka, jeśli posiada ten sam nick co w Javie.

W teorii niby proste do naprawienia? Sam developer GeyserMC o nicku Tim203  na GitHubie przekazał instrukcję jak wspomniany problem naprawić, ale pozostało to bez odzewu twórcy FastLogina, o czym możecie poczytać na https://github.com/games647/FastLogin/issues/328 . Możecie w momencie czytania tego wpisu podbić to zgłoszenie na GitHubie, a może wreszcie twórca FastLogina zauważy, że jest dość sporo osób zainteresowanych wsparciem Bedrock Edition na Javie.

Ale nie mogę użyć samego AuthMe bez tego FastLogina? Możesz, ale tylko wtedy, jeśli twoi gracze nie wymagają automatycznego logowania i rejestracji kont Premium lub gdy twój serwer jest tylko Premium. Wtedy i tylko wtedy możesz odpuścić sobie posiadanie pluginu FastLogin. Z doświadczenia jednak wiem, że taki plugin jak FastLogin jest już standardem na wielu Polskich serwerach non-premium.

Podsumowanie

Jeśli nie posiadamy pluginu FastLogin, to jak najbardziej możemy takie wsparcie dla Bedrock Edition dodać, zawsze to będzie ten dodatek, który może zagwarantować tobie graczy.