Přejít k obsahu

Chyba: Exception in Server Tick Loop

Minecraft server přerušil hlavní herní smyčku – jak v logu identifikovat příčinu a vyřešit poškozenou entitu, chunk nebo vadný mód.

Hlášení Exception in Server Tick Loop znamená, že v hlavní výpočetní smyčce serveru vznikla výjimka a chod serveru byl přerušen. Je to souhrnné hlášení – samo o sobě neříká nic o příčině. Odpověď je vždy na řádku Caused by: o několik řádků níže.

#Co budete potřebovat

  • Přístup do záložky Záznamy v panelu manage.mchost.gg.
  • Zálohu před jakýmkoli zásahem do souborů světa.

#Krok 1: Vyhledejte skutečnou příčinu

V záložce Záznamy zadejte do pole Filtrovat logy… výraz Caused by. Zajímá vás poslední takový řádek po hlášení o tick loopu.

[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)

Název balíčku na prvním řádku at ... (v tomto příkladu com.example.mod) ukazuje na mód odpovědný za chybu.

#Krok 2: Určete typ problému

Caused by: Význam Co udělat
Ticking entity Poškozená entita ve světě Odstraňte entitu (postup níže)
Ticking block entity Poškozená truhla, pec nebo spawner Odstraňte blok
OutOfMemoryError Nedostatek paměti Viz Nedostatek paměti
NullPointerException v balíčku módu Chyba módu nebo pluginu Odstraňte daný doplněk
ArrayIndexOutOfBoundsException u chunku Poškozený soubor regionu Obnovte svět ze zálohy
ConcurrentModificationException Konflikt mezi doplňky Vypínejte doplňky postupně po skupinách

#Krok 3: Poškozená entita nebo blok

Log uvádí souřadnice:

Entity Type: minecraft:villager (net.minecraft.entity.passive.VillagerEntity)
Entity's Exact location: 128.50, 64.00, -311.50
  1. Zastavte server tlačítkem Zastavit.
  2. Vytvořte zálohu.
  3. Spusťte server a ihned v Konzoli odstraňte problematickou entitu:
kill @e[type=minecraft:villager,x=128,y=64,z=-311,distance=..5]

Pokud server spadne dřív, než stihnete příkaz zadat, zbývá smazat soubor regionu obsahující tyto souřadnice nebo obnovit zálohu.

Odstranění souboru regionu ze složky world/region nenávratně smaže úsek mapy o rozměrech 512×512 bloků včetně staveb hráčů. Dělejte to jen se zálohou a po ověření, co se v oblasti nachází.

#Krok 4: Když je viníkem mód nebo plugin

  1. Zastavte server.
  2. Smažte soubor .jar uvedeného doplňku ze složky /mods nebo /plugins.
  3. Spusťte server a ověřte, zda chyba zmizela.
  4. Pokud ano, vyhledejte novější verzi doplňku kompatibilní s vaší verzí hry.

Pokud log doplněk jednoznačně neurčuje, přesuňte celý obsah složky /plugins do dočasné složky a vracejte soubory po polovinách – k zúžení viníka stačí několik restartů.

#Krok 5: Když nic jiného nepomáhá

Obnovte zálohu z doby před vznikem chyby – záložka Zálohy → Obnovit. Pokud ani to nepomůže, zbývá přeinstalace serveru s obnovením samotného světa.

#Nejčastější problémy

#Chyba se vrací při každém spuštění

Příčina je zapsána ve světě (poškozená entita nebo blok), nikoli v souborech serveru. Samotná přeinstalace ji neodstraní – je třeba opravit svět nebo obnovit zálohu.

#Server běží pár minut a poté spadne

Poškozený objekt je v chunku, který se načte teprve ve chvíli, kdy se k němu přiblíží hráč. Zkontrolujte souřadnice v logu – ukážou, kde se tehdy někdo nacházel.

#Caused by ukazuje na net.minecraft, ne na mód

To naznačuje poškozená data světa, ne doplněk. Obnovte zálohu.

#Log neobsahuje Caused by

Stáhněte celý soubor tlačítkem Stáhnout – zobrazení v prohlížeči mohlo starší řádky oříznout.

#Nedokážu log interpretovat

Přiložte celý latest.log k hlášení v helpdesku. Výřez ze snímku obrazovky málokdy stačí.

#Co dál

Nezbytné technologie běží vždy. Funkční, analytické a marketingové zapneme jen s vaším souhlasem.

Zásady ochrany osobních údajů a cookies