„Minecraft laguje” może oznaczać trzy różne problemy: serwer nie wyrabia z tickami, klient ma za mało FPS albo gracz ma opóźnienia sieciowe. Zanim zmienisz parametry startowe, ustal, który z tych objawów faktycznie występuje.
1. Najpierw rozpoznaj rodzaj problemu
Opóźnione niszczenie bloków, cofanie postaci i wolne działanie wszystkich graczy wskazują zwykle na problem serwera. Niska płynność obrazu tylko u jednej osoby to raczej FPS albo ustawienia klienta. Wysoki ping objawia się opóźnieniem komunikacji między graczem a serwerem, nawet gdy serwer utrzymuje prawidłowe ticki.
Poproś kilku graczy o opis objawu i sprawdź, czy problem pojawia się w konkretnym świecie, przy określonej farmie, podczas generowania nowych chunków albo po uruchomieniu konkretnej funkcji. Ta informacja jest cenniejsza niż przypadkowa zmiana kilkunastu plików konfiguracyjnych.
2. TPS i MSPT — co właściwie mierzyć?
TPS oznacza liczbę ticków serwera wykonywanych w ciągu sekundy. Celem jest 20 TPS. MSPT mówi, ile milisekund zajmuje wykonanie jednego ticka — aby utrzymać 20 TPS, średni czas powinien mieścić się poniżej 50 ms. Paper opisuje te wskaźniki w dokumentacji komend i zaznacza, że do dokładniejszej diagnozy preferowany jest spark.
Nie traktuj samego zużycia RAM jako dowodu lagów. Java może wykorzystywać przydzieloną pamięć bez tego, aby serwer był przeciążony. Problemem jest między innymi brak pamięci powodujący OOM, długie pauzy garbage collectora, za dużo obiektów, generowanie świata albo plugin blokujący główny wątek.
3. Użyj spark, gdy problem faktycznie występuje
W aktualnych wersjach Paper spark jest preferowanym narzędziem do profilowania. Uruchom profil podczas odtwarzania problemu, na przykład /spark profiler start --timeout 300. Po zakończeniu otrzymasz raport, w którym można sprawdzić, jakie operacje zużywały czas ticka. Paper zaleca dołączenie takiego raportu przy proszeniu o pomoc na swoim Discordzie.
Nie profiluj tylko pustego lobby, jeśli lagi pojawiają się przy eksploracji świata. Zapisz godzinę problemu, liczbę graczy, aktywny świat i wykonywaną czynność. Raport bez kontekstu jest trudniejszy do zinterpretowania.
Dokumentacja PaperMC: profilowanie i spark zawiera aktualne komendy oraz wyjaśnienie, dlaczego stare Timings nie powinny być pierwszym wyborem.
4. Najczęstsze przyczyny spadków wydajności
- Generowanie chunków: nowa mapa i szybka eksploracja mogą chwilowo obciążyć główny wątek. Rozważ pregenerowanie świata przed premierą.
- Encje i farmy: setki zwierząt, przedmiotów na ziemi, hopperów lub maszyn mogą obciążać ticki. Najpierw zmierz problem, potem wprowadź limit lub zmianę mechaniki.
- Plugin: wadliwa wersja, zła konfiguracja albo zapytanie wykonywane zbyt często może spowolnić cały serwer. Sprawdź logi i raport spark.
- Świat i widoczność: view-distance oraz simulation-distance wpływają na liczbę ładowanych i aktualizowanych chunków, ale ich obniżenie zmienia doświadczenie graczy.
- Aktualizacja: stary silnik lub plugin może mieć znany błąd. Przed aktualizacją wykonaj backup i sprawdź kompatybilność.
Paper ostrzega również przed kopiowaniem gotowych „super optymalnych” konfiguracji bez zrozumienia ich skutków. W przypadku problemów z farmą lub redstone warto najpierw wrócić do ustawień bazowych i porównać zachowanie.
5. Wprowadzaj zmiany pojedynczo
Zrób kopię konfiguracji, zapisz wartości wyjściowe i zmień jeden element. Po restarcie sprawdź TPS, MSPT, logi oraz zachowanie graczy. Jeśli zmienisz jednocześnie RAM, odległość widzenia, kilkanaście pluginów i ustawienia mobów, nie będziesz wiedzieć, co pomogło ani co zepsuło mechanikę.
Nie wyłączaj ochrony, logowania ani backupów tylko po to, aby zyskać kilka ticków. W publicznym projekcie stabilność obejmuje również możliwość odtworzenia świata, prześledzenia griefingu i cofnięcia błędnej aktualizacji. Dokumentacja Paper zaleca wykonanie kopii przed aktualizacją serwera i pluginów.
6. Prosty plan diagnostyki
Kolejność działań
- ustal, czy problem dotyczy serwera, klienta czy sieci;
- sprawdź TPS, MSPT i logi w czasie występowania problemu;
- uruchom raport spark i zanotuj liczbę graczy oraz aktywny świat;
- znajdź plugin, świat, farmę albo czynność związaną ze skokiem obciążenia;
- zrób backup i wprowadź jedną zmianę;
- porównaj wynik i dopiero wtedy przejdź do kolejnego kroku.
Więcej informacji znajdziesz w podstawowej dokumentacji rozwiązywania problemów PaperMC. Po ustabilizowaniu projektu zaktualizuj profil na liście serwerów, aby gracze widzieli prawidłową wersję i informacje o rozgrywce.