🎉 Oszczędź 25% w pierwszym miesiącu z kodem: DOOM25
Minecraft Server Lag: Jak Naprawić Spadki TPS

Minecraft Server Lag: Jak Naprawić Spadki TPS

Dowiedz się, jak diagnozować i naprawiać spadki TPS na serwerze Minecraft. Obejmuje ładowanie chunków, lag entity, optymalizację pluginów i konfigurację serwera dla stabilnych 20 TPS.

Magnus
·
7 min czytania
·
26 lut 2026

Minecraft Server Lag: Jak Naprawić Spadki TPS

Twój serwer Minecraft się zacina. Gracze narzekają na lag bloków, moby zamarzają w miejscu, a obwody redstone działają nieprawidłowo. Problem jest prawie zawsze ten sam - Twoje TPS spada poniżej 20.

TPS oznacza Ticks Per Second (ticki na sekundę). Serwery Minecraft działają w pętli gry, która powinna wykonywać dokładnie 20 ticków na sekundę. Każdy tick obsługuje AI mobów, aktualizacje bloków, ładowanie chunków, interakcje graczy i wszystko inne, co utrzymuje świat w ruchu. Gdy serwer nie nadąża, TPS spada i wszystko zaczyna lagować.

To nie to samo co lag FPS czy opóźnienie sieci. Lag TPS jest po stronie serwera i wpływa na wszystkich graczy jednocześnie. Gracz z połączeniem 1000 Mbps nadal odczuwa lag TPS - nie ma to nic wspólnego z prędkością jego internetu.

Ekran debugowania F3 w Minecraft pokazujący dane wydajności serwera

Jak Sprawdzić Swoje TPS

Zanim zaczniesz naprawiać, musisz wiedzieć, na czym stoisz. Na większości serwerów z Spigot, Paper lub Purpur wpisz /tps w konsoli lub na czacie. Zobaczysz trzy liczby reprezentujące średnie TPS z ostatnich 1, 5 i 15 minut.

  • 20 TPS - Idealnie. Serwer działa na pełnej prędkości.
  • 18-19 TPS - Drobne spadki. Gracze prawdopodobnie nie zauważą.
  • 15-17 TPS - Odczuwalny lag. Moby się zacinają, stawianie bloków jest opóźnione.
  • Poniżej 15 TPS - Poważne problemy. Serwer nie nadąża.

Do głębszej analizy zainstaluj Spark - plugin profilujący, który dokładnie pokazuje, które zadania zjadają czas ticka. Uruchom /spark profiler start, pozwól mu działać przez 2-3 minuty podczas problemu z lagiem, a następnie /spark profiler stop dla pełnego raportu.

Najczęstsze Przyczyny Spadków TPS

1. Zbyt Wiele Entity

Entity to największy zabójca TPS na większości serwerów. Każdy mob, upuszczony przedmiot, minecart, armor stand i experience orb liczy się jako entity. Każda musi być przetworzona w każdym ticku.

Typowy serwer survival z 20 graczami może łatwo zgromadzić tysiące entity w załadowanych chunkach. Farmy zwierząt z setkami krów czy kur to klasyczny winowajca. Jeden admin serwera na Reddit pokazał 18 000 entity rozłożonych na 400 załadowanych chunkach - ten serwer działał na 8 TPS.

Biom równinny Minecraft ze zwierzętami i terenem

Jak to naprawić:

  • Ustaw limity entity w bukkit.yml pod spawn-limits. Zmniejszenie monsters z 70 do 40-50 i animals z 10 do 6-8 robi zauważalną różnicę.
  • Włącz per-player-mob-spawn w konfiguracji Paper, aby rozłożyć spawnowanie mobów na gracza zamiast globalnie. Zapobiega to pochłonięciu całego limitu mobów przez obszar jednego gracza.
  • Użyj merge-radius w spigot.yml, aby łączyć pobliskie upuszczone przedmioty i experience orby. Ustaw item na 3.5 i exp na 4.0.
  • Dodaj plugin jak ClearLagg do okresowego usuwania przedmiotów z ziemi i ograniczania liczby entity na chunk.

