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ówmax-auto-save-chunks-per-tick— limit chunków zapisywanych per tick (zmniejsza lag spowodowany autosave)optimize-explosions— optymalizacja kalkulacji TNT i Creeperause-faster-eigencraft-redstone— opcjonalna implementacja redstone zmniejszająca zużycie CPUfix-climbing-bypassing-cramming-rulei 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.