Przejdź do głównej treści

Jak zmniejszyć lagi na serwerze Minecraft

Serwer, który zaczyna się ciągnąć, rzadko jest zagadką. To prawie zawsze te same pięć miejsc, a cztery z nich nic nie kosztują.

Krótka odpowiedź

  1. Najpierw zmierz

    TPS poniżej 20 albo tick dłuższy niż 50 ms oznacza, że wolny jest serwer. Panel albo Spark powie Ci, co dokładnie.

  2. Potem cztery darmowe poprawki

    Wygeneruj chunki z wyprzedzeniem, zmniejsz odległość widzenia, ogranicz liczbę bytów, uspokój redstone. W tej kolejności.

  3. Nadal wolno, a pamięci zostaje

    Jednemu rdzeniowi brakuje czasu. To kwestia pakietu, a nie ustawień.

Wszystko poniżej to te trzy linijki rozpisane krok po kroku, z liczbami stojącymi za każdym krokiem.

Czym jest tickrate

TPS to ticki na sekundę, bicie serca serwera. Wszystko, co robi świat, czyli ruch mobów, zmiany bloków, redstone i wzrost, dzieje się raz na tick, a celem jest 20 takich ticków na sekundę. Każdy tick ma więc 50 milisekund czasu.

Jeśli go przekroczy, następny zaczyna się za późno, tickrate spada, a cały świat razem zwalnia. Właśnie dlatego przy lagu piece topią wolniej, zamiast żeby gra wyglądała na poszarpaną. Wpisz /tps w konsoli, żeby to zobaczyć.

Milisekundy są liczone, a nie wpisane: tysiąc podzielone przez tickrate.
TPSJeden tick trwaJak to się odczuwa
20 TPS50 msNormalnie. Nie ma tu czego naprawiać.
18 TPS55,6 msPrawie niewidoczne. Timing redstone zaczyna się rozjeżdżać.
15 TPS66,7 msMoby się zacinają, lejki nie nadążają, farmy dają mniej.
10 TPS100 msPołowa prędkości. Piece, wzrost roślin i cykl dnia trwają dwa razy dłużej.
5 TPS200 msNie da się grać. Bloki pojawiają się z powrotem po wykopaniu.
Ekran debugowania F3 w Java Edition z liczbą bytów i chunków po lewej stronie
Ekran F3. Lewa kolumna liczy byty i chunki wokół Ciebie; czas ticku samego serwera odczytasz w panelu albo w Sparku. Obraz: DebugScreen.png z minecraft.wiki, CC BY-NC-SA 3.0.

Trzy rodzaje lagów

Trzy różne problemy nazywają się lagiem, i tylko jeden z nich jest Twój. Rozróżnienie ich oszczędza Ci ulepszania serwera, który nigdy nie był tą wolną częścią.

Jeśli Twój problem stoi w drugim albo trzecim wierszu, reszta tej strony Ci nie pomoże.
RodzajGdzie się dziejeCo możesz z tym zrobić
Na serwerzeNa maszynie. To właśnie mierzy tickrate.Wszystko inne na tej stronie. Tu lądują byty, wczytywanie chunków, pluginy i redstone.
U graczaNa jego własnym komputerze. Widać to jako niski FPS i przycięcia, a nie jako wolny piec.Bezpośrednio nic, ale mniejszy zasięg widzenia wysyła mniej chunków i odciąża też jego.
W sieci, czyli pingPomiędzy nimi. Odległość i trasa, a nie praca obliczeniowa.Wybierz region blisko swoich graczy. Żaden procesor na świecie nie skróci oceanu.

Wygeneruj chunki z wyprzedzeniem

