Lagi i wydajność serwera Minecraft
Krok po kroku: jak sprawdzić, skąd biorą się lagi na serwerze Minecraft, i jak je zmniejszyć: spark, zasięg widzenia, Chunky i nocny restart.
Na tej stronie8 sekcji
Serwer Minecraft wykonuje 20 cykli (ticków) na sekundę, a każdy może trwać najwyżej 50 ms. Gdy serwer nie nadąża, TPS spada poniżej 20 i wszyscy widzą lagi: bloki wracają na miejsce, moby skaczą, czas w grze zwalnia. To co innego niż lag po stronie gracza (słaby internet albo słaby komputer), który dotyczy tylko jednej osoby. Ten poradnik prowadzi od pomiaru do konkretnych poprawek.
Krok 1: sprawdź zasoby w Konsoli#
Otwórz serwer w panelu, kiedy na serwerze grają ludzie i lagi są widoczne. Karty po prawej stronie Konsoli (3) pokazują bieżące zużycie zasobów.

- Obciążenie CPU podaje zużycie procesora i limit pakietu (100% to jeden wątek). Jeśli wartość stale dobija do limitu, serwerowi brakuje mocy procesora.
- Pamięć rośnie z czasem, bo Java rezerwuje pamięć i nie oddaje jej od razu. Sama wysoka wartość nie oznacza problemu. Brak pamięci rozpoznasz po regularnych przycięciach i błędzie
OutOfMemoryErrorw logu.
Krok 2: zmierz lagi programem spark#
spark (otwiera się w nowej karcie) to profiler, który pokazuje, co obciąża serwer. Paper i Purpur mają go wbudowanego od wersji 1.21. Na Fabricu, Forge i NeoForge wgrasz go jako mod (mody).
Kliknij pole komendy na dole Konsoli (1).

Konsola z polem komendy (1), w którym wpisujesz polecenia spark i chunky bez ukośnika - Wpisz
spark tpsi naciśnij Enter. Zobaczysz TPS i MSPT, czyli czas jednego ticku. Jeśli MSPT stale przekracza 50, serwer nie nadąża. - Wpisz
spark health. Zobaczysz zużycie procesora, pamięci i dysku. - Gdy lagi trwają, wpisz
spark profiler start. Odczekaj kilka minut i wpiszspark profiler stop. - spark wypisze w logu link do raportu. Otwórz go w przeglądarce. Zobaczysz w nim, które mody, pluginy, moby czy chunki zabierają najwięcej czasu.
spark tps
spark health
spark profiler start
spark profiler stopKrok 3: zmniejsz zasięg widzenia i symulacji#
W server.properties (ustawienia) są dwie opcje, które najmocniej wpływają na obciążenie:
view-distancemówi, ile chunków wokół gracza serwer wysyła do gry. Domyślnie 10.simulation-distancemówi, w jakim promieniu świat działa: ruszają się moby, rosną uprawy, pracuje redstone. Domyślnie 10.
- Zatrzymaj serwer w Konsoli.
- W zakładce Pliki kliknij
server.properties. - Zmień wartości. Na zwykły serwer dobry początek to
view-distance=8isimulation-distance=6. Przy dużym modpacku możesz zejść niżej. Kliknij ZAPISZ (1) i uruchom serwer.

