Przejdź do treści

Błąd: Exception in Server Tick Loop

Serwer Minecraft przerywa pętlę ticków — jak znaleźć przyczynę w logu i naprawić uszkodzoną encję, chunk lub mod.

Exception in Server Tick Loop oznacza, że coś rzuciło wyjątek w głównej pętli serwera i praca została przerwana. To komunikat zbiorczy — sam w sobie nie mówi nic o przyczynie. Odpowiedź zawsze siedzi w linii Caused by: kilka linijek niżej.

#Czego potrzebujesz

  • Dostęp do zakładki Dzienniki w panelu manage.mchost.gg.
  • Kopia zapasowa przed jakąkolwiek ingerencją w pliki świata.

#Krok 1: Znajdź prawdziwą przyczynę

W zakładce Dzienniki wpisz w pole Filtruj logi… frazę Caused by. Interesuje Cię ostatnia taka linia po komunikacie o tick loopie.

[10:22:04] [Server thread/ERROR]: Exception in server tick loop
net.minecraft.util.crash.CrashException: Ticking entity
Caused by: java.lang.NullPointerException
    at com.example.mod.EntityHandler.tick(EntityHandler.java:88)

Nazwa pakietu w pierwszej linii at ... (tu com.example.mod) wskazuje moda odpowiedzialnego za błąd.

#Krok 2: Dopasuj przyczynę

Caused by: Co to znaczy Co zrobić
Ticking entity Uszkodzona encja w świecie usuń encję, patrz niżej
Ticking block entity Uszkodzona skrzynia, piec, spawner usuń blok
OutOfMemoryError Brak pamięci patrz Brak pamięci
NullPointerException w pakiecie moda Błąd moda lub pluginu usuń wskazany dodatek
ArrayIndexOutOfBoundsException przy chunku Uszkodzony plik regionu przywróć kopię zapasową
ConcurrentModificationException Konflikt między dodatkami usuwaj dodatki partiami

#Krok 3: Uszkodzona encja lub blok

Log podaje współrzędne:

Entity Type: minecraft:villager (net.minecraft.entity.passive.VillagerEntity)
Entity's Exact location: 128.50, 64.00, -311.50
  1. Zatrzymaj serwer przyciskiem Wyłącz.
  2. Zrób kopię zapasową.
  3. Uruchom serwer i natychmiast usuń problematyczną encję z konsoli:
kill @e[type=minecraft:villager,x=128,y=64,z=-311,distance=..5]

Jeśli serwer wywala się szybciej, niż zdążysz wpisać komendę, zostaje usunięcie pliku regionu zawierającego te współrzędne albo przywrócenie kopii zapasowej.

Usunięcie pliku regionu z katalogu world/region kasuje bezpowrotnie cały fragment mapy o wymiarach 512×512 bloków wraz z budowlami graczy. Rób to wyłącznie mając kopię zapasową i po sprawdzeniu, co znajduje się w tym obszarze.

#Krok 4: Winowajcą jest mod lub plugin

  1. Zatrzymaj serwer.
  2. Usuń plik .jar wskazanego dodatku z /mods lub /plugins.
  3. Uruchom serwer i sprawdź, czy błąd zniknął.
  4. Jeśli tak — poszukaj nowszej wersji dodatku zgodnej z Twoją wersją gry.

Gdy log nie wskazuje jednoznacznie dodatku, przenieś całą zawartość /plugins do folderu tymczasowego i dokładaj pliki partiami po połowie — kilka restartów wystarczy, by zawęzić winowajcę.

#Krok 5: Kiedy nic nie pomaga

Przywróć kopię zapasową sprzed wystąpienia błędu — zakładka Kopie zapasowePrzywróć. Jeśli i to nie działa, zostaje reinstalacja serwera z przywróceniem samego świata.

#Najczęstsze problemy

#Błąd wraca po każdym uruchomieniu

Przyczyna jest zapisana w świecie (uszkodzona encja lub blok), a nie w plikach serwera. Sama reinstalacja jej nie usunie — trzeba naprawić świat albo przywrócić kopię.

#Serwer działa kilka minut i pada

Uszkodzony obiekt jest w chunku wczytywanym dopiero, gdy zbliży się do niego gracz. Sprawdź w logu współrzędne — pokażą, gdzie ktoś wtedy był.

#Caused by wskazuje net.minecraft, nie mod

To sugeruje uszkodzone dane świata, nie dodatek. Przywróć kopię zapasową.

#Log nie zawiera Caused by

Pobierz pełny plik przyciskiem Pobierz — widok w przeglądarce mógł uciąć starsze linie.

#Nie potrafię zinterpretować logu

Dołącz cały latest.log do zgłoszenia w helpdesku. Fragment ze zrzutu ekranu rzadko wystarcza.

#Co dalej