Optymalizacja serwera Minecraft – TPS, lagi, RAM i CPU
Sprawdź, jak zoptymalizować serwer Minecraft: zwiększyć TPS, zmniejszyć lagi oraz ograniczyć zużycie RAM i CPU bez ryzykownych zmian.
Optymalizacja serwera Minecraft nie polega na wpisaniu jednej magicznej komendy. Stabilna rozgrywka wymaga znalezienia przyczyny problemu, zmierzenia obciążenia i dopiero wtedy dobrania ustawień. Lagi mogą wynikać z przeciążenia CPU, braku pamięci RAM, generowania nowych chunków, dużej liczby mobów, redstone, pluginów albo opóźnień sieciowych.
Ten poradnik jest punktem wyjścia dla właścicieli serwerów Minecraft Java, szczególnie działających na Paper. Pokazuje, jak zwiększyć TPS, ograniczyć lagi oraz rozsądnie zmniejszyć zużycie RAM i CPU. Jeżeli dopiero szukasz infrastruktury pod własny serwer, zobacz hosting Minecraft Java Vorlantix z dostępem do konfiguracji i panelu zarządzania.
Co oznaczają TPS i MSPT?
TPS, czyli ticks per second, określa, ile cykli symulacji serwer wykonuje w ciągu sekundy. Docelowo serwer Minecraft działa z wynikiem 20 TPS. Jeżeli tick trwa zbyt długo, serwer nie nadąża z obliczeniami, a gracze odczuwają opóźnienia.
MSPT, czyli milliseconds per tick, pokazuje czas potrzebny na wykonanie jednego ticka. Przy 20 TPS tick powinien zmieścić się w około 50 ms. Niższy MSPT oznacza większy zapas wydajności. Dlatego sam TPS nie wystarczy do diagnozy — warto obserwować oba wskaźniki oraz sprawdzać, kiedy i przy jakiej aktywności problem się pojawia.
Do szybkiego pomiaru możesz użyć komend dostępnych w Paper:
/tps
/mspt
W nowszych wydaniach Paper do profilowania wydajności zalecany jest również Spark. Szczegółową instrukcję znajdziesz w przygotowywanym poradniku Jak sprawdzić TPS i MSPT serwera Minecraft?.
Co najczęściej obciąża serwer Minecraft?
Przed zmianą konfiguracji ustal, co faktycznie generuje obciążenie. Najczęstsze źródła problemów to:
- generowanie nowych chunków podczas szybkiego przemieszczania się graczy,
- zbyt wysoki
simulation-distancei duża liczba aktywnych obszarów, - farmy mobów, villagerzy, hoppery i rozbudowane mechanizmy redstone,
- pluginy wykonujące ciężkie operacje w głównym wątku serwera,
- duża liczba encji, przedmiotów leżących na ziemi i obciążających chunków,
- niewystarczająca pamięć RAM albo zbyt agresywne ustawienia JVM,
- problemy sieciowe, które wyglądają jak lagi serwera, ale nie obniżają TPS.
Nie każdy problem rozwiązuje zwiększenie RAM. Jeżeli jeden plugin blokuje główny wątek, większa pamięć nie skróci czasu wykonywania ticka. Z kolei przy częstym generowaniu świata ograniczenie render distance może pomóc, ale nie zastąpi pregenerowania mapy.
Jak zwiększyć TPS i zmniejszyć lagi?
Najpierw wykonaj pomiar w momencie występowania problemu. Zapisz godzinę, liczbę graczy, aktywność na mapie i wynik TPS/MSPT. Następnie zmieniaj jedną rzecz naraz. Dzięki temu będziesz wiedzieć, która zmiana rzeczywiście pomogła.
Ogranicz odległość renderowania i symulacji
W pliku server.properties znajdziesz między innymi:
view-distance=8
simulation-distance=6
view-distance określa, ile danych świata serwer wysyła graczom, a simulation-distance wpływa na obszar, w którym aktywnie działają encje i mechanizmy. Wyższe wartości mogą poprawić widoczność, ale zwiększają pracę serwera. Dla małej lub średniej instancji zacznij od umiarkowanych ustawień, a potem sprawdź efekt.
Jeżeli problem dotyczy głównie CPU i ticków, najpierw obniż simulation-distance. Jeżeli gracze mają problemy z doczytywaniem terenu lub serwer wysyła zbyt dużo danych, przetestuj również view-distance. Po każdej zmianie wykonaj pełny restart.
Ogranicz generowanie nowych chunków
Eksploracja nieodkrytych terenów jest kosztowna, ponieważ serwer musi wygenerować teren, struktury i dane biomów. Warto pregenerować obszar świata przed otwarciem serwera albo ograniczyć granicę świata. Dzięki temu gracze nie będą jednocześnie wymuszać generowania wielu nowych regionów.
Jeżeli lagi występują tylko podczas szybkiego lotu lub przemieszczania się po nowych terenach, przyczyną prawdopodobnie jest generowanie chunków, a nie sam plugin czatu czy ekonomii.
Kontroluj encje i mechanizmy
Sprawdź miejsca z dużą liczbą villagerów, zwierząt, minecartów, hopperów i przedmiotów leżących na ziemi. Nie usuwaj ich bez kopii i potwierdzenia z administracją. Najpierw ustal, gdzie znajduje się obciążający obszar, a następnie ogranicz farmę, zmień jej konstrukcję albo zastosuj ustawienia per-world.
Warto także pilnować automatycznych farm i clocków redstone. Mechanizm wykonujący operację co tick może obciążać serwer nawet wtedy, gdy nikt bezpośrednio z niego nie korzysta.
Jak zmniejszyć zużycie RAM?
RAM jest potrzebny między innymi do przechowywania załadowanych chunków, encji, pluginów i danych świata. Zużycie może rosnąć wraz z liczbą graczy, rozmiarem mapy i odległościami aktywnej symulacji.
- Nie ustawiaj maksymalnej wartości RAM dużo wyżej niż potrzebujesz.
- Ogranicz liczbę jednocześnie załadowanych chunków.
- Usuń nieużywane pluginy oraz ich konfiguracje po wykonaniu kopii.
- Kontroluj liczbę encji i automatycznych farm.
- Obserwuj zużycie pamięci w panelu oraz logi po restarcie.
Wysokie użycie pamięci chwilę przed wykonaniem garbage collection nie musi oznaczać awarii. Niepokojące są powtarzające się restarty, błędy OutOfMemoryError, gwałtowne spadki wydajności i sytuacje, w których proces serwera osiąga limit pamięci.
Nie kopiuj przypadkowych flag JVM z poradników przygotowanych dla innej wersji Java lub innego hostingu. Parametry pamięci powinny być dopasowane do planu serwera i konfiguracji startowej dostępnej w panelu klienta Vorlantix.
Osobne omówienie zależności między pamięcią a procesorem znajdziesz w przygotowywanym poradniku Jak zmniejszyć zużycie RAM i CPU na serwerze Minecraft?.
Jak zmniejszyć wykorzystanie CPU?
CPU jest szczególnie ważny dla głównego wątku serwera, który wykonuje ticki. Najczęściej pomaga ograniczenie liczby aktywnych chunków, pregenerowanie mapy oraz znalezienie pluginu lub mechanizmu wykonującego kosztowne operacje.
Nie zwiększaj bez pomiaru liczby wątków i nie zmieniaj ustawień Paper oznaczonych jako eksperymentalne. Paper ma własne bezpieczne wartości domyślne, a niektóre ustawienia globalne i per-world mogą wpływać na chunki, kolizje, encje oraz zapisywanie świata. Szczegółowe ustawienia silnika omówimy w artykule Jak zoptymalizować Paper?.
Jeżeli CPU jest stale zajęty, ale MSPT pozostaje niski, problem może dotyczyć zadań pobocznych, generowania mapy albo procesów niezwiązanych bezpośrednio z tickiem. Jeśli natomiast MSPT rośnie razem z obciążeniem głównego wątku, potrzebna jest analiza konkretnego pluginu, świata lub mechanizmu.
Jak używać Spark do diagnozy?
Spark pozwala zebrać profil pracy serwera i sprawdzić, które zadania zabierają najwięcej czasu. Uruchom profilowanie tylko wtedy, gdy problem rzeczywiście występuje. Profil wykonany podczas bezczynności może nie pokazać przyczyny lagów pojawiających się podczas eksploracji lub dużej liczby graczy.
Podstawowe kroki obejmują instalację zgodnej wersji Spark, rozpoczęcie profilowania, odtworzenie problemu, zatrzymanie profilera i analizę raportu. Nie udostępniaj publicznie raportu, jeśli zawiera informacje, których nie chcesz ujawniać. Szczegółowa instrukcja będzie dostępna w artykule Jak używać Spark do diagnozy lagów?.
Bezpieczna kolejność optymalizacji
- Wykonaj backup świata, konfiguracji i pluginów.
- Zapisz wynik TPS/MSPT oraz moment występowania problemu.
- Sprawdź logi i listę aktywnych pluginów.
- Uruchom profilowanie Spark w czasie realnego obciążenia.
- Ogranicz generowanie chunków, odległości i obciążające mechanizmy.
- Wprowadź jedną zmianę i wykonaj restart.
- Porównaj wyniki przed i po zmianie.
Unikaj gotowych paczek „optymalizacyjnych”, które nadpisują wiele plików naraz. Mogą zmieniać zachowanie gry, powodować konflikty z pluginami albo utrudniać znalezienie przyczyny problemu. Dobra optymalizacja powinna być mierzalna i odwracalna.
Najczęstsze błędy
Zwiększenie RAM jako jedyna metoda
Więcej pamięci nie naprawi wolnego głównego wątku, źle napisanego pluginu ani farmy generującej tysiące operacji na tick. Najpierw znajdź źródło obciążenia, a dopiero potem oceń, czy potrzebujesz większego planu.
Zmiana wielu ustawień jednocześnie
Jeżeli jednocześnie obniżysz dystanse, usuniesz pluginy i zmienisz konfigurację Paper, nie będziesz wiedzieć, co pomogło. Wprowadzaj małe zmiany i zapisuj wyniki.
Mylenie lagów serwera z opóźnieniem sieciowym
Spadek TPS i wysoki MSPT wskazują na problem z przetwarzaniem po stronie serwera. Opóźnienia, cofanie gracza lub rozłączanie bez spadku TPS mogą wskazywać na sieć, trasę do serwera albo komputer klienta. Te problemy wymagają innej diagnostyki.
Podsumowanie
Skuteczna optymalizacja Minecraft zaczyna się od pomiaru, a nie od przypadkowej zmiany konfiguracji. Sprawdź TPS i MSPT, znajdź obciążające pluginy lub obszary świata, ogranicz aktywne chunki i dopiero wtedy dostosuj RAM, CPU oraz ustawienia Paper. Korzystaj z kopii zapasowych, testuj jedną zmianę naraz i korzystaj z profilera Spark, gdy nie wiesz, co powoduje lagi.
Potrzebujesz własnego serwera? Sprawdź ofertę Vorlantix.