Edytor server.properties z liniami simulation-distance=10 i view-distance=10 oraz przyciskiem ZAPISZ (1)
Obniżenie tych dwóch wartości to najprostsza i najskuteczniejsza zmiana. Pamiętaj, że farmy pracują tylko w zasięgu symulacji wokół gracza, więc przy zbyt niskiej wartości przestaną działać.
Krok 4: wygeneruj świat z wyprzedzeniem#
Generowanie nowych chunków to jedno z najcięższych zadań serwera. Kiedy kilku graczy leci elytrą w nieznane, TPS potrafi mocno spaść. Pomaga wygenerowanie mapy z wyprzedzeniem pluginem albo modem Chunky.
- Wgraj Chunky (pluginy albo mody) i zrestartuj serwer.
W Konsoli ustaw promień w blokach i uruchom generowanie:
chunky radius 3000 chunky start- Postęp zobaczysz w logu.
chunky pausewstrzymuje generowanie, achunky continueje wznawia. Przy dużym promieniu trwa to długo, więc najlepiej uruchomić je wtedy, gdy nikt nie gra. Na koniec ustaw granicę świata, żeby gracze nie wychodzili poza wygenerowany teren:
worldborder set 6000Wartość 6000 to średnica, która odpowiada promieniowi 3000 z przykładu.
Gotowa mapa zajmuje miejsce na dysku, więc nie przesadzaj z promieniem. Zajęte miejsce widać na karcie Dysk w Konsoli.
Krok 5: ustaw nocny restart#
Codzienny restart w nocy pomaga szczególnie przy modpackach, które z czasem zajmują coraz więcej pamięci.
- Otwórz zakładkę Harmonogramy i kliknij Utwórz harmonogram.
- W polu NAZWA HARMONOGRAMU (1) wpisz na przykład „Nocny restart”.
- W polu JAK CZĘSTO URUCHAMIAĆ (2) wybierz Codziennie o określonej godzinie. W miejscu oznaczonym (3) pojawią się wtedy pola GODZINA i MINUTA. Ustaw na przykład 4:00. Na zrzucie wybrana jest opcja Co kilka godzin, dlatego widać tam pole CO ILE GODZIN. Panel pokazuje w PODSUMOWANIU, kiedy zadanie się wykona.
Kliknij Utwórz harmonogram (4).

Okno Nowy harmonogram: NAZWA HARMONOGRAMU (1), JAK CZĘSTO URUCHAMIAĆ (2), pola z godziną i minutą (3), podsumowanie oraz przycisk Utwórz harmonogram (4) - Kliknij nowy harmonogram na liście, a potem Nowe zadanie. W polu Action wybierz Zmień stan serwera, a w polu Payload wybierz Zrestartuj serwer. Kliknij Utwórz zadanie.
Możesz dodać przed restartem zadanie Wyślij komendę z poleceniem say Restart serwera za 5 minut, żeby uprzedzić graczy. Szczegóły: Harmonogramy.
Częste źródła lagów#
- duże farmy mobów i tysiące mobów w jednym miejscu (pokaże je raport spark),
- leje i zegary redstone, które pracują bez przerwy,
- przedmioty leżące na ziemi, na przykład przy farmach bez zbierania,
- zbyt wiele pluginów albo modów, a także źle napisane pluginy i mody,
- generowanie nowego terenu (na to pomaga Chunky).
Na Paperze dodatkowe ustawienia wydajności, na przykład limity mobów, znajdziesz w plikach config/paper-global.yml i config/paper-world-defaults.yml. Na serwerach z modami pomagają mody Lithium, FerriteCore i ModernFix. Przed wgraniem sprawdź, czy są dostępne dla Twojego loadera.
Pamięć, procesor i Java#
- Za mało pamięci objawia się regularnymi przycięciami i błędem
OutOfMemoryErrorw Konsoli. Wtedy pomoże większy pakiet (jaki pakiet). - Dodatkowa pamięć nie przyspieszy serwera. Jeśli pamięci jest dość, a lagi zostają, przyczyną jest procesor albo coś w świecie.
- Minecraft przelicza świat głównie na jednym rdzeniu. Przy modpackach i większej liczbie graczy pakiety Premium z AMD Ryzen 9 9950X dają wyraźnie więcej niż dodatkowe gigabajty.
- Pamięci dla Javy nie ustawiasz ręcznie. Komenda startowa w zakładce Uruchamianie ma parametr
-XX:MaxRAMPercentage=95.0, więc Java sama korzysta z pamięci przydzielonej w pakiecie. Komenda startowa jest stała i nie edytujesz jej w panelu.

Najczęstsze problemy#
Laguje tylko jednemu graczowi. To lag po jego stronie: internet albo komputer. Sprawdź spark tps. Jeśli TPS jest 20, serwer działa dobrze.
TPS spada, gdy ktoś eksploruje mapę. Serwer generuje nowe chunki. Wygeneruj świat z wyprzedzeniem Chunky i ustaw granicę świata.
TPS spada przy jednej bazie. Raport spark pokaże farmę, moby albo redstone, które obciążają serwer. Ogranicz je albo przenieś.
Serwer co jakiś czas się wyłącza, a w logu jest OutOfMemoryError. Brakuje pamięci. Zmniejsz liczbę modów, obniż zasięgi albo zmień pakiet na większy.