TPS, czyli czym właściwie mierzymy lagi
Serwer Minecraft przelicza świat dwadzieścia razy na sekundę. Ta liczba to TPS i dwadzieścia jest wartością maksymalną. Gdy spada, czas w grze zwalnia: mobki poruszają się skokowo, bloki stawiają się z opóźnieniem, piece pracują wolniej.
Na Paperze sprawdzisz to komendą /tps, w konsoli albo w grze.
Wynik czytaj tak:
| TPS | Co to znaczy |
|---|---|
| 20,0 | wszystko w porządku |
| 19 do 20 | drobne wahania, gracze tego nie widzą |
| 15 do 19 | odczuwalne opóźnienia, warto zareagować |
| poniżej 15 | gra staje się męcząca |
Jeśli TPS trzyma dwadzieścia, a i tak „laguje", problem nie leży na serwerze, tylko po stronie połączenia albo klienta gracza. To dwie różne rzeczy, które ludzie zwykle mylą.
Zacznij od zasięgu widzenia
To jedno ustawienie robi więcej niż wszystkie pozostałe razem. W pliku
server.properties:
view-distance=8
simulation-distance=6
Domyślne dziesięć i dziesięć oznacza, że serwer trzyma i przelicza ogromny obszar wokół każdego gracza. Zejście do ośmiu i sześciu potrafi zdjąć jedną trzecią obciążenia, a różnicę w grze widać dopiero, gdy ktoś stanie na szczycie góry i będzie się wpatrywał w horyzont.
Zasięg symulacji jest ważniejszy niż zasięg widzenia: to on decyduje, w jakim promieniu mobki myślą, rośliny rosną, a maszyny działają.
Mobki i przedmioty na ziemi
Druga najczęstsza przyczyna to tłum bytów. Farma, na której czeka pięćset zombie, albo tysiąc porzuconych przedmiotów w jednym miejscu potrafią zjeść więcej czasu niż wszyscy gracze razem.
W konfiguracji Papera (config/paper-world-defaults.yml) warto
obniżyć zakresy aktywacji bytów, na przykład dla potworów i zwierząt, oraz
skrócić czas, po którym znikają porzucone przedmioty. To zmiany, których
gracze praktycznie nie zauważają, a serwer oddycha.
W samym server.properties pomaga też limit bytów na fragment
mapy oraz rozsądny max-entity-cramming.
Generowanie mapy w locie
Gdy gracz idzie w nieznany teren, serwer tworzy świat na bieżąco, a to jedna z najcięższych operacji, jakie wykonuje. Objawia się przycięciami dokładnie wtedy, gdy ktoś wyrusza na wyprawę.
Rozwiązanie: wygeneruj mapę z wyprzedzeniem pluginem Chunky i ustaw granicę świata. Serwer robi wtedy ciężką pracę raz, w spokoju, zamiast w środku rozgrywki.
Przestań zgadywać, zmierz
Zamiast wyłączać rzeczy po kolei, zainstaluj spark i przy spadku TPS wpisz:
/spark profiler start
/spark profiler stop
Dostaniesz odnośnik do raportu, który pokazuje, co dokładnie zajmuje czas ticku: konkretny plugin, konkretny mod, generowanie terenu albo obsługa bytów. Pięć minut z profilerem oszczędza wieczór zgadywania.
Kiedy winna jest pamięć, a kiedy procesor
Wykresy w panelu odpowiadają na to pytanie szybciej niż jakakolwiek komenda.
- Pamięć przy suficie, procesor spokojny: serwerowi brakuje RAM-u i większość czasu spędza na sprzątaniu. Zajrzyj do poradnika o tym, ile RAM potrzebuje serwer.
- Procesor przy suficie, pamięć z zapasem: to nie jest kwestia pakietu z większą pamięcią. Szukaj przyczyny w bytach, generowaniu mapy albo w jednym ciężkim dodatku.
- Oba spokojne, a i tak zwalnia: sprawdź, czy problem nie jest po stronie klienta gracza. Minecraft liczy świat głównie na jednym rdzeniu, więc obciążenie zbiorcze bywa mylące.
Modpacki rządzą się swoimi prawami
Przy paczkach technicznych źródłem lagów bywa nie liczba graczy, tylko jedna automatyzacja pracująca bez przerwy. Wtedy pomaga wyłączenie ładowania fragmentów mapy przez maszyny, gdy nikogo nie ma w pobliżu, albo ograniczenie liczby wczytanych chunków.
Zasięg widzenia obniżaj tu odważniej niż na czystym serwerze: modpacki są na niego wyraźnie bardziej czułe.
Kolejność działań, od najtańszego
- Zejdź z
view-distanceisimulation-distance. - Sprawdź, czy gdzieś nie zebrał się tłum mobków albo przedmiotów.
- Wygeneruj mapę z wyprzedzeniem i ustaw granicę świata.
- Uruchom profiler i znajdź konkretnego winowajcę.
- Dopiero teraz zwiększ pakiet, jeśli wykresy naprawdę to uzasadniają.
Najczęstsze pytania
Jak sprawdzić TPS na serwerze Minecraft?
Na Paperze, Purpurze i Spigocie komendą /tps w grze albo w konsoli panelu. Dwadzieścia oznacza pełną prędkość, wartości poniżej piętnastu są już wyraźnie odczuwalne.
Czy więcej RAM naprawi niski TPS?
Tylko wtedy, gdy pamięć faktycznie się kończy. Jeśli wykres ma zapas, przyczyna leży w procesorze, bytach albo konkretnym dodatku i dokładanie pamięci nic nie zmieni.
Ile powinien wynosić view-distance?
Osiem to dobry punkt wyjścia dla serwera ze znajomymi, sześć przy modpacku. Zasięg symulacji ustaw o dwa niżej niż zasięg widzenia.
Serwer ma dwadzieścia TPS, a i tak mi tnie. Dlaczego?
Bo to nie serwer zwalnia, tylko połączenie albo klient gry. Sprawdź ping i liczbę klatek na sekundę u siebie, zanim zaczniesz zmieniać ustawienia serwera.
Czy warto ograniczyć liczbę mobków?
Tak, to jedna z najtańszych zmian. Obniżenie limitów potworów i zwierząt oraz skrócenie czasu życia porzuconych przedmiotów daje szybki efekt bez wpływu na rozgrywkę.
Potrzebujesz mocniejszej maszyny?
Nasze serwery stoją w Polsce na procesorach o wysokiej wydajności jednego rdzenia, co Minecraft lubi najbardziej.
Zobacz pakiety Minecraft