2. Ładowanie Chunków i Generowanie Świata

Za każdym razem, gdy gracz eksploruje nowy teren, serwer musi wygenerować nowe chunki od zera. Na Paper i jego forkach ładowanie chunków odbywa się asynchronicznie, co znacznie zmniejsza obciążenie głównego wątku. Ale na vanilla, Spigot lub Fabric ładowanie chunków nadal mocno uderza w główny wątek.

Jeśli nie używasz Paper, otwórz server.properties i ustaw sync-chunk-writes=false. To samo może znacząco poprawić TPS na serwerach innych niż Paper, przenosząc zapisywanie chunków poza główny wątek.

Jak to naprawić:

  • Pregeneruj swój świat za pomocą Chunky. Najpierw ustaw granicę świata, żeby wiedzieć, jaki promień chcesz osiągnąć.
  • Ustaw granicę świata, aby gracze nie eksplorowali w nieskończoność. Promień 10 000 bloków daje mnóstwo miejsca (ponad 300 km² do eksploracji) bez niekontrolowanego wzrostu świata.
  • W spigot.yml zmniejsz view-distance z domyślnego 10 do 6-8.
  • W konfiguracji Paper ustaw simulation-distance na 3 lub 4. Gracze mogą widzieć dalej dzięki view-distance, ale tylko pobliskie chunki są symulowane. To jedna z najskuteczniejszych ustawień dla wydajności.

3. Redstone i Hoppers

Konstrukcje redstone i systemy hopperów to kolejne duże źródło drenażu TPS. Hoppery są szczególnie problematyczne, bo domyślnie sprawdzają przedmioty nad sobą w każdym ticku.

Pojedynczy łańcuch 100 hopperów działający nieustannie może pochłonąć mierzalną część budżetu ticka. Serwery z dużymi zautomatyzowanymi farmami często mają lag hopperów jako główny problem po rozwiązaniu kwestii entity.

Jak to naprawić:

  • W konfiguracji Paper ustaw hopper.disable-move-event na true. Pomija to InventoryMoveItemEvent dla hopperów i dramatycznie poprawia wydajność na serwerach z intensywnym użyciem hopperów.
  • Zwiększ ticks-per.hopper-transfer i ticks-per.hopper-check w spigot.yml (np. z 8 do 16). Sprawia to, że hoppery są nieco wolniejsze, ale zmniejsza o połowę koszt przetwarzania.
  • Rozważ użycie strumieni wody zamiast długich łańcuchów hopperów.

4. Pluginy i Datapaki

Każdy zainstalowany plugin uruchamia kod w głównym wątku serwera. Źle napisane pluginy lub po prostu zbyt wiele pluginów przyczyniają się do spadków TPS.

Jak to naprawić:

  • Użyj profilera Spark, aby zidentyfikować, które pluginy zużywają najwięcej czasu ticka. Uruchom profiler podczas problemu z lagiem, nie w czasie bezczynności.
  • Usuń pluginy, których nie używasz. Każdy plugin dodaje overhead nawet gdy jest nieaktywny.
  • Sprawdź, czy pluginy mają opcje async dla ciężkich operacji. Plugin odpytujący bazę danych MySQL w głównym wątku zamraża cały serwer podczas tego zapytania.
  • Aktualizuj pluginy - deweloperzy często naprawiają problemy z wydajnością w nowszych wersjach.

5. Niewystarczający Sprzęt i Konfiguracja JVM

Czasami serwer po prostu nie ma wystarczającej mocy. Minecraft jest jednowątkowy w swojej głównej pętli gry, co oznacza, że jednowątkowa prędkość taktowania jest znacznie ważniejsza niż liczba rdzeni. Procesor 4-rdzeniowy na 5,0 GHz pobije 16-rdzeniowy serwer na 2,5 GHz w Minecraft.

