Optimalizace výkonu Minecraft serveru
Jak zrychlit Minecraft server: view a simulation distance, Paper config, pregenerace světa pluginem Chunky, spark profiler a Aikarovy flagy.
Laguje ti server nebo klesá TPS pod 20? Většinu problémů vyřešíš správným nastavením, ne nutně přidáním RAM. Projdi tyhle kroky postupně.
1. Zjisti, co server zatěžuje – spark
Nejdřív měř, pak opravuj. Plugin/mod spark (pro Paper, Fabric, Forge i NeoForge) ukáže, co přesně bere výkon.
spark tps
spark health
spark profiler start
spark profiler stop
Profiler nech běžet pár minut během lagu, pak ho zastav. spark vygeneruje odkaz na přehledný report, kde uvidíš, které pluginy, entity nebo chunky zatěžují hlavní vlákno.
2. View a simulation distance
V server.properties mají největší vliv na výkon tyto dvě hodnoty:
view-distance=8
simulation-distance=6
simulation-distance určuje, kde se „tickuje“ svět (moby, farmy, plodiny) – její snížení pomáhá nejvíc. view-distance ovlivňuje, kolik chunků se posílá hráčům. Podrobnosti v článku server.properties.
3. Použij Paper (nebo Purpur) a jeho konfiguraci
Paper je výrazně výkonnější než Vanilla nebo Spigot. Na novějších verzích najdeš jeho nastavení ve složce config/ (paper-global.yml a paper-world-defaults.yml), další volby v spigot.yml a bukkit.yml. Užitečné oblasti k ladění:
- entity-activation-range (spigot.yml) – vzdálené entity se aktualizují méně často,
- spawn-limits (bukkit.yml) – nižší limity mobů snižují zátěž,
- despawn ranges a limity entit (paper-world-defaults.yml),
- max-auto-save-chunks-per-tick – rovnoměrnější ukládání bez záseků.
Agresivní nastavení může rozbít farmy nebo herní mechaniky. Měň hodnoty postupně a vždy si předem udělej zálohu konfigurace.
4. Pregeneruj svět pluginem Chunky
Generování nových chunků je jedna z nejnáročnějších operací. Když hráči létají s elytrou do neprozkoumaných míst, server se zadýchává. Plugin Chunky vygeneruje svět předem:
chunky world world
chunky radius 5000
chunky start
Průběh sleduješ v konzoli, pozastavíš ho příkazem chunky pause a obnovíš chunky continue. Poté nastav world border na stejnou velikost, aby hráči negenerovali další chunky:
worldborder set 10000
Pregeneraci spouštěj ideálně, když na serveru nikdo nehraje. Větší svět zabere víc místa na disku.
5. Aikarovy flagy
Aikarovy flagy jsou sada startovacích parametrů pro Javu, kterou sestavil vývojář Aikar pro Minecraft servery. Nastavují garbage collector G1GC tak, aby uklízel paměť častěji a v kratších pauzách – výsledkem jsou méně znatelné „záseky“ při úklidu paměti. Patří mezi ně například:
-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200
-XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch
Kompletní a aktuální sadu najdeš v dokumentaci PaperMC. Flagy nepřidávají výkon „zázrakem“ – pomáhají hlavně s plynulostí. Pokud v nastavení startu serveru nevidíš možnost flagy upravit, napiš nám tiket.
6. Pluginy a mody
- Odstraň nepoužívané pluginy a mody.
- Hledej v reportu spark pluginy, které běží na hlavním vlákně příliš dlouho.
- Na Fabricu pomohou optimalizační mody jako Lithium nebo FerriteCore.
Pokud server i po optimalizaci nestíhá, zvaž silnější procesor – viz Jak vybrat RAM a procesor.
Pořád si nevíš rady? Rádi pomůžeme.