×minecraft.pl-15%na hosting MinecraftDDoS · VPS · DedicatedKOD:MCPLAktywuj →
-15%na hosting dla minecraft.pl
DDoS · VPS · DEDICATED · skillhost.pl
MCPLAktywuj →
Discord
Serwery — Silniki i konfiguracja

Paper vs Spigot vs Purpur — który silnik serwera wybrać?

Wybór silnika to jedna z najważniejszych decyzji przy stawianiu serwera Minecraft. Paper, Spigot, Purpur — każdy z nich wyrósł z tego samego pnia, ale poszedł w innym kierunku. Ten przewodnik wyjaśnia różnice w wydajności, kompatybilności z pluginami i konfiguracji, żebyś wiedział dokładnie, co instalujesz.

Czym jest silnik serwera

Silnik serwera (ang. server software) to program, który uruchamia Twój świat Minecraft i obsługuje połączenia graczy. Kiedy pobierasz server.jar ze strony Mojang, dostajesz oficjalny silnik — tzw. Vanilla. Ale społeczność od lat tworzy własne wersje, zoptymalizowane pod konkretne potrzeby.

Każdy silnik alternatywny to fork — odgałęzienie od poprzedniej wersji — z własnym zestawem poprawek, optymalizacji i rozszerzeń API. Łańcuch forkowania wygląda tak: Vanilla → CraftBukkit → Spigot → Paper → Purpur (i inne). Każde ogniwo dziedziczy zmiany poprzednika i dodaje swoje.

Dlaczego to ma znaczenie? Bo silnik decyduje o tym, ile graczy wytrzyma Twój serwer, jakie pluginy możesz zainstalować, jak bardzo możesz dostosować zachowanie gry i ile czasu spędzisz na debugowaniu dziwnych błędów.

Vanilla Server — punkt wyjścia

Oficjalny serwer Mojang to Vanilla — najczystsza możliwa implementacja Minecrafta. Nie ma tu żadnych optymalizacji ani rozszerzeń, tylko to, co Mojang dostarczył. Vanilla jest idealna, gdy zależy Ci na:

  • Pełnej zgodności z mechanikami gry — każdy redstone, każdy farm działa dokładnie tak jak w single-playerze
  • Brak ryzyka, że plugin lub fork zepsuje coś w grze
  • Prostocie — brak konfiguracji poza podstawowymi ustawieniami serwera

Problem z Vanillą ujawnia się przy więcej niż kilkunastu graczach. Oficjalny serwer jest jednowątkowy w swoich krytycznych częściach — cały tick gry (ruch mobków, redstone, fizyka, AI) przetwarzany jest sekwencyjnie. Przy 20 graczach aktywnie eksplorujących mapę TPS (ticks per second) szybko spada poniżej 20, co powoduje lagi i desynce.

Vanilla nie obsługuje też żadnych pluginów — brak API Bukkit/Spigot oznacza brak rozszerzeń funkcjonalności. Do zarządzania serwerem masz tylko komendy operatora i data packi.

CraftBukkit — narodziny ekosystemu pluginów

Historia alternatywnych silników zaczyna się w 2011 roku, gdy społeczność stworzyła CraftBukkit — implementację Bukkit API nakładkę na serwer Vanilla. Bukkit API dało programistom stabilny interfejs do tworzenia pluginów, niezależnie od zmian w wewnętrznym kodzie Minecraft.

CraftBukkit był rewolucją. Nagle tysiące deweloperów mogło tworzyć pluginy bez martwienia się o łatanie NMS (net.minecraft.server) po każdej aktualizacji. Ekosystem pluginów eksplodował — EssentialsX, WorldEdit, WorldGuard, Vault — większość popularnych pluginów, z których korzystają serwery do dziś, pochodzi z tej ery.

W 2014 roku pojawiły się problemy prawne (DMCA od jednego z głównych deweloperów), które zawiesiły oficjalny rozwój CraftBukkit. Pałeczkę przejął Spigot, a następnie Paper.

