Discord
Wiki - Serwery

Serwer Minecraft z minigrami

Jak zbudować serwer z minigrami od podstaw - system lobby, BedWars, SkyWars, KitPvP, Velocity proxy i przygotowanie aren.

Czas czytania: ~13 min Poziom: Zaawansowany

Architektura sieci serwerow

Serwer z minigrami nie jest jednym serwerem - to siec serwerow (network) połączonych proxy. Każda minigra działa na osobnym serwerze backend, a gracz łączy się z jednym adresem (proxy) i przechodzi między serwerami bez rozlaczania.

Typowa architektura:

Gracz ---> Velocity (proxy) ---> Lobby
                              |-> BedWars-1
                              |-> BedWars-2
                              |-> SkyWars-1
                              |-> KitPvP
                              |-> Survival

Każdy serwer backend to osobna instancja Paper/Spigot z własnymi pluginami, światem i konfiguracja. Velocity przekierowuje graczy między nimi. Możesz to uruchomic na jednej maszynie (różne porty) lub na wielu serwerach fizycznych.

Architektura multi-serwerowa daje kilka kluczowych zalet:

  • Izolacja - crash jednej minigry nie wpływa na pozostale
  • Skalowalnosc - możesz dodawac nowe instancje BedWars gdy rośnie popyt
  • Niezalezne aktualizacje - możesz aktualizowac SkyWars bez dotykania BedWars
  • Rozdział zasobow - każdy serwer ma przydzielony RAM i CPU

Cała siec możesz uruchomic za pomoca Docker Compose lub zarzadzac nia z poziomu Pterodactyla.

Velocity jako proxy

Velocity to rekomendowany proxy dla sieci serwerow Minecraft, stworzony przez zespół PaperMC. Więcej o Velocity vs BungeeCord znajdziesz w poradniku Reverse Proxy.

Konfiguracja Velocity

Plik velocity.toml:

bind = "0.0.0.0:25565"
motd = "Serwer Minigier - minecraft.pl"
max-players = 200
online-mode = true
player-info-forwarding-mode = "modern"

[servers]
lobby = "127.0.0.1:25570"
bedwars1 = "127.0.0.1:25571"
bedwars2 = "127.0.0.1:25572"
skywars1 = "127.0.0.1:25573"
kitpvp = "127.0.0.1:25574"
try = ["lobby"]

[forced-hosts]
"mc.minecraft.pl" = ["lobby"]

Sekcja [servers] definiuje serwery backend z ich adresami. try to lista serwerow, na które gracz trafia po połączeniu (tu: lobby). player-info-forwarding-mode = "modern" to bezpieczny sposob przekazywania IP gracza do serwerow backend - musi być skonfigurowany również na serwerach Paper.

Konfiguracja Paper dla Velocity

Na każdym serwerze backend edytuj config/paper-global.yml:

proxies:
  velocity:
    enabled: true
    online-mode: true
    secret: "TWOJ_SEKRET_Z_VELOCITY"

Sekret musi być identyczny z plikiem forwarding.secret wygenerowanym przez Velocity. Ustaw tez online-mode=false w server.properties każdego serwera backend (weryfikacja odbywa się na proxy, nie na backendach).

Serwer lobby

Lobby to serwer powitalny, na który gracze trafiaja po połączeniu. Tutaj wybieraja minigre, przegladaja statystyki i personalizuja postac. Dobre lobby powinno:

  • Ladna mapa - starannie zbudowane lobby to wizytowka serwera
  • NPC z wyborem minigier - klikalne postacie prowadzace do każdej minigry
  • Scoreboard - wyswietlanie rang, monet, statystyk na bocznym panelu
  • Szybka nawigacja - kompas lub menu z lista serwerow
  • Ochrona - gracze nie mogą niszczyc lobby, PvP wyłączone

Pluginy do lobby

Plugin Funkcja
Citizens NPC z klikalnymi akcjami (przeniesienie na serwer minigry)
LobbyAPI / LobbySystem Pełny system lobby (double jump, ochrona, hidden players)
DeluxeMenus Menu GUI z kompasem - klikalne ikony serwerow
TAB Personalizacja listy graczy z rangami i statystykami
WorldGuard Ochrona mapy lobby przed zniszczeniem
ViaVersion Obsługa graczy z różnych wersji Minecraft

Plugin do przenoszenia graczy między serwerami to Velocity sam w sobie - komendy /server bedwars1 lub pluginy uzywajace Velocity API do przenoszenia graczy po kliknieciu NPC.

BedWars

BedWars to najpopularniejsza minigra na polskich serwerach. Druzyny chronia swoje łóżka i probuja zniszczyć łóżka przeciwnikow. Gracz bez łóżka nie może się respawnować.

Pluginy BedWars

Plugin Cena Opis
BedWars1058 Darmowy Najpopularniejszy darmowy plugin BedWars. Pełna rozgrywka, generatory, sklep, statystyki
BedWars Reloaded Darmowy Alternatywa z dobrym wsparciem. Obsluguje wielojezycznosc
ScreamBedwars Darmowy Fork BedWars1058 z usprawnieniami i poprawkami błędów

