GameHosting.pl

Notatki operatora

Sieć serwerów Minecraft: proxy Velocity/BungeeCord i tryby jak BedWars czy SkyWars

Jak naprawdę zbudowane są duże polskie sieci minigier: proxy z przodu, osobne backendy na lobby i każdy tryb, jeden publiczny adres dla wszystkiego. Z naciskiem na to, co najłatwiej spartolić, czyli bezpieczeństwo backendów w trybie offline.

Opublikowano · ~8 min czytania

W skrócie: Sieć to proxy z przodu (zalecane Velocity, następca BungeeCord) plus wiele backendów: osobne lobby i osobny serwer na każdy tryb (BedWars, SkyWars, Survival, Prison). Gracz ma jedno IP i przełącza się komendą /server. Backendy działają w trybie offline (online-mode=false) i muszą być odcięte od internetu firewallem oraz zabezpieczone modern forwarding z sekretem, inaczej każdy podszyje się pod dowolnego gracza, łącznie z adminem.

Jak zbudowana jest sieć (np. w stylu GommeHD)

Gdy wchodzisz na dużą polską sieć minigier, łączysz się z jednym adresem, a w środku przeskakujesz między lobby, BedWars, SkyWars i resztą trybów bez rozłączania. To nie jeden serwer z wieloma światami. To proxy plus wiele osobnych serwerów backendowych, każdy odpowiedzialny za jedną rzecz.

Największą polską sieć po liczbie graczy to GommeHD i to klasyczny przykład sieci minigier z wieloma trybami. Schemat, który stosują takie projekty, wygląda tak:

Dzięki temu tryby się nie blokują nawzajem: BedWars może się zrestartować, a gracze w lobby i na SkyWars nic nie zauważą. Można też dokładać kolejne instancje tego samego trybu, gdy jedna się zapełni.

Po co w ogóle proxy

Proxy rozwiązuje trzy problemy naraz:

Velocity czy BungeeCord

Do nowej sieci wybierz Velocity. To nowoczesne proxy i następca BungeeCord: wydajniejsze, aktywnie rozwijane i z bezpieczniejszym modelem przekazywania tożsamości gracza. BungeeCord wciąż działa i ma ogromne, stare zaplecze wtyczek, więc nie zniknie, ale jeśli budujesz sieć od zera w 2026 roku, nie ma powodu zaczynać od starszej technologii.

CechaVelocityBungeeCord
StatusNowoczesne, aktywnie rozwijaneStarsze, sprawdzone, wolniej rozwijane
Przekazywanie tożsamościModern forwarding z sekretemStarszy legacy forwarding (słabszy)
WydajnośćLepsza przy wielu graczachWystarczająca, ale ustępuje
WtyczkiRosnący, nowszy ekosystemBardzo duży, historyczny

Szczegóły konfiguracji, w tym ustawienie trybu forwarding i wygenerowanie sekretu, znajdziesz w dokumentacji Velocity.

Bezpieczeństwo backendów: najważniejsza część

To miejsce, w którym najwięcej domowych sieci się wykłada, często bez wiedzy właściciela. W sieci z proxy to proxy weryfikuje gracza w Mojang. Backendy nie robią tego same, więc działają w trybie offline, czyli online-mode=false, i po prostu ufają tożsamości, którą poda im proxy.

Problem: backend w trybie offline akceptuje dowolny nick bez weryfikacji. Jeśli taki serwer wystawisz bezpośrednio do internetu, każdy może się na niego połączyć podając dowolny login, w tym login administratora, i wejść z jego uprawnieniami. To nie teoria, to standardowy sposób przejmowania źle zbudowanych sieci.

Dlatego obowiązują dwie zasady, obie naraz:

  1. Tylko proxy ma publiczny port. Backendy nasłuchują na adresie lokalnym albo w sieci wewnętrznej, a firewall przepuszcza ruch na ich porty wyłącznie od proxy. Z zewnątrz backendów nie da się dotknąć.
  2. Modern forwarding z sekretem. We Velocity ustawiasz tryb modern forwarding i generujesz sekret. Ten sam sekret wpisujesz w każdym backendzie (Paper i pokrewne mają na to ustawienie). Backend przyjmuje połączenie tylko wtedy, gdy proxy potwierdzi je tym sekretem. To gwarantuje, że za tożsamość gracza ręczy proxy, a nie ktokolwiek, kto trafił na otwarty port.