Dziś CraftBukkit sam w sobie nie jest używany na nowych instalacjach — ale jego dziedzictwo (Bukkit API) żyje we wszystkich nowoczesnych silnikach. Każdy plugin napisany dla CraftBukkit działa na Spigocie, Paperze i Purpurze.

Spigot — standard przez dekadę

Spigot to fork CraftBukkit rozwijany przez md_5 i SpigotMC. Przez lata był de facto standardem dla serwerów Minecraft z pluginami — w szczytowym momencie niemal każdy serwer SMP lub minigames działał na Spigocie.

Co Spigot wnosi względem Vanilla

  • Pełna implementacja Bukkit API — obsługa pluginów z ekosystemu Bukkit
  • Spigot API — rozszerzenie Bukkit API z dodatkowymi zdarzeniami i metodami
  • Optymalizacje entity — konfigurowalny zakres aktywacji mobków (entity-activation-range) pozwala zmniejszyć obciążenie AI przy mobkach oddalonych od graczy
  • View distance per-player — możliwość ustalenia zasięgu widoczności dla każdego gracza osobno
  • Konfiguracja przez spigot.yml — dziesiątki parametrów niedostępnych w Vanilla
  • BungeeCord integration — natywne wsparcie dla sieci serwerów przez proxy BungeeCord

Ograniczenia Spigota

Spigot nadal przetwarza chunki synchronicznie — ładowanie i generowanie świata dzieje się w głównym wątku gry. Przy dużych serwerach z wieloma graczami eksplorującymi nowe obszary to poważne wąskie gardło. Optymalizacje AI mobków są pomocne, ale nie rozwiązują problemu fundamentalnej jednowątkowości.

Spigot zmienia też niektóre mechaniki gry w stosunku do Vanilla — część redstone'owych farmów i technicznych mechanik zachowuje się inaczej. Dla serwerów typowo survivalowych to nieistotne, ale techniczni gracze zwracają na to uwagę.

Kompilacja Spigota wymaga użycia BuildTools — Spigot nie dystrybuuje gotowych binarek ze względów prawnych (zawiera kod Mojang). To lekka niedogodność dla administratorów, którzy chcą szybko zaktualizować serwer.

Paper — nowy lider wydajności

Paper (wcześniej PaperSpigot) to fork Spigota skupiony na wydajności, stabilności i bezpieczeństwie. Dziś jest najczęściej używanym silnikiem dla serwerów Minecraft z pluginami i z powodzeniem wyparł Spigot z roli domyślnego wyboru.

Asynchroniczne ładowanie chunków

Największa zmiana techniczna w Paperze to asynchroniczne ładowanie i generowanie chunków. W Spigocie i Vanilla każdy chunk ładowany jest w głównym wątku — gdy gracz biegnie w nieeksplorowany teren i generowanych jest 20 nowych chunków naraz, TPS spada. Paper przenosi tę pracę do osobnych wątków, zwalniając główny wątek dla logiki gry.

W praktyce oznacza to, że serwer Paper obsługuje więcej graczy eksplorujących świat bez spadków TPS. Na serwerach SMP z aktywną bazą graczy różnica jest wyraźna — Paper przy 30 graczach zachowuje stały TPS 20, gdzie Spigot zaczyna odczuwać problemy.

Poprawki błędów i wektory exploitów

Paper naprawia setki błędów obecnych w Vanilla i Spigocie — wiele z nich dotyczy exploitów i duplikatorów itemów. Jeśli zależy Ci na uczciwej rozgrywce survivalowej, Paper zapobiega większości znanych metod duplikacji (TNT duper, carpet dupe i inne).

Z drugiej strony — jeśli prowadzisz serwer techniczny, gdzie celowo korzystasz z duplikatorów jako zatwierdzonych mechanik, niektóre poprawki Papera mogą być problematyczne. Paper umożliwia wyłączenie większości z nich przez paper-global.yml.

Paper API

Paper rozszerza Bukkit/Spigot API o własne klasy i zdarzenia. Paper API oferuje m.in. asynchroniczne eventy, lepszą kontrolę nad zachowaniem chunków, rozszerzony dostęp do danych gracza i wydajniejsze metody iteracji po entity. Pluginy pisane pod Paper API w pełni korzystają z tych optymalizacji.

