Notatki operatora
Optymalizacja serwera Minecraft: serwer laguje, co robić
Spadające TPS, gumowe moby, opóźnione otwieranie skrzyń. Zanim dorzucisz RAM albo obwinisz łącze, warto zdiagnozować, co faktycznie obciąża serwer. Ten poradnik prowadzi przez naprawę lagów od pomiaru, przez Paper i Purpur, ustawienia zasięgu, flagi Javy, encje i redstone, aż po pre-generację świata.
W skrócie: Zdrowy serwer trzyma 20 TPS. Najszybsze wygrane po kolei: przejdź z vanilla na Paper lub Purpur, obniż view-distance i simulation-distance, ustaw sensowne flagi Javy i Xms=Xmx, ogarnij encje i redstone, a świat pre-generuj. Dosypanie RAM rzadko naprawia lagi, bo Minecraft najpierw upiera się o mocny, wysoko taktowany procesor.
Najpierw zdiagnozuj, nie zgaduj
Optymalizacja na ślepo kończy się zmienianiem dziesięciu rzeczy naraz i brakiem pojęcia, która pomogła. Zacznij od liczb. Kluczowe pojęcia:
- TPS (ticks per second) to liczba cykli logiki gry na sekundę. Cel to 20. Poniżej tego wszystko zwalnia: moby, redstone, wzrost roślin.
- MSPT (milliseconds per tick) to czas jednego ticka. Poniżej 50 ms serwer wyrabia 20 TPS. Powyżej zaczyna gubić tempo.
Zainstaluj mod lub wtyczkę spark i wpisz /spark tps oraz wygeneruj pełny raport przez /spark profiler. Raport pokaże czarno na białym, co zjada czas ticka: konkretna wtyczka, generowanie chunków, encje czy redstone. Dopiero z tą wiedzą zmieniasz ustawienia celowo, a nie po omacku.
Zmień jar na Paper albo Purpur
Jeśli stoisz na czystym serwerze vanilla, to najprawdopodobniej twoja największa pojedyncza wygrana. Paper to serwer bazujący na oficjalnym Minecraft, rozwijany pod kątem wydajności, z setkami optymalizacji i rozbudowaną konfiguracją. Purpur rozszerza Paper o kolejne opcje strojenia. Nowsze wersje gry dodatkowo odchudziły pętlę ticka po stronie serwera, więc aktualny Paper na bieżącej wersji potrafi zauważalnie mniej obciążać procesor niż vanilla sprzed roku.
Przejście jest bezbolesne: zatrzymaj serwer, podmień plik na paper.jar lub purpur.jar w docelowej wersji, uruchom. Świat i wtyczki zostają. Różnice między wariantami rozpisaliśmy w przeglądzie trybów serwerów Minecraft.
Najważniejsze ustawienia: zasięg widzenia i symulacji
W server.properties dwa parametry mają największy wpływ na obciążenie:
view-distancedecyduje, ile chunków widzi gracz. Każdy poziom to więcej terenu do przesłania i utrzymania. Zejście z 12 na 8, a nawet 6, potrafi mocno odciążyć serwer, a gracze rzadko to zauważają.simulation-distanceokreśla, jak daleko od gracza gra faktycznie symuluje moby, redstone i mechanikę. To on kosztuje najwięcej procesora. Wartość 4 do 6 jest zwykle rozsądnym kompromisem.
W Paperze i Purpurze masz dodatkowo osobne pliki konfiguracyjne, gdzie można dostroić między innymi łączenie przedmiotów, aktywację moby na odległość czy zachowanie odświeżania. Zmieniaj po jednym ustawieniu i sprawdzaj wpływ w spark, żeby wiedzieć, co dało efekt.
Z doświadczenia: większość ludzi ustawia view-distance na 10 lub 12, bo tak jest domyślnie, i płaci za to spadkiem TPS. Dla większości serwerów survivalowych 8 wygląda praktycznie tak samo, a odciąża zauważalnie. To zmiana jednej linijki, która często robi więcej niż dosypanie RAM.
RAM i flagi Javy
Tu panuje najwięcej mitów. Dwie zasady, które warto zapamiętać:
- Więcej RAM nie znaczy szybszy serwer. Za duży przydział wydłuża pauzy odśmiecacza pamięci i potrafi pogorszyć płynność. Dobierz wartość do potrzeb: 2 do 4 GB dla małego serwera Paper, 6 do 10 GB dla dużego modpacka.
- Ustaw
XmsrówneXmx. Dzięki temu Java nie zmienia rozmiaru sterty w locie. Do tego dorzuć sprawdzone flagi odśmiecacza (znane w społeczności jako flagi Aikara), które stroją G1GC pod Minecraft.
Przykładowy start dla 6 GB wygląda z grubsza tak: java -Xms6G -Xmx6G [flagi Aikara] -jar paper.jar nogui. Pamiętaj też o Javie 21 pod bieżące wersje gry, o czym piszemy w poradniku o aktualizacji serwera Minecraft. Na hostingu zarządzanym flagi i wersję Javy zwykle ustawia się z listy w panelu.
Lagi od encji i redstone
Gdy serwer działał dobrze, a z czasem zaczął przycinać, winowajcą prawie zawsze są encje. Najczęstsze źródła:
- Mob farmy i zwierzęta. Setki moby w jednym miejscu to setki symulacji na tick. Limituj zagęszczenie, korzystaj z opcji odległości aktywacji w Paperze.
- Porozrzucane przedmioty. Duże automatyczne farmy potrafią wypluwać tysiące encji przedmiotów. Ustaw łączenie i limity, żeby nie zapchały ticka.
- Redstone i lejki. Zegary redstone i łańcuchy lejków liczą się co tick. Kilka sortowni na lejkach potrafi solidnie obciążyć serwer.
Raport spark wskaże konkretny chunk i typ encji, więc nie musisz zgadywać, która budowla zabija TPS.
Pre-generuj świat
Generowanie nowego terenu to jedno z najcięższych zadań serwera. Gdy gracze eksplorują świeże chunki, serwer liczy je na bieżąco, co widać jako skoki lagów przy podróżowaniu. Rozwiązaniem jest wcześniejsze wygenerowanie mapy do ustalonego promienia wtyczką lub modem, na przykład Chunky. Robisz to raz, przy pustym serwerze, a potem gracze poruszają się po gotowym terenie. Proces opisaliśmy we wpisie o pre-generacji chunków wtyczką Chunky.
Audyt wtyczek i modów
Każda wtyczka i mod to dodatkowy kod wykonywany na serwerze. Nie zakładaj, że wszystkie są niewinne. W raporcie spark posortuj po czasie ticka i przyjrzyj się największym pozycjom. Wtyczki bez aktualizacji od dawna, słabo napisane dodatki i mody dodające ciężką automatyzację to typowi kandydaci. Usuwaj i podmieniaj po jednym, sprawdzając wpływ. Przy modpackach, które wywalają się lub tną od startu, zajrzyj też do wpisu o naprawie crashującego modpacka.
Kiedy to sprzęt, a nie ustawienia
Bywa, że przeszedłeś przez całą listę, a serwer i tak nie wyrabia. Wtedy problemem jest procesor. Minecraft dla pojedynczego świata korzysta w praktyce głównie z jednego wątku, więc liczy się taktowanie rdzenia, a nie liczba rdzeni. Tani VPS z dużą liczbą wolnych rdzeni potrafi lagować bardziej niż maszyna z mniejszą liczbą, ale szybszych. Dobór maszyny pod grę opisaliśmy w doborze sprzętu pod serwer gry.
Jeśli nie chcesz sam dobierać procesora ani stroić flag, prostą drogą jest serwer na hostingu zarządzanym, gdzie maszyny są dobrane pod Minecraft, a wersję Javy i podstawowe optymalizacje ustawiasz z panelu. Gotową opcję opisaliśmy w hostingu serwera Minecraft.
Kolejność działań w skrócie
| Krok | Efekt |
|---|---|
| 1. Zmierz TPS i zrób raport spark | Wiesz, co faktycznie obciąża serwer, zamiast zgadywać. |
| 2. Przejdź na Paper lub Purpur | Zwykle największy pojedynczy skok wydajności. |
| 3. Obniż view-distance i simulation-distance | Duże odciążenie, gracze rzadko zauważają różnicę. |
| 4. Ustaw Xms=Xmx i flagi Javy | Krótsze pauzy pamięci, płynniejszy tick. |
| 5. Ogarnij encje i redstone | Usuwasz najczęstsze źródło narastających lagów. |
| 6. Pre-generuj świat | Koniec skoków lagów przy eksploracji. |
| 7. Sprawdź procesor | Gdy reszta nie pomaga, potrzebny wyżej taktowany rdzeń. |
Najczęstsze pytania
Dlaczego mój serwer Minecraft laguje?
Zwykle przez zbyt wysoki view-distance i simulation-distance, serwer vanilla zamiast Paper, nadmiar encji, ciężki redstone lub słaby procesor. Zacznij od pomiaru TPS i raportu spark, żeby wskazać realną przyczynę.
Ile RAM potrzebuje serwer Minecraft?
2 do 4 GB dla małego serwera Paper, 4 do 6 GB z wtyczkami i większą grupą, 6 do 10 GB i więcej dla dużych modpacków. Za dużo RAM nie przyspiesza, a bywa, że szkodzi przez dłuższe pauzy pamięci.
Co to jest TPS?
Ticks per second, liczba cykli logiki gry na sekundę. Zdrowy serwer trzyma 20. Spadek oznacza, że serwer nie wyrabia z symulacją i wszystko zwalnia.
Czy Paper przyspiesza serwer?
Tak, zwykle wyraźnie. To najczęściej największy skok wydajności bez zmiany sprzętu. Purpur dokłada dodatkowe opcje strojenia.
Jak zmniejszyć lagi od modów?
Zrób raport spark, znajdź mod zjadający tick, dorzuć mody optymalizacyjne po stronie serwera, obniż zasięg i pre-generuj świat. Jeśli modpack i tak zajmuje cały procesor, potrzebny mocniejszy rdzeń.
Powiązane
- Tryby serwerów Minecraft - vanilla, Paper, Purpur i mody w kontekście wydajności.
- Pre-generacja chunków wtyczką Chunky - jak wygenerować mapę z góry i skończyć ze skokami lagów.
- Dobór sprzętu pod serwer gry - dlaczego liczy się taktowanie rdzenia, a nie liczba rdzeni.
- Aktualizacja serwera Minecraft - Java 21 i zgodność wersji przy strojeniu.
- Naprawa crashującego modpacka - gdy serwer nie tyle laguje, co się wywala.
- Hosting serwera Minecraft - maszyny dobrane pod Minecraft i optymalizacje z panelu.