Blog
Lagy na Minecraft serveru: jak zjistit příčinu a opravit je
Bloky se vrací, mobové se teleportují a hráči si stěžují? Ukážeme, jak poznat, kde je problém, změřit ho pluginem spark a opravit nejčastější příčiny lagů.
„Server laguje“ je nejčastější stížnost hráčů. Pod tím se ale může skrývat pět úplně různých problémů. Než začneš přidávat RAM nebo mazat pluginy, zjisti, jaký lag to je a co ho způsobuje. Tady je postup, který používáme i my při řešení tiketů.
Tři druhy lagu
| Druh | Jak se projevuje | Kde je problém |
|---|---|---|
| Serverový lag (nízké TPS) | Bloky se po vytěžení vracejí, mobové se teleportují, laguje to všem najednou | Server nestíhá počítat |
| Síťový lag (vysoký ping) | Zpožděné akce, laguje jen některým hráčům | Připojení hráče nebo síť |
| Klientský lag (nízké FPS) | Trhaný obraz, ale server reaguje normálně | Počítač hráče |
Pokud laguje jen jednomu hráči, problém je téměř jistě na jeho straně. Pokud všem najednou, hledej na serveru.
Jak lag změřit
Server počítá svět ve ticích. Za sekundu jich chce stihnout 20 (20 TPS), takže jeden tick smí trvat nejvýš 50 milisekund. Když trvá déle, TPS klesá a hra se zpomaluje.
- Na Paperu napiš do konzole
tpsamspt– uvidíš ticky za sekundu a délku jednoho ticku. - Nejlepší nástroj je spark. Na novějších verzích Paperu je přímo součástí serveru, jinak ho nainstaluješ přes Plugin manager.
spark tps
spark profiler start
(nech běžet pár minut, ideálně když lag nastává)
spark profiler stop
Profiler vrátí odkaz na přehledný report. V něm uvidíš, co zabírá nejvíc času – konkrétní plugin, entity, generování chunků nebo třeba hoppery.
Nejčastější příčiny a řešení
1. Generování nových chunků
Hráči, kteří objevují nové oblasti (hlavně na elytrách), nutí server generovat terén – a to je nejnáročnější práce vůbec. Řešením je svět pregenerovat pluginem Chunky a nastavit hranici světa.
2. Příliš velká view-distance
Každý hráč drží kolem sebe načtené chunky. Snížení view-distance a hlavně simulation-distance v server.properties má na výkon obrovský vliv. Hodnoty 6–8 pro simulaci jsou pro většinu serverů ideální.
3. Entity a farmy
Stovky zvířat v ohradě, itemy na zemi a obří mob farmy umí server položit. Pomáhá rozumný limit zvířat na chunk (pluginem nebo v konfiguraci Paperu) a domluva s hráči na pravidlech pro farmy.
4. Redstone a hoppery
Hoppery neustále kontrolují, jestli mají co přesouvat. Tisíce hopperů nebo rychlé redstone hodiny zvládnou zpomalit i silný stroj. Paper má nastavení, která jejich zátěž výrazně snižují – projdi návod optimalizace výkonu.
5. Náročné nebo špatně napsané pluginy
Spark report ukáže, který plugin zabírá nejvíc času. Často to bývá zastaralý plugin nebo plugin, který dělá těžkou práci v každém ticku. Aktualizuj ho, nastav ho jinak nebo ho nahraď.
6. Málo (nebo zbytečně moc) RAM
Když RAM dochází, Java často „uklízí“ paměť a server se při tom na chvíli zasekává. Pozná se to podle pravidelných krátkých lagů. Příliš mnoho RAM ale výkon nezlepší – víc v článku Kolik RAM potřebuje Minecraft server.
7. Slabý procesor
Pokud je po všech úpravách MSPT pořád vysoké, server prostě potřebuje rychlejší jádro. Modpacky a velké servery proto doporučujeme provozovat na Ryzenu 9 5900X s taktem až 4,8 GHz.
Když to není server
- Vysoký ping: hráč na Wi-Fi nebo přetíženém připojení. Pomůže kabel nebo restart routeru.
- Nízké FPS: slabší počítač hráče. Na Javě pomohou optimalizační módy jako Sodium, případně nižší vzdálenost vykreslování.
- Výpadky spojení u všech: může jít o útok. Ochranu řešíme za tebe – viz DDoS ochrana.
Rychlý kontrolní seznam
- Zjisti, jestli laguje všem (server), nebo jednomu (hráč).
- Změř TPS a MSPT, pusť spark profiler.
- Pregeneruj svět a nastav hranici.
- Sniž simulation-distance a view-distance.
- Omez entity a hoppery, zkontroluj farmy.
- Aktualizuj nebo vyměň náročné pluginy.
- Teprve pak řeš víc RAM nebo silnější procesor.
Nevíš si rady se spark reportem? Pošli nám odkaz v tiketu a podíváme se na to s tebou.