Konfiguracja paper-global.yml i paper-world-defaults.yml

Paper wprowadza własne pliki konfiguracyjne obok spigot.yml i server.properties. Kluczowe opcje:

  • async-chunks — sterowanie asynchronicznym ładowaniem chunków
  • max-auto-save-chunks-per-tick — limit chunków zapisywanych per tick (zmniejsza lag spowodowany autosave)
  • optimize-explosions — optymalizacja kalkulacji TNT i Creepera
  • use-faster-eigencraft-redstone — opcjonalna implementacja redstone zmniejszająca zużycie CPU
  • fix-climbing-bypassing-cramming-rule i dziesiątki innych poprawek, które można włączyć lub wyłączyć osobno

Dystrybucja

Paper jest dostępny jako gotowe binarka na papermc.io — nie wymaga kompilacji przez BuildTools jak Spigot. Aktualizacja to pobranie nowego paper.jar i restart serwera.

Purpur — maksymalna konfigurowalność

Purpur to fork Papera (z elementami Pufferfisha — innego forka Paper skupionego na optymalizacjach AI). Cel Purpura jest jasny: dać administratorom maksymalną kontrolę nad zachowaniem gry bez konieczności instalowania dziesiątek pluginów.

Setki dodatkowych opcji konfiguracyjnych

Purpur dodaje własny plik purpur.yml z ponad 300 opcjami konfiguracyjnymi. Możesz tam ustawić np.:

  • Jeździectwo mobków — pozwól graczom jeździć na zombiach, krowach, wieprzach bez siodła, rekinach, Enderdraku czy Witherze
  • Zmiana statystyk istot — zmodyfikuj HP, obrażenia, szybkość i zachowanie każdego moba osobno
  • Dodatkowe bloki do craftingu — odblokuj nieużywane lub usunięte receptury
  • Zachowanie śmierci — nie trać XP po śmierci, zachowaj część itemów, ustaw cooldown respawnu
  • Mechaniki gracza — latanie w kreatywnym trybie bez limitu prędkości, modyfikacja statystyk głodu, plecak na plecach
  • Customizacja Creepera — eksploduj dopiero po X sekundach stoisz w miejscu, nie niwecz toru doświadczenia przy śmierci z wybuchu
  • Enderman bez teleportacji w deszczu i wiele innych drobnych zmian mechanik

Wydajność Purpura

Purpur bazuje na Paperze i Pufferfishu, więc dziedziczy asynchroniczne ładowanie chunków i wszystkie optymalizacje Papera. Pufferfish dodaje optymalizację DABS (Dynamic Activation of Brain System) — inteligentniejszy system aktywacji AI mobków, który zamiast stałego zakresu aktywacji (entity-activation-range) dynamicznie dostosowuje częstotliwość tickowania AI w zależności od odległości od gracza.

Na praktycznych benchmarkach Purpur osiąga wyniki zbliżone do Papera, a przy dużej liczbie mobków nawet nieco lepsze dzięki DABS. Nie jest wolniejszy od Papera w żadnym typowym scenariuszu.

Purpur API

Purpur rozszerza Paper API, dodając dostęp do swoich unikalnych mechanik. Pluginy pisane pod Purpur API korzystają np. z customizacji mobków i rozszerzonych zdarzeń. Wszystkie pluginy Spigot i Paper działają oczywiście bez zmian.

Kto powinien wybrać Purpur

Purpur idealnie sprawdza się na serwerach survivalowych, RPG i semi-vanilla, gdzie chcesz zmodyfikować gameplay bez instalowania osobnego pluginu do każdej drobnej zmiany. Zamiast konfigurować 10 różnych pluginów odpowiadających za modyfikacje mobków, śmierci i mechanik gracza — ustawiasz wszystko w jednym pliku purpur.yml.

Folia — przyszłość wielowątkowości

Folia to eksperymentalny fork Papera, który idzie o krok dalej niż asynchroniczne chunkowanie. Folia dzieli mapę na niezależne regiony, z których każdy może być przetwarzany w osobnym wątku. To prawdziwa wielowątkowość na poziomie logiki gry, nie tylko ładowania chunków.

