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- Zastavte server tlačítkem Zastavit.
- Vytvořte zálohu.
- 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
- Zastavte server.
- Smažte soubor
.jaruvedeného doplňku ze složky/modsnebo/plugins. - Spusťte server a ověřte, zda chyba zmizela.
- 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čí.