Minecraft · Pokročilé
Jak zvýšit TPS a výkon Minecraft serveru
Co je TPS a MSPT
Minecraft server počítá svět ve „ticích“, ideálně 20× za sekundu. TPS (ticks per second) ukazuje, kolik ticků server skutečně stihne — 20 je maximum. MSPT (milliseconds per tick) je doba výpočtu jednoho ticku. Dokud je MSPT pod 50 ms, drží se TPS na 20; nad 50 ms začne TPS klesat. MSPT je proto užitečnější ukazatel — prozradí problém dřív, než hráči něco poznají.
tps # Paper/Spigot: TPS za poslední 1, 5 a 15 minut
mspt # Paper: průměrná doba ticku1Změřte, co server zdržuje (spark)
spark je profiler, který ukáže, kolik času zabírají jednotlivé pluginy, módy, entity a chunky. Novější buildy Paperu ho mají přibalený; jinak ho stáhněte z Modrinthu (existuje pro Paper, Fabric, Forge i NeoForge) a nainstalujte jako plugin nebo mód.
spark tps # TPS a MSPT včetně špiček
spark health # využití CPU, paměti a disku
spark profiler start # spustí měření
# ...nechte běžet několik minut ve chvíli, kdy se laguje...
spark profiler stop # ukončí měření a vypíše odkaz na reportV reportu rozbalte vlákno „Server thread“ a hledejte položky s největším podílem času — typicky konkrétní plugin, entity (tick entit), generování chunků nebo redstone/hoppery. Podle toho vyberte, který z dalších kroků řešit jako první.
2View distance a simulation distance
V souboru server.properties jsou dvě volby, které mají na zátěž největší vliv:
| Klíč | Co ovlivňuje | Výchozí |
|---|---|---|
view-distance | Kolik chunků kolem hráče se posílá klientovi (co hráč vidí). | 10 |
simulation-distance | V jakém okruhu kolem hráče se svět „hýbe“ — rostou plodiny, pohybují se moby, běží redstone. | 10 |
Počet počítaných chunků roste s druhou mocninou vzdálenosti, takže i malé snížení je znát. Rozumný výchozí bod pro veřejný server je simulation-distance 4–6 a view-distance 6–8; na menším serveru si můžete dovolit víc. Změna se projeví po restartu.
view-distance=8
simulation-distance=5spigot.yml (sekce world-settings), např. nižší pro Nether a End.3Předgenerování světa pluginem Chunky
Generování nových chunků je jedna z nejnáročnějších operací. Když hráči prozkoumávají nový terén (hlavně na elytrách), server generuje za běhu a TPS padá. Řešením je vygenerovat svět předem v omezené oblasti a za ni hráče nepustit.
Nainstalujte Chunky (verze pro Paper, Fabric, Forge i NeoForge) a v konzoli zadejte:
chunky world world # svět, který se má generovat
chunky center 0 0 # střed oblasti
chunky radius 5000 # poloměr v blocích
chunky start # spustí generování
chunky pause # pozastaví (pokračovat: chunky continue)
worldborder center 0 0
worldborder set 10000 # průměr hranice = 2 × poloměr- Generování spouštějte, když na serveru nikdo nehraje — dočasně server vytíží naplno.
- Předgenerovaný svět zabírá místo na disku. Před spuštěním zkontrolujte volné místo v panelu a začněte menším poloměrem.
- Stejný postup zopakujte pro Nether (world_nether) a End (world_the_end), pokud je hráči používají.
4Entity a farmy
Velké množství entit — zvířata v ohradách, itemy na zemi, vozíky, armor standy, mob farmy — patří k nejčastějším příčinám nízkého TPS. Na Paperu zjistíte, kde se entity hromadí, příkazem:
paper entity list # počty entit podle typu
paper entity list minecraft:cow # kde přesně jsou krávy (podle chunků)- Domluvte se s hráči na pravidlech farem (maximální počet zvířat v ohradě, vypínatelné farmy).
- Limity spawnu mobů upravíte v
bukkit.ymlv sekcispawn-limits; nižší hodnoty znamenají méně mobů v okolí hráčů. - V
spigot.ymlvolbyentity-activation-rangeurčují, od jaké vzdálenosti se entity počítají zjednodušeně, amerge-radiusslučuje itemy a zkušenosti ležící na zemi.
5Konfigurace Paperu
Paper má vlastní konfiguraci ve složce config/: paper-global.yml (celý server) a paper-world-defaults.yml (výchozí hodnoty pro světy). Často upravované volby v paper-world-defaults.yml:
| Volba | K čemu je |
|---|---|
entities.spawning.despawn-ranges | Vzdálenost, ve které moby mizí. Menší hodnoty = méně mobů ve světě. |
entities.spawning.per-player-mob-spawns | Rozdělí limit mobů mezi hráče rovnoměrněji. |
collisions.max-entity-collisions | Omezí počet kolizí, které entita počítá — pomáhá u nahuštěných zvířat. |
misc.redstone-implementation | Alternativní implementace redstonu (např. ALTERNATE_CURRENT) je rychlejší, ale může změnit chování některých obvodů. |
hopper.disable-move-event | Zrychlí hoppery; nezapínejte, pokud plugin (např. ochrana pozemků) událost potřebuje. |
chunks.max-auto-save-chunks-per-tick | Rozloží ukládání světa do více ticků a omezí krátké záseky. |
Přesný význam a výchozí hodnoty najdete v dokumentaci Paperu. Názvy voleb se mezi verzemi mohou lišit — vždy se řiďte souborem, který vám server vygeneroval.
6Pluginy a módy
- Odeberte pluginy a módy, které nepoužíváte. Každý přidává práci při startu i za běhu.
- Pokud spark ukáže jeden plugin s velkým podílem času, zkuste jeho aktualizaci, úpravu konfigurace, nebo náhradu.
- Na Fabricu pomáhají serverové optimalizační módy, např. Lithium; na Forge/NeoForge existují podobné (např. ModernFix). Ověřte si kompatibilitu s modpackem.
- Pluginy, které pravidelně „mažou lag“ hromadným odstraňováním entit, řeší jen příznak a hráčům mizí věci. Lepší je najít zdroj.
Pomůže víc RAM?
Jen tehdy, když serveru paměť opravdu dochází. Poznáte to v příkazu spark health nebo v grafech panelu: paměť se drží u limitu, v reportu sparku jsou časté a dlouhé pauzy garbage collectoru, případně server padá s OutOfMemoryError. Pokud je problém v entitách, generování chunků nebo v pluginu, víc RAM TPS nezvedne. Navýšení tarifu uděláte v klientské zóně a projeví se po restartu.
Pokud teprve vybíráte tarif, podívejte se na Minecraft hosting — u doporučovače vždy uvádíme, z jakých předpokladů odhad vychází.
Rychlý přehled
| Příznak | Pravděpodobná příčina | Kde začít |
|---|---|---|
| Lag při průzkumu nového terénu | Generování chunků | Chunky + world border |
| Lag stále na stejném místě | Farma, hromada entit, redstone | paper entity list |
| Lag roste s počtem hráčů | Příliš velká simulation distance | server.properties |
| Pravidelné krátké záseky | Ukládání světa, garbage collector | spark profiler |
| Lag po instalaci pluginu/módu | Konkrétní plugin nebo mód | spark profiler |
Související: instalace pluginů, zálohy a změna verze.
Stále nízké TPS?
Pošlete podpoře odkaz na report ze sparku a popis, kdy se lag objevuje. Z reportu je příčina vidět mnohem lépe než z popisu.
Hledáte hosting pro Minecraft server?
Paper, Fabric, Forge i modpacky v Pterodactyl panelu na vlastním hardwaru ve Frankfurtu nad Mohanem. Když si nebudete vědět rady, napište podpoře.