Konfiguracja areny BedWars

  1. Zbuduj mapę areny (wyspy dla druzyn, mapa srodkowa, generatory)
  2. Uzyj komendy /bw setup lub /bw admin aby wejsc w tryb konfiguracji
  3. Ustaw spawnpointy druzyn, lokalizacje lozek, generatory żelaza/złota/diamentow/emeraldow
  4. Ustaw punkt respawnu, granice mapy i NPC sklepu
  5. Zapisz arene i przetestuj z innymi graczami

Dla lepszej skalowalnosci wiele serwerow tworzy kilka instancji serwera BedWars (bedwars1, bedwars2, bedwars3), każda z kilkoma arenami. Gdy areny na jednym serwerze sa pełne, gracz jest kierowany na następny.

SkyWars

SkyWars to minigra FFA (free-for-all), gdzie gracze spawnuja się na małych wyspach i walcza o przetrwanie. Ostatni gracz wygrywa.

Pluginy SkyWars

Plugin Cena Opis
SkyWarsReloaded Darmowy Popularny plugin z trybem solo i druzyn. Obsluguje klatki z przedmiotami, eventy i rankingi
SkyWarsX Darmowy Lekka alternatywa z dobrą wydajnoscia

Konfiguracja mapy SkyWars

  1. Zbuduj mapę z 8-16 wyspami (każda z skrzynka startowa)
  2. Ustaw spawnpointy na każdej wyspie
  3. Skonfiguruj zawartośćj skrzynek (losowa z puli przedmiotow)
  4. Ustaw srodkowa wyspe z lepszym lootem
  5. Dodaj event "shrinking border" lub "dragon" po kilku minutach

KitPvP i inne tryby

KitPvP

Gracze wybieraja zestaw ekwipunku (kit) i walcza na arenie PvP. Popularny jako tryb uzupelniajacy - gracze graja w KitPvP w przerwie między rundami BedWars/SkyWars.

  • KitPvP (SpigotMC) - podstawowy plugin z kitami, statystykami i ekonomia
  • PvPManager - zarzadzanie PvP, ochrona noobs, strefy bezpieczeństwa

BuildBattle

Gracze rywalizuja w budowaniu na zadany temat. Po zakonczeniu czasu gracze oceniaja nawzajem swoje budowle. Plugin BuildBattle na SpigotMC.

The Bridge

Druzyna musi przebiec przez most do bazy przeciwnika i wskoczyc do portalu. Szybka, dynamiczna minigra. Plugin TheBridge na SpigotMC.

Murder Mystery

Jeden gracz jest morderca, jeden detektywem, reszta to niewinni. Detektyw musi znaleźć morderce zanim ten zabije wszystkich. Plugin MurderMystery na SpigotMC.

Duels

Pojedynki 1v1 na różnych kitach i mapach. Ranking Elo, statystyki, turnieje. Plugin Duels na SpigotMC.

Areny i mapy

Każda minigra potrzebuje dedykowanych map (aren). Oto porady dotyczace tworzenia i zarzadzania mapami:

Budowanie aren

  • Rozmiar - dostosuj do liczby graczy (BedWars 4x4: duża mapa, BedWars 1x1: mała)
  • Symetria - mapy PvP powinny być symetryczne, aby żadna druzyna nie miala przewagi
  • Loot - rozloz skrzynki rowno, lepszy loot bliżej środka (ryzyko/nagroda)
  • Void - serwery BedWars/SkyWars ustawiaj w świecie void (brak terenu pod wyspami)
  • WorldEdit - uzyj schematic do zapisywania i wczytywania aren

Reset aren

Po każdej rundzie mapa musi wrocic do stanu poczatkowego. Wiekszosc pluginow minigier robi to automatycznie (zapisuja oryginalny stan mapy i odtwarzają go po rundzie). Upewnij się, ze reset działa poprawnie - zepsuty reset to najczestszy bug na serwerach minigier.

Rotacja map

Dodaj kilka map do każdej minigry i skonfiguruj rotacje (losowa lub kolejnosc). Gracze nie powinni grać ciągle na tej samej mapie. Wiekszosc pluginow obsługuje to natywnie.

Rankingi i statystyki

System rankingów motywuje graczy do grania i rywalizacji. Wiekoszosc pluginow minigier ma wbudowane statystyki, ale możesz je rozszerzyc:

  • LeaderHeads - hologramy z top graczami w lobby (najwydajniejszy w zabijaniu, najwięcej wygranych, etc.)
  • DecentHolograms - statyczne hologramy z tablicami wynikow
  • PlaceholderAPI - wyswietlanie statystyk na scoreboardzie i w chacie
  • MySQL - uzyj wspoldzielonej bazy danych dla statystyk między serwerami

Jeśli masz wiele instancji serwera (bedwars1, bedwars2, bedwars3), uzyj wspoldzielonej bazy MySQL, aby statystyki gracza sumowaly się ze wszystkich serwerow. Wiekszosc pluginow BedWars obsługuje MySQL natywnie.

Podsumowanie

Serwer z minigrami to złożony projekt wymagający sieci serwerow, proxy i starannego planowania. Zacznij od Velocity + lobby + jednej minigry (np. BedWars), a następnie rozwijaj oferte w miare wzrostu społeczności.

Powiązane poradniki: