Discord
Wiki - Serwery

Serwer Minecraft z minigrami

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 serwerów

Serwer z minigrami nie jest jednym serwerem - to siec serwerów (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 uruchomić 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 pozostałe
  • Skalowalność - możesz dodawać nowe instancje BedWars gdy rośnie popyt
  • Niezależne aktualizacje - możesz aktualizować SkyWars bez dotykania BedWars
  • Rozdział zasobów - każdy serwer ma przydzielony RAM i CPU

Cała siec możesz uruchomić za pomocą Docker Compose lub zarządzać nia z poziomu Pterodactyla.

Velocity jako proxy

Velocity to rekomendowany proxy dla sieci serwerów 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 serwerów, na które gracz trafia po połączeniu (tu: lobby). player-info-forwarding-mode = "modern" to bezpieczny sposób przekazywania IP gracza do serwerów 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 trafiają po połączeniu. Tutaj wybierają minigrę, przeglądają statystyki i personalizuja postac. Dobre lobby powinno:

  • Ladna mapa - starannie zbudowane lobby to wizytowka serwera
  • NPC z wyborem minigier - klikalne postacie prowadzące do każdej minigry
  • Scoreboard - wyświetlanie rang, monet, statystyk na bocznym panelu
  • Szybka nawigacja - kompas lub menu z lista serwerów
  • Ochrona - gracze nie mogą niszczyć 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 serwerów
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 używające Velocity API do przenoszenia graczy po kliknięciu NPC.

BedWars

BedWars to najpopularniejsza minigra na polskich serwerach. Drużyny chronią swoje łóżka i próbują 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. Obsługuje wielojezycznosc
ScreamBedwars Darmowy Fork BedWars1058 z usprawnieniami i poprawkami błędów

Konfiguracja areny BedWars

  1. Zbuduj mapę areny (wyspy dla drużyn, mapa środkowa, generatory)
  2. Użyj komendy /bw setup lub /bw admin aby wejść w tryb konfiguracji
  3. Ustaw spawnpointy drużyn, lokalizacje łóżek, generatory żelaza/złota/diamentow/emeraldow
  4. Ustaw punkt respawnu, granice mapy i NPC sklepu
  5. Zapisz arenę i przetestuj z innymi graczami

Dla lepszej skalowalnosci wiele serwerów 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 walczą o przetrwanie. Ostatni gracz wygrywa.

Pluginy SkyWars

Plugin Cena Opis
SkyWarsReloaded Darmowy Popularny plugin z trybem solo i druzyn. Obsługuje klatki z przedmiotami, eventy i rankingi
SkyWarsX Darmowy Lekka alternatywa z dobrą wydajnością

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 przedmiotów)
  4. Ustaw środkowa wyspę z lepszym lootem
  5. Dodaj event "shrinking border" lub "dragon" po kilku minutach

KitPvP i inne tryby

KitPvP

Gracze wybierają zestaw ekwipunku (kit) i walczą 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 - zarządzanie PvP, ochrona noobs, strefy bezpieczeństwa

BuildBattle

Gracze rywalizują w budowaniu na zadany temat. Po zakończeniu czasu gracze oceniają nawzajem swoje budowle. Plugin BuildBattle na SpigotMC.

The Bridge

Drużyna 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 dotyczące tworzenia i zarządzania 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 drużyna nie miała przewagi
  • Loot - rozłóż skrzynki równo, lepszy loot bliżej środka (ryzyko/nagroda)
  • Void - serwery BedWars/SkyWars ustawiaj w świecie void (brak terenu pod wyspami)
  • WorldEdit - użyj schematic do zapisywania i wczytywania aren

Reset aren

Po każdej rundzie mapa musi wrócić do stanu poczatkowego. Większość pluginów minigier robi to automatycznie (zapisują oryginalny stan mapy i odtwarzają go po rundzie). Upewnij się, ze reset działa poprawnie - zepsuty reset to najczęstszy bug na serwerach minigier.

Rotacja map

Dodaj kilka map do każdej minigry i skonfiguruj rotacje (losowa lub kolejność). Gracze nie powinni grać ciągle na tej samej mapie. Większość pluginów obsługuje to natywnie.

Rankingi i statystyki

System rankingów motywuje graczy do grania i rywalizacji. Wiekoszosc pluginów 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 wyników
  • PlaceholderAPI - wyświetlanie statystyk na scoreboardzie i w chacie
  • MySQL - użyj wspoldzielonej bazy danych dla statystyk między serwerami

Jeśli masz wiele instancji serwera (bedwars1, bedwars2, bedwars3), użyj wspoldzielonej bazy MySQL, aby statystyki gracza sumowaly się ze wszystkich serwerow. Większość pluginów BedWars obsługuje MySQL natywnie.

Podsumowanie

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

Powiązane poradniki: