Optimalizace Minecraft serveru
Od verze 1.13 začal být Minecraft více a více náročný na výkon. V důsledku toho je na novější verze potřeba větší paměť RAM a výkonnější procesor, i tak se někdy server laguje. Zaměříme se tady na několik často nejnáročnějších věcí v Minecraftu a ukážeme si, jak je vyřešit. Návod je určený pro verzi PaperMC 1.21.x
Předgenerování mapy
Častou chybou, kterou lidé dělají je, že si nepředgenerují herní mapu. Mapa se musí generovat až během toho, co ji prozkoumává nějaký hráč a protože je generace mapy náročnější na výkon, může se server začít lagovat nebo spadnout.
Jak předgenerovat mapu se můžete dočíst zde.
Konfigurace
Pokud nepotřebujete server optimalizovat komplexně, doporučuji využít záložku v CP Optimalizační nástroje -> Optimalizace.
Podrobná konfigurace
Chunky
server.properties
simulation-distance
Doporučená hodnota: 3-5
Určuje počet chunků od hráče, kde se dějí herní mechaniky (v pecích se peče, rostou rostliny atd.)
view-distance
Doporučená hodnota: 7
Počet reálných chunků, kolik bude hráči odesláno (kolik uvidí). Má podstatně menší dopad na výkon serveru než simulation-distance. Nemá nic společného s view distance kterou si nastaví hráč (ikdyž si hráč nastaví ve hře třeba 12 chunků, aktualizovaných bude mít pouze 7 nejbližších, dalších 5 si bude hra pamatovat z doby, kdy byl na daném místě).
spigot.yml
view-distance
Doporučená hodnota: default
Toto nastavení má větší prioritu než parametr v server.properties, proto nechte na default, aby jste hodnotu mohli nastavovat jen v server.properties
simulation-distance
Doporučená hodnota: default
paper-world-defaults.yml
delay-chunk-unloads-by
Doporučená hodnota: 10s (je tak nastaveno v default nastavení)
Určuje za jak dlouhou dobu má chunk odnačíst na serveru poté, co jej hráč opustí. Tady se nedá říct ideální hodnota, záleží na zaměření serveru. Jestli hráči spíš chodí sem a tam, je lepší tuto hodnotu zvýšit, aby server nemusel neustále dané chunky načítat a tím musel zatěžovat procesor. Nebo jestli hráči spíš cestují (např. na survival serverech), dát nižší dobu (třeba těch 10s) za kterou se chunky odnačtou aby se uvolnily RAM. Stojí za zvážení některé frekventované místa, třeba spawn, nechat načtené trvale.
entity-per-chunk-save-limit
Doporučené hodnoty:
arrow: 16
ender_pearl: 8
experience_orb: 16
fireball: 8
small_fireball: 8
snowball: 8
Limit uložených entit za tick. Do seznamu lze přidat jakoukoliv entitu, stačí dopsat její název. Obecně se doporučuje u všech entit hodnota okolo 8.
max-auto-save-chunks-per-tick
Doporučená hodnota: 8-10
Limituje počet chunků uložených za tick. Předejde se tím náhlému zvětšení zatížení serveru a případným lagům.
prevent-moving-into-unloaded-chunks
Doporučená hodnota: true
Zabrání hráči jít do nenačtených chunků.
Mobové
bukkit.yml
spawn-limits
Doporučené hodnoty:
axolotls: 3
water-underground-creature: 3
water-ambient: 2
monsters: 15
animals: 7
water-animals: 4
ambient: 2
Omezuje moby ku počtu hráčů. Jednodušše se to dá vysvětlit jako počet hráčů × limity. Pokud máte stále problém se spawnováním hodně mobů, snižte ještě tyto hodnoty.
ticks-per
Doporučené hodnoty:
animal-spawns: 300
monster-spawns: 10
water-spawns: 400
water-ambient-spawns: 400
water-underground-creature-spawns: 400
axolotl-spawns: 400
ambient-spawns: 400
Omezuje rychlost spawnování mobů na ticky.
spigot.yml
mob-spawn-range
Doporučená hodnota: 2
Omezuje kolik chunků od hráče se spawnují mobové.
entity-activation-range
Doporučené hodnoty:
animals: 16
monsters: 24
raiders: 48
misc: 8
water: 8
villagers: 16
flying-monsters: 32
Omezuje vzdálenost (v blocích) kdy začnou být entity aktivní od hráče.
entity-tracking-range
Doporučené hodnoty:
players: 48
animals: 48
monsters: 48
misc: 32
other: 64
Omezuje vzdálenost (v blocích) kdy začnou být entity viditelné pro hráče.
tick-inactive-villagers
Doporučená hodnota: false
Určuje zda mají být vesničané aktivní i mimo rozsah aktivace. Villageři jsou obecně největším problémem co se týče náročnosti entit na výkon.
paper-world-defaults.yml
despawn-ranges
Doporučené hodnoty:
ambient:
hard: 56
soft: 30
axolotls:
hard: 56
soft: 30
creature:
hard: 56
soft: 30
misc:
hard: 56
soft: 30
monster:
hard: 56
soft: 30
underground_water_creature:
hard: 56
soft: 30
water_ambient:
hard: 56
soft: 30
water_creature:
hard: 56
soft: 30
Definuje jakou vzdálenost od hráče (v blocích) se mají despawnout mobové. Hard – vzdálenost, kdy mob bude despawnutý, rozsah mezi Soft a Hard – vzdálenost, ve které se mob může ale nemusí spawnout. Rozsah Hard by měl být vždy trochu větší než vzdálenost simulační vzdálenosti.
per-player-mob-spawns
Doporučená hodnota: true
Při spawnování mobů bere v potaz, kolik mobů už je okolo hráče.
max-entity-collisions
Doporučená hodnota: 2
Určuje maximální počet kolizí v jednom okamžiku. Pokud je hodnota vyšší než hodnota gamerule maxEntityCramming, prioritní nastavení se bere z max-entity-collisions
.
update-pathfinding-on-block-update
Doporučená hodnota: false
Pokud tento parametr zakážete, mobové budou mít omezeno hledat „chytřejší“ cestu a zvýší se výkon.
Inspirováno návodem od YouHaveTrouble, některé hodnoty byly pozměněny z důvodu lepších zkušeností.
Je návod nejasný nebo potřebuješ další pomoc?
Hostuješ u FakaHeda.eu? Využij náš Discord technické podpory!