Reguła kciuka: jeśli możesz wpisać adres backendu w kliencie Minecraft spoza serwera i się połączyć, sieć jest dziurawa. Z internetu ma odpowiadać tylko proxy. Backendy: lokalnie plus firewall plus sekret forwarding.

Sprzęt: jedna maszyna czy wiele instancji

Każdy backend to osobny proces Java, który zjada swój RAM i swój czas procesora. Minecraft jest w dużej mierze jednowątkowy, więc liczy się szybki, jednowątkowo wydajny CPU, a nie tylko liczba rdzeni.

Pterodactyl jest tu naturalnym wyborem, bo z definicji uruchamia każdy serwer w osobnym kontenerze: łatwo dodać kolejny tryb, ograniczyć mu RAM i pilnować, żeby porty backendów nie wyciekły na zewnątrz. Jak to spiąć w praktyce, opisujemy w osobnym wpisie o panelu Pterodactyl.

Wtyczki: per backend i per proxy

W sieci wtyczki dzielą się na dwa światy i łatwo się w tym pogubić:

Reguła jest prosta: wtyczka, która wie o wielu serwerach (przełączanie, kolejki, limbo), idzie na proxy. Wtyczka, która tworzy rozgrywkę w jednym trybie, idzie na konkretny backend.

Prosty plan startowy

Nie buduj od razu dziesięciu trybów. Sprawdzony, minimalny układ to trzy elementy:

  1. Proxy (Velocity). Jedyny publiczny port. Tryb modern forwarding plus wygenerowany sekret.
  2. Lobby. Backend w trybie offline, sekret forwarding wpisany, port zamknięty firewallem dla świata, otwarty tylko dla proxy. Menu wyboru trybu.
  3. Jeden tryb (np. BedWars). Drugi backend, te same zasady bezpieczeństwa, wtyczka trybu na pokładzie. Podpięty pod proxy, dostępny przez /server bedwars.

Gdy ten układ działa stabilnie i ktoś faktycznie gra, dokładanie kolejnego trybu to powtórzenie kroku trzeciego: nowa instancja, te same reguły, wpis w proxy. Dopiero wtedy ma sens myślenie o dedykowanej maszynie i panelu Pterodactyl pod wiele instancji.

Z doświadczenia: najczęstsze wpadki przy pierwszej sieci to dwie rzeczy. Po pierwsze, wystawiony do internetu backend w trybie offline, czyli zaproszenie do przejęcia. Po drugie, niezgodne wersje: proxy, backendy i wtyczki muszą grać tę samą wersję Minecraft, bo inaczej gracz wylatuje przy próbie wejścia na backend. Pilnuj wersji tak samo, jak przy każdej aktualizacji serwera Minecraft.

Najczęstsze pytania

Velocity czy BungeeCord?

Do nowej sieci Velocity. Nowocześniejsze, wydajniejsze, z bezpiecznym modern forwarding. BungeeCord wciąż działa i ma ogromne zaplecze wtyczek, ale to starsza technologia. Od zera nie ma po co zaczynać od BungeeCord.

Jak zrobić serwer BedWars w swojej sieci?

Jako osobny backend, nie jako tryb na mapie lobby. Uruchamiasz dedykowany serwer z wtyczką BedWars, ustawiasz online-mode=false, podpinasz pod proxy. Z lobby gracz wchodzi przez /server bedwars lub menu, a areny i dopasowanie ogarnia wtyczka.

Dlaczego backendy muszą być w trybie offline i odcięte od sieci?

Bo w sieci to proxy weryfikuje gracza w Mojang, więc backendy są w trybie offline i ufają proxy. Wystawiony do internetu backend offline pozwala każdemu wejść pod dowolnym nickiem, też pod nickiem admina. Dlatego publiczny port ma tylko proxy, a backendy chroni firewall plus sekret forwarding.

Po co proxy?

Jedno IP i jeden port dla całej sieci, przełączanie między serwerami komendą /server bez rozłączania, oraz utrzymanie sesji gracza, gdy backend się restartuje.

Jaki sprzęt na sieć?

Mała sieć (proxy plus lobby plus jeden tryb) zmieści się na jednym dobrym VPS-ie. Większa: osobne instancje, jedna per tryb, przez Pterodactyl, na dedykowanej maszynie albo mocnym VPS-ie. Liczy się szybki, jednowątkowo wydajny CPU i zapas RAM-u na każdy backend.

Powiązane