Optymalizacja serwera Minecraft
Kompletny poradnik wydajności - od wyboru oprogramowania serwerowego, przez konfigurację, po monitorowanie TPS i eliminowanie lagów.
Czym jest TPS?
TPS (Ticks Per Second) to podstawowa miara wydajności serwera Minecraft. Serwer wykonuje 20 ticków na sekundę - każdy tick to jeden cykl przetwarzania logiki gry: ruch mobów, wzrost roślin, fizyka bloków, aktualizacja redstone'u, przetwarzanie pakietów sieciowych i setki innych operacji.
Idealny TPS wynosi 20.0 - oznacza to, że serwer nadąża z przetwarzaniem wszystkich operacji w wymaganym czasie (50 milisekund na tick). Gdy TPS spada poniżej 20, gra zaczyna się "spowolniać" - moby poruszają się wolniej, bloki kopią się z opóźnieniem, a gracze odczuwają lagi.
Warto rozróżnić TPS od MSPT (Milliseconds Per Tick). MSPT to rzeczywisty czas przetwarzania jednego ticku. Jeśli MSPT wynosi 40 ms, serwer ma zapas 10 ms (tick musi zmieścić się w 50 ms). Jeśli MSPT przekracza 50 ms, TPS spada poniżej 20.
Wskazówka: TPS = 20 nie zawsze oznacza brak problemów. Serwer może mieć TPS 20, ale MSPT 48 ms - pozornie wszystko w porządku, ale jeden dodatkowy gracz lub exploit może spowodować spadek. Monitoruj MSPT, nie tylko TPS.
Paper vs Spigot vs Purpur
Wybór oprogramowania serwerowego ma ogromny wpływ na wydajność. Oto porównanie trzech najpopularniejszych opcji:
Spigot
Spigot to pierwszy poważny fork serwera Minecraft z obsługą pluginów Bukkit API. Oferuje lepszą wydajność niż Vanilla dzięki optymalizacjom takim jak grupowanie ticków mobów, optymalizacja TNT i lepsza obsługa chunków. Jednak w 2026 roku Spigot ustępuje Paperowi pod każdym względem wydajnościowym.
Paper (rekomendowany)
Paper to fork Spigota, który dodaje dziesiątki optymalizacji wydajnościowych i napraw exploitów. Oto najważniejsze różnice względem Spigota:
- Asynchroniczne ładowanie chunków - chunki ładują się w osobnych wątkach, nie blokując głównej pętli
- Optymalizacja entity AI - moby poza zasięgiem graczy mają ograniczoną AI
- Naprawione exploity - duplikacja itemów, crash exploity, TNT lag machines
- Optymalizacja świateł - system Starlight do szybszego obliczania oświetlenia
- Lepsza kompresja pakietów - mniejsze obciążenie sieci
- Rozszerzone Paper API - dodatkowe funkcje dla pluginów
Rekomendacja: Paper to złoty standard serwerów Minecraft w 2026 roku. Jeśli nie masz konkretnego powodu, aby używać czegoś innego - wybierz Paper. Jest w pełni kompatybilny z pluginami Bukkit/Spigot.
Purpur
Purpur to fork Papera dodający setki opcji konfiguracyjnych. Pozwala na modyfikację zachowania praktycznie każdego aspektu gry: prędkość mobów, crafting, drop rate, mechaniki bloków i wiele więcej. Wydajność jest porównywalna z Paperem (bazuje na tym samym kodzie), ale dodatkowe opcje mogą być przydatne dla administratorów szukających głębokiej personalizacji. Jeśli potrzebujesz modów zamiast pluginów, rozważ Fabric.
Porównanie wydajności
Optymalizacja server.properties
Plik server.properties zawiera ustawienia, które bezpośrednio wpływają na wydajność. Oto optymalne wartości dla serwerów z 20+ graczami:
Uwaga: Nie ustawiaj view-distance i simulation-distance na tę samą wartość. View-distance powinien być wyższy - gracze widzą dalej, ale symulacja (AI, redstone, farmy) działa bliżej. Przykład: view-distance=8, simulation-distance=5.
Konfiguracja Paper
Paper oferuje dodatkowe pliki konfiguracyjne z zaawansowanymi opcjami wydajności. Kluczowe pliki to config/paper-global.yml i config/paper-world-defaults.yml.
paper-world-defaults.yml - najważniejsze opcje
bukkit.yml - limity mobów
Plik bukkit.yml kontroluje globalne limity spawnowania mobów. Domyślne wartości są często zbyt wysokie dla serwerów z wieloma graczami:
Wskazówka: Skorzystaj z minecraft-optimization na GitHubie - to kompleksowy przewodnik po wszystkich opcjach konfiguracyjnych z rekomendowanymi wartościami.
Pre-generowanie chunków
Generowanie nowych chunków to jedna z najcięższych operacji dla serwera Minecraft. Gdy gracz eksploruje nieodwiedzone tereny, serwer musi wygenerować teren, jaskinie, struktury i oświetlenie - to wszystko na głównym wątku. Efekt? Spadek TPS i lagi dla wszystkich graczy na serwerze.
Rozwiązaniem jest pre-generowanie (wstępne generowanie) chunków przed otwarciem serwera dla graczy. Dzięki temu chunki są już gotowe na dysku i ich załadowanie jest wielokrotnie szybsze niż generowanie od zera.
Chunky - najlepsze narzędzie do pre-generowania
Chunky to plugin (i standalone tool) do pre-generowania chunków. Jest szybki, konfigurowalny i może działać w tle bez znaczącego wpływu na rozgrywkę.
Instalacja i użycie:
- Pobierz Chunky - z SpigotMC lub Modrinth. Umieść w folderze
plugins/. - Ustaw granicę świata - przed generowaniem ustal rozmiar świata komendą:
/chunky radius 5000(promień 5000 bloków od spawnu). - Rozpocznij generowanie -
/chunky start. Plugin zacznie generować chunki z informacją o postępie. - Monitoruj postęp -
/chunky progresspokazuje procent ukończenia i szacowany czas. Generowanie 5000 bloków promienia zajmuje 30-60 minut. - Ustaw world border - po wygenerowaniu ustaw granicę świata:
/worldborder set 10000(średnica = 2x promień). Uniemożliwi graczom wychodzenie poza pre-wygenerowany teren.
Rekomendacja: Pre-generuj świat na pustym serwerze (bez graczy) - proces będzie znacznie szybszy. Promień 5000 bloków to dobry kompromis - daje obszar 10 000 x 10 000 bloków, wystarczający dla większości serwerów.
Zarządzanie pluginami
Pluginy to najczęstsze źródło problemów z wydajnością. Źle napisany lub źle skonfigurowany plugin może zużywać więcej zasobów niż cały serwer Minecraft.
Zasady dobrego zarządzania pluginami
- Mniej znaczy więcej - każdy plugin to dodatkowy kod wykonywany na każdym ticku. 15 dobrze dobranych pluginów jest lepsze niż 50 przypadkowych.
- Unikaj duplikatów - nie instaluj dwóch pluginów ekonomii, dwóch systemów ochrony, dwóch pluginów chatu. Konflikty i nadmiarowość zużywają zasoby.
- Aktualizuj regularnie - starsze wersje pluginów mogą zawierać błędy wydajnościowe naprawione w aktualizacjach.
- Usuwaj nieużywane - plugin, którego nie używasz, nadal się ładuje i zużywa RAM. Usuń go z folderu
plugins/. - Sprawdzaj autorów - pluginy od renomowanych autorów (np. team EssentialsX, PaperMC) są lepiej zoptymalizowane niż te od anonimowych deweloperów.
Pluginy szczególnie obciążające serwer
Dynmap
Renderowanie mapy świata jest bardzo obciążające. Ogranicz częstotliwość renderowania, wyłącz renderowanie 3D i ustaw niższy render-distance w konfiguracji Dynmapa. Rozważ BlueMap jako lżejszą alternatywę.
Pluginy hologramów (HD, DecentHolograms)
Hologramy widoczne przez wielu graczy generują dużo pakietów sieciowych. Ograniczaj liczbę hologramów i ich zasięg widzialności.
Pluginy z częstymi zapytaniami SQL
Pluginy wykonujące synchroniczne zapytania do bazy danych (na głównym wątku) mogą powodować spiki lagów. Upewnij się, że pluginy korzystają z asynchronicznych operacji bazodanowych.
Pluginy z schedulerami co tick
Pluginy uruchamiające kod na każdym ticku (20 razy na sekundę) mogą znacząco obciążyć CPU. Spark profiler pomoże zidentyfikować takie pluginy.
Monitorowanie TPS
Regularne monitorowanie wydajności jest kluczowe do utrzymania płynnej rozgrywki. Oto najważniejsze narzędzia:
Spark - profiler #1 dla Minecraft
Spark to nowoczesny profiler wydajności stworzony przez twórcę LuckPerms. Jest wbudowany w Paper (od nowszych wersji) lub dostępny jako plugin. Spark pozwala na:
- Profiling CPU -
/spark profiler start- pokazuje, które fragmenty kodu (pluginy, mechaniki) zużywają najwięcej czasu procesora. Po zakończeniu (/spark profiler stop) generuje raport z interaktywną wizualizacją. - Monitoring TPS i MSPT -
/spark tps- wyświetla aktualny TPS, MSPT i wykorzystanie CPU. - Analiza pamięci -
/spark heapdump- tworzy zrzut pamięci do analizy wycieków. - Monitoring ticków -
/spark tickmonitor- alarmuje, gdy tick trwa dłużej niż 50 ms.
Jak korzystać ze Spark: Uruchom /spark profiler start, graj normalnie przez 5-10 minut, zatrzymaj profiler (/spark profiler stop). Spark wygeneruje link do raportu - otwórz go w przeglądarce i szukaj "najgrubszych" gałęzi w drzewku wywołań. To właśnie one powodują lagi.
Timings (Paper)
Paper Timings to starszy system profilowania wbudowany w Paper. Uruchom /timings report - wygeneruje raport z czasem spędzonym na poszczególnych operacjach. Spark jest nowocześniejszy i daje lepszy wgląd, ale Timings nadal jest przydatny.
Komendy diagnostyczne
Najczęstsze przyczyny lagów
Podsumowanie najczęstszych źródeł problemów z wydajnością i ich rozwiązań:
Za dużo mobów (entities)
Zmniejsz limity w bukkit.yml, ogranicz farmy mobów, skróć zasięg despawnu.
Generowanie nowych chunków
Pre-generuj chunki narzędziem Chunky i ustaw world border.
Ciężkie pluginy
Zidentyfikuj Spark profilerem i zastąp lżejszymi alternatywami lub zoptymalizuj konfigurację.
Redstone clocks / lag machines
Paper naprawia większość exploitów. Dodaj limity redstone'u w konfiguracji lub użyj pluginu anty-lag.
Za mało RAM
Monitoruj użycie pamięci. Jeśli GC (Garbage Collection) wykonuje się zbyt często - zwiększ RAM.
Wolny dysk (HDD zamiast SSD)
Przenieś serwer na dysk SSD (najlepiej NVMe). Różnica jest ogromna.
Podsumowanie
Optymalizacja serwera Minecraft to proces ciągły - nie jednorazowe działanie. Regularne monitorowanie TPS, aktualizowanie oprogramowania i reagowanie na problemy to klucz do utrzymania płynnej rozgrywki dla wszystkich graczy.
- Jak założyć serwer - jeśli dopiero zaczynasz
- Pluginy serwerowe - wybierz odpowiednie wtyczki
- Hosting serwerów - jeśli wydajność domowego sprzętu nie wystarcza
- Typy serwerów - Survival, Skyblock, Factions i inne tryby
- Pobierz Paper - rekomendowane oprogramowanie serwerowe
- Pobierz Purpur - Paper z setkami dodatkowych opcji konfiguracji
- Pobierz Fabric - lekka platforma do serwerów moddowanych
- Pobierz Jave - niezbędna do uruchomienia serwera
- Poradnik redstone - systemy redstone to częste źródło lagów
- minecraft-optimization (GitHub) - najnowsze rekomendacje
Komentarze