RAM też ma znaczenie, ale nie w sposób, jaki większość ludzi myśli. Nadmierne przydzielenie RAM powoduje dłuższe pauzy garbage collection, które pojawiają się jako skoki lagu. Dla serwera z 20 graczami zwykle wystarczy 4-6 GB. Dla 50+ graczy, 8-10 GB.

Flagi JVM Aikara drastycznie redukują lag garbage collection. Użyj tych flag przy uruchamianiu serwera:

java -Xms6G -Xmx6G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -jar server.jar nogui

Te flagi optymalizują garbage collector G1 Javy dla wzorca użycia pamięci Minecrafta. Większość skoków lagu na dobrze skonfigurowanych serwerach jest związana z GC, a te flagi to naprawiają.

Inne kwestie sprzętowe:

  • Używaj SSD do przechowywania serwera. Ładowanie chunków z obracającego się dysku twardego jest boleśnie wolne.
  • Wybierz dostawcę hostingu z procesorami o wysokiej częstotliwości taktowania - wydajność jednowątkowa to wszystko dla Minecrafta.

Centrum serwera multiplayer Minecraft z graczami

Oprogramowanie Serwera Ma Znaczenie

Jeśli nadal używasz vanilla Minecraft server software, zostawiasz wydajność na stole. Paper i jego fork Purpur zawierają dziesiątki optymalizacji, które znacząco poprawiają TPS bez zmiany rozgrywki.

Różnica w wydajności jest znaczna. Paper może obsługiwać 2-3 razy więcej graczy niż vanilla przy tym samym poziomie TPS. Zawiera asynchroniczne ładowanie chunków, zoptymalizowane tykanie entity i szybsze przetwarzanie redstone.

Zalecane oprogramowanie serwerowe:

  1. Paper - Standardowy wybór dla każdego poważnego serwera. Bezpośredni zamiennik dla Spigot z dużymi ulepszeniami wydajności.
  2. Purpur - Fork Paper z dodatkowymi opcjami konfiguracji i przydatnymi ulepszeniami.
  3. Folia - Wielowątkowy fork dla bardzo dużych serwerów (100+ graczy). Nadal w fazie rozwoju, ale obiecujący.

Unikaj czegokolwiek, co obiecuje "async wszystkiego" - to prawie zawsze oszustwo.

Szybka Lista Optymalizacji

Ustawienie Plik Zalecana Wartość
view-distance spigot.yml 6-8
simulation-distance server.properties 3-4
spawn-limits.monsters bukkit.yml 40-50
spawn-limits.animals bukkit.yml 6-8
merge-radius.item spigot.yml 3.5
merge-radius.exp spigot.yml 4.0
hopper.disable-move-event paper config true
mob-spawner-tick-rate bukkit.yml 2
sync-chunk-writes server.properties false
per-player-mob-spawn paper config true

Utrzymuj Serwer w Dobrym Stanie

Spadki TPS są frustrujące, ale prawie zawsze możliwe do naprawienia. Zacznij od profilowania za pomocą Spark, aby znaleźć prawdziwe wąskie gardło. Następnie przejdź przez powyższe poprawki, zaczynając od entity i ładowania chunków. Dodaj flagi JVM - same w sobie rozwiązują zaskakująco wiele skarg na skoki lagu.

Szukasz hostingu Minecraft, który zapewni Ci moc CPU i pamięć SSD do utrzymania TPS na stabilnym poziomie 20? Sprawdź hosting serwerów Minecraft DoomHosting. Używamy procesorów o wysokiej częstotliwości taktowania, zoptymalizowanych pod jednowątkowe obciążenia - dokładnie to, czego Minecraft potrzebuje dla stabilnych 20 TPS.

🚀

Gotowy, żeby zacząć?

Doświadcz premium hostingu serwerów gier z DoomHosting. Natychmiastowa konfiguracja, wsparcie 24/7 i gwarancja 99,99% dostępności.

Powiązane Wpisy