Generowanie terenu to najdroższa rzecz, jaką robi serwer. Biomy, jaskinie, budowle, rudy i światło są liczone za pierwszym razem, gdy ktoś tam dotrze, a czterech graczy na koniach w czterech kierunkach samych sprowadza zdrowy serwer do jednocyfrowego tickrate. Zrobienie tego z wyprzedzeniem, gdy nikogo nie ma, przesuwa ten koszt na moment, w którym nie przeszkadza.

  1. Zainstaluj Chunky

    To zwykły plik pluginu w folderze plugins, działający na każdym naszym oprogramowaniu serwera z interfejsem Bukkit.

  2. Ustaw promień, którego naprawdę chcesz

    Weź tę samą liczbę co granica Twojego świata, w blokach. Generowanie daleko poza granicę to godziny obliczeń dla terenu, na którym nikt nigdy nie stanie.

    /chunky radius 5000
  3. Uruchom go na pustym serwerze

    Samo generowanie jest ciężkie, więc puść je na noc albo zanim rozdasz adres. Jeśli zostanie przerwane, potem wznowi pracę.

    /chunky start

Chunky to zwykły plik pluginu. Jak go wgrać, opisuje poradnik o pluginach.

Czerwono-niebieska ściana w paski, czyli granica świata w Java Edition
Granica świata. Najpierw ją ustaw, a potem pozwól Chunky wygenerować wszystko w jej środku, gdy nikt nie gra. Wtedy generowanie terenu przestaje dziać się w trakcie gry. Obraz: World Border.png z minecraft.wiki, CC BY-NC-SA 3.0.

Obniż zasięg widzenia i zasięg symulacji

Zasięg widzenia to promień, więc koszt rośnie z kwadratem, a nie równomiernie. Nasz panel przyjmuje 2 do 32, a w tym zakresie jeden gracz przechodzi z 25 do 4 225 chunków. Pomnóż przez liczbę osób online, a zobaczysz, dlaczego to pierwszy suwak, którego się dotyka. Zejście z 10 na 8 prawie nikt nie zauważa, a zabiera serwerowi około jednej trzeciej chunków.

Zakres pochodzi z granic, na które pozwala nasze własne okno ustawień.
Zasięg widzeniaChunki na graczaWobec 10
2 chunkiNajmniejsza wartość, na jaką pozwala nasz panel256%
4 chunki8118%
6 chunków16938%
8 chunków28966%
10 chunków441100%
12 chunków625142%
16 chunków1 089247%
32 chunkiNajwiększa wartość, na jaką pozwala nasz panel4 225958%

Zasięg symulacji to ten, który się opłaca. Zasięg widzenia decyduje, co gracz może zobaczyć; zasięg symulacji decyduje, jak daleko świat działa dalej, i to kosztuje ticki. Ustawienie go kilka chunków poniżej zasięgu widzenia to typowa odpowiedź. Oto 5 ustawień wydajności, które pokazuje Ci nasz panel.

Te same pola z tymi samymi granicami co w oknie ustawień Twojego serwera.
UstawienieZakresCo robi
View distance (chunks)view-distance2 do 32Jak daleko widzą gracze. Mniej to lżej dla procesora i pamięci.
Simulation distance (chunks)simulation-distance2 do 32Jak daleko świat działa dalej. Największa pojedyncza dźwignia wydajności.
Entity range (%)entity-broadcast-range-percentage10 do 500Jak daleko byty są wysyłane do graczy. Mniej obniża obciążenie sieci.
Watchdog (ms)max-tick-time1000 do 600000Jak długo może trwać tick, zanim serwer uzna, że się zawiesił. Poniżej 60000 przy ciężkim lagu sam się restartuje.
Synchronous chunk writessync-chunk-writesWłączone albo wyłączoneWyłączenie tego na współdzielonym dysku jest zwykle szybsze.
Ustawienia grafiki w Java Edition z zasięgiem renderowania 12 chunków i odległością symulacji 8 chunków
Zasięg renderowania i odległość symulacji tak, jak widzi je gracz. Wartości samego serwera w server.properties ograniczają oba ustawienia i właśnie o tych pokrętłach jest ta sekcja. Obraz: Options - Video Settings - Simulation Distance control example.png z minecraft.wiki, CC BY-NC-SA 3.0.
Granice chunków narysowane na krajobrazie Java Edition za pomocą F3 i G
Granice chunków, F3 i G. Każdy z tych kwadratów 16 na 16 to jeden chunk, który serwer tickuje, a odległość widzenia decyduje, ile z nich jeden gracz trzyma załadowanych. Obraz: Chunk borders.png z minecraft.wiki, CC BY-NC-SA 3.0.

Przerzedź byty

Każdy mob, każdy upuszczony przedmiot, każda ramka, każdy stojak na zbroję i każdy wagonik to byt, a serwer w każdym ticku przechodzi przez całą listę. Pięćset kur na dziesięciu blokach kosztuje więcej niż pięćdziesięciu graczy, którzy się przemieszczają.

Paper potrafi to przerzedzić tak, że nikt tego nie zauważy: zasięgi i częstotliwości ticków w paper-world-defaults.yml sprawiają, że odległe byty tykają rzadziej, a limity w bukkit.yml ograniczają, ile może ich istnieć naraz. Ramki i stojaki na zbroję w budowli to te podstępne: nic ich nie zabija i nigdy się nie ruszają.

Wysoka wieża farmy mobów na pustyni, budowla, która zapełnia serwer bytami
Farma mobów. Każdy mob, którego zespawnuje, i każdy przedmiot, który z niego wypadnie, to byt, przez który serwer przechodzi w każdym ticku. Właśnie do tego służą limity spawnu i zasięgi aktywacji. Obraz: LargeMobFarm.png z minecraft.wiki, CC BY-NC-SA 3.0.

Redstone i pluginy

Zmiana redstone rozchodzi się falą: jedna zmiana wywołuje aktualizacje bloków przez wszystko, co jest do niej podłączone, a szybki obwód robi to setki razy na sekundę. Paper ma inną implementację redstone, która przy dużych obwodach jest mierzalnie tańsza, i warto ją włączyć, zanim zaczniesz zakazywać konstrukcji.

Liczba pluginów to nie ta liczba, która ma znaczenie. Piętnaście dobrze wybranych bije czterdzieści, z których połowa się dubluje, ale jeden plugin, który przeszukuje chunki w głównym wątku, bije je wszystkie w szkodach. Jeśli w pomiarze na górze stoi plugin, najpierw poszukaj nowszej wersji, potem ustawienia, które wyłącza drogą część, a potem czegoś innego, co wykonuje to samo zadanie.

Widok z góry na zegar z lejów zbudowany z lejów, komparatorów i bloków złota
Zegar z lejów. Każdy lej sprawdza przedmioty w każdym ticku, niezależnie od tego, czy coś się rusza, a zegar utrzymuje cały układ w aktualizacji tak długo, jak chunk jest załadowany. Obraz: Sethbling's hopper clock.png z minecraft.wiki, CC BY-NC-SA 3.0.

Znajdź wąskie gardło Sparkiem

Wszystko dotąd to zgadywanie, dopóki nie zmierzysz. Spark to profiler i mówi Ci, gdzie poszły ticki: tykanie bytów, wczytywanie chunków, obsługa zdarzeń pluginu albo pauzy na sprzątanie. Uruchom go, gdy serwer naprawdę się męczy, pozwól mu działać kilka minut, a potem go zatrzymaj. Dostaniesz adres z rozbiciem.

/spark profiler start/spark profiler stop

Paper od 1.21 ma Sparka na pokładzie, więc na większości naszych serwerów nie musisz niczego instalować. Jeśli wolisz bez komend, test wydajności w panelu mierzy to samo w około siedem sekund i dopisuje Ci liczbę.

Wykres kołowy debugowania w Java Edition, otwierany Shiftem i F3, który dzieli tick na kawałki
Wbudowany wykres kołowy dzieli tick na to, co zajęło czas. Spark robi to samo dla serwera i daje Ci wynik w postaci linku. Obraz: Debug Pie Chart.png z minecraft.wiki, CC BY-NC-SA 3.0.

Kiedy przyszedł czas na większy pakiet

Jeśli wygenerowałeś chunki z wyprzedzeniem, obniżyłeś zasięg symulacji, przerzedziłeś byty i zmierzyłeś Sparkiem, a średnia z jednej minuty nadal nie trzyma 20, to granicą jest maszyna, a nie ustawienie. Przez cały dzień ponad osiemdziesiąt procent pamięci albo skoki procesora przy zwykłej grze to sygnał.