W teorii Folia pozwala skalować serwer na wiele rdzeni procesora proporcjonalnie do aktywnych obszarów na mapie. Serwer z 100 graczami rozrzuconymi po dużej mapie może korzystać z 8 lub 16 rdzeni jednocześnie, gdzie tradycyjne silniki utknęłyby na jednym wątku.

Ograniczenia Folii

Folia jest przeznaczona wyłącznie dla bardzo dużych sieci serwerów z setkami graczy. Ma kilka poważnych ograniczeń, które dyskwalifikują ją do typowego użycia:

  • Kompatybilność z pluginami — większość pluginów Bukkit/Spigot/Paper NIE działa na Folii bez przepisania. Pluginy muszą być świadome wielowątkowości i korzystać z Folia API
  • Brak wielu mechanik gry — globalne timery, niektóre eventy i mechaniki zakładające globalny tick nie działają poprawnie w modelu regionalnym
  • Skomplikowana konfiguracja — wymaga doświadczenia w administracji serwerami
  • Status eksperymentalny — nadal aktywnie rozwijana, mogą pojawiać się błędy

Dla większości administratorów Folia to ciekawostka techniczna, nie praktyczny wybór. Paper w zupełności wystarcza nawet dla serwerów z 100+ graczami przy odpowiedniej konfiguracji.

Porównanie wydajności i funkcji

Poniższa tabela zestawia kluczowe cechy każdego silnika:

Silnik Wydajność Pluginy Bukkit/Spigot Własne API Konfigurowalność Dla kogo
Vanilla Niska przy wielu graczach Brak Brak Minimalna Małe serwery bez pluginów
Spigot Średnia Pełna Spigot API Dobra (spigot.yml) Starsze instalacje, legacy pluginy
Paper Wysoka (async chunks) Pełna Paper API Bardzo dobra Większość serwerów
Purpur Wysoka (Paper + DABS) Pełna Purpur API Maksymalna (300+ opcji) Survival, RPG, semi-vanilla
Folia Bardzo wysoka (wielowątkowa) Ograniczona Folia API Zaawansowana Sieci 200+ graczy

TPS i chunk loading — liczby z benchmarków

W testach porównawczych dla serwera z 50 graczami aktywnie eksplorującymi mapę (generowanie nowych chunków, duże farmy):

  • Vanilla — TPS spada do 14–16 przy intensywnej eksploracji
  • Spigot — TPS utrzymuje się w okolicach 17–18, czasem spada do 15 przy masowym generowaniu
  • Paper — TPS stabilnie 19–20, asynchroniczne chunki nie obciążają głównego wątku
  • Purpur — wyniki zbliżone do Papera, przy dużej liczbie mobków minimalnie lepszy dzięki DABS

Różnica między Paper a Spigot jest wyraźna przy eksploracji i farmach mobków. Przy serwerze z 10 graczami budującymi w jednym miejscu różnica jest niezauważalna.

Kompatybilność z pluginami

Ekosystem pluginów dla serwerów Minecraft opiera się na Bukkit API. Ponieważ każdy z omawianych silników (poza Vanillą i Folią) implementuje to API, kompatybilność jest zasadniczo zachowana:

Bukkit API

Wszystkie pluginy korzystające wyłącznie z klas org.bukkit.* działają na Spigocie, Paperze i Purpurze bez żadnych zmian. To ogromna większość pluginów dostępnych na SpigotMC, Modrinth czy BuiltByBit.

Spigot API

Pluginy używające klas org.spigotmc.* i net.md_5.bungee.* (Spigot API) działają na Spigocie, Paperze i Purpurze — Paper i Purpur w pełni implementują Spigot API jako warstwę kompatybilności.

Paper API

Pluginy korzystające z klas io.papermc.paper.* działają tylko na Paperze i Purpurze (oraz innych forkach Papera). Na Spigocie lub Vanilla nie uruchomią się. Dotyczy to m.in. pluginów korzystających z Paper's async scheduler, chunk API czy rozszerzonych zdarzeń.

