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

💡
/config/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!