Wszystkie pakiety z tym, co dają, czytane przy budowaniu tej strony.
PakietvCPUPamięć RAMDysk
Mini2 vCPU4 GB60 GB SSDA cobblestone block, the icon of the Mini Minecraft server planzobacz
Starter2 vCPU8 GB60 GB SSDA block of coal, the icon of the Starter Minecraft server planzobacz
Standard3 vCPU12 GB75 GB SSDA block of iron, the icon of the Standard Minecraft server planzobacz
Premium4 vCPU24 GB150 GB SSDA block of gold, the icon of the Premium Minecraft server planzobacz
Ultimate6 vCPU48 GB300 GB SSDA block of diamond, the icon of the Ultimate Minecraft server planzobacz
Enterprise8 vCPU64 GB375 GB SSDA block of emerald, the icon of the Enterprise Minecraft server planzobacz
Dedicated9 vCPU96 GB450 GB SSDA block of netherite, the icon of the Dedicated Minecraft server planzobacz

Który rozmiar pasuje do jakiego serwera, mówi poradnik o pamięci RAM, a co jest w każdym pakiecie, znajdziesz w funkcjach.

Milisekundy na tick, zakres zasięgu widzenia, pola w oknie ustawień i tabela pakietów są przy budowaniu tej strony czytane z naszych własnych plików.

Pytania, gdy serwer zaczyna się ciągnąć

Gdzie zobaczę swój tickrate?

Wpisz /tps w konsoli. Paper podaje trzy średnie, z jednej, pięciu i piętnastu minut, a ta z jednej minuty odpowiada na pytanie, czy jest źle właśnie teraz. Celem jest 20.

Czy więcej pamięci RAM da mi więcej TPS?

Tylko jeśli pamięć naprawdę była granicą. Jeśli serwer stale pracuje powyżej osiemdziesięciu procent, to tak. Jeśli tickrate spada, a pamięć pozostaje spokojna, kosztuje Cię coś w czasie obliczeń, i na to kolejny gigabajt nie pomoże.

Ile bytów to za dużo?

Nie ma stałej liczby, ale setki w jednym miejscu to prawie zawsze przyczyna. Serwer w każdym ticku przechodzi przez całą listę, dlatego pięćset kur na dziesięciu blokach kosztuje więcej niż pięćdziesięciu graczy, którzy się przemieszczają.

Dlaczego tak często mówi się o lejkach?

Bo każdy lejek w każdym ticku sprawdza, czy coś jest, niezależnie od tego, czy coś się rusza. Sortownia z dwustu lejków działa więc cały dzień po pełnej cenie, nawet gdy nikogo nie ma online.

Co zrobić, jeśli nic z tego nie pomaga?

Wtedy mierzysz, zamiast dalej zgadywać. Spark powie Ci, gdzie poszły ticki, a jeśli potem na górze stoi jeden plugin, to jest Twoja odpowiedź. Jeśli na górze stoi sama maszyna, czas na większy pakiet.

Gdy optymalizacja skończona, a serwer dalej jest wolny

Wygeneruj chunki z wyprzedzeniem, zmniejsz zasięg widzenia, ogranicz liczbę bytów i zmierz jeszcze raz. Jeśli czas ticku wciąż jest blisko pięćdziesięciu, a pamięci jest zapas, żaden z czterech kroków powyżej nie jest już odpowiedzią: jednemu rdzeniowi brakuje czasu. Właśnie do tego jest linia Performance, na AMD Ryzen 9 5900X w Niemczech albo AMD Ryzen 9 7950X z pamięcią RAM DDR5 w Polsce, z tą samą pamięcią, którą masz teraz.

Napisane i sprawdzone przez zespół Astroworld Hosting. Ostatnio sprawdzone 6 września 2026.

Dostawa: większość serwerów przekazujemy od razu i działają w kilka sekund po płatności, pozostałe w ciągu 60 minut w dzień i w ciągu 12 godzin w nocy.