Purpur API

Pluginy korzystające z org.purpurmc.purpur.* działają tylko na Purpurze. Są to głównie pluginy korzystające z unikalnych mechanik Purpura (customizacja mobków, rozszerzone zdarzenia jeździectwa). Takich pluginów jest relatywnie mało.

NMS (net.minecraft.server)

Pluginy używające NMS — bezpośredniego dostępu do wewnętrznego kodu Minecraft — działają na konkretnej wersji silnika i mogą psuć się po aktualizacjach. Paper i Purpur mogą nieznacznie zmienić wewnętrzne klasy NMS względem Spigota, co czasem powoduje problemy z pluginami silnie korzystającymi z NMS (np. niektóre pluginy do NPC czy custom entity).

Wskazówka: Przed migracją ze Spigota na Paper warto sprawdzić listę zainstalowanych pluginów pod kątem tych korzystających z NMS. Większość nowoczesnych pluginów używa wyłącznie stabilnego Bukkit/Spigot API i działa bez problemów.

Który silnik wybrać?

Prosta ścieżka decyzyjna dla administratorów:

Wybierz Paper jeśli...

  • Stawiasz nowy serwer i nie masz szczególnych wymagań — Paper to domyślny wybór dla 90% serwerów
  • Prowadzisz serwer survival, SMP, minigames z pluginami
  • Chcesz maksymalnej stabilności i aktywnie rozwijanego projektu z dużą społecznością
  • Masz mniej niż 100 graczy online jednocześnie
  • Chcesz prostej aktualizacji — pobierasz nowy JAR i restartuj

Wybierz Purpur jeśli...

  • Prowadzisz serwer survival lub RPG i chcesz modyfikować mechaniki gry bez wielu pluginów
  • Chcesz umożliwić graczom jeżdżenie na mobkach, zmienić statystyki potworów lub dostosować mechniki śmierci
  • Lubisz mieć wszystko w jednym pliku konfiguracyjnym zamiast rozrzucać ustawienia po dziesiątkach pluginów
  • Korzystasz z pluginów napisanych pod Paper — Purpur je obsługuje bez zmian

Zostań na Spigocie jeśli...

  • Masz działający serwer ze starymi pluginami korzystającymi z NMS Spigota i migracja wymaga zbyt dużego nakładu pracy
  • Prowadzisz sieć BungeeCord z serwerami, które były konfigurowane pod specyficzne zachowanie Spigota
  • W specyficznym przypadku technicznym potrzebujesz zachowania vanilla-like redstone (choć Paper też oferuje tryb vanilla-like redstone)

Rozważ Folię jeśli...

  • Prowadzisz publiczny serwer z regularnie powyżej 200 graczy online
  • Masz doświadczenie w administracji serwerami i czas na dostosowanie pluginów
  • Dysponujesz maszyną z wieloma rdzeniami CPU i chcesz je efektywnie wykorzystać

Nie używaj Vanilla z pluginami — to niemożliwe

Vanilla nie obsługuje pluginów Bukkit. Jeśli chcesz jakiekolwiek pluginy — musisz wybrać Spigot, Paper, Purpur lub inny fork Bukkit. Vanilla ma sens tylko dla czystego survivalu bez żadnych rozszerzeń lub do testowania oficjalnych wersji zaraz po premierze, zanim forki zostaną zaktualizowane.

Krótkie podsumowanie dla niecierpliwych: Zainstaluj Paper. Jeśli chcesz więcej opcji gry bez pluginów — zainstaluj Purpur. Spigot jest wyborem tylko wtedy, gdy masz ku temu konkretny powód. Folia to temat na inną rozmowę, gdy Twój serwer naprawdę osiągnie skalę, na której jej zalety mają znaczenie.

Jeśli chcesz postawić swój pierwszy serwer, sprawdź nasz poradnik jak stworzyć serwer Minecraft krok po kroku, a jeśli szukasz taniego hostingu z Paper w panelu — zajrzyj do przewodnika po hostingu za darmo i płatnych opcjach.

Powiązane strony