Herní servery

Optimalizace Minecraft serveru Paper – konfigurace pro stabilní TPS

Optimalizace Paper serveru – view a simulation distance, bukkit.yml, spigot.yml, paper-world-defaults.yml, pregenerace světa a profilování přes spark.

12. 10. 2026 · 4 min čtení

Paper je nejpoužívanější serverový software pro Minecraft Java s pluginy. Už ve výchozím nastavení je výrazně rychlejší než vanilla nebo Spigot, ale pár změn v konfiguraci dokáže na serveru s desítkami hráčů udělat rozdíl mezi 20 TPS a neustálým lagováním.

Klíčové pravidlo: nejdřív měřte, pak upravujte. Bez profilu nevíte, jestli server brzdí entity, chunky nebo konkrétní plugin.

Měření – TPS, MSPT a spark

Minecraft server běží ve smyčce 20 ticků za sekundu. Na jeden tick má 50 ms. Důležitější než TPS je MSPT (milisekundy na tick) – dokud je pod 50, server stíhá.

Paper v novějších verzích (1.21+) obsahuje profiler spark přímo v sobě, u starších ho nainstalujete jako plugin.

/spark tps
/spark health
/spark profiler start
... nechte běžet pár minut během zátěže ...
/spark profiler stop

Po zastavení dostanete odkaz na webový report se stromem volání. Hledejte, co zabírá nejvíc času v hlavním vlákně – typicky entity (tickEntities), načítání chunků nebo konkrétní plugin.

server.properties

view-distance=8
simulation-distance=6
network-compression-threshold=256
sync-chunk-writes=false
  • view-distance – kolik chunků hráč vidí. Velký vliv na síť a paměť.
  • simulation-distance – v jakém okruhu se „tikají“ entity a farmy. Největší vliv na CPU. Hodnota 5–6 je pro většinu survival serverů v pořádku.
  • sync-chunk-writes=false – vypne synchronní zápis souborů regionů při ukládání chunků, takže ukládání méně brzdí hlavní vlákno. Daní je o něco vyšší riziko ztráty posledních změn při pádu stroje.

bukkit.yml – spawn mobů

spawn-limits:
  monsters: 50
  animals: 8
  water-animals: 3
  water-ambient: 10
  water-underground-creature: 3
  axolotls: 3
  ambient: 1
ticks-per:
  monster-spawns: 2
  animal-spawns: 400

Nižší spawn-limits znamenají méně entit na hráče. Hodnota monster-spawns: 2 znamená pokus o spawn jen každý druhý tick. Příliš agresivní snížení ale rozbije farmy a hráči si všimnou – měňte postupně.

spigot.yml – aktivační rozsahy a slučování

world-settings:
  default:
    entity-activation-range:
      animals: 16
      monsters: 24
      raiders: 48
      misc: 8
      water: 8
      villagers: 16
    merge-radius:
      item: 3.5
      exp: 4.0
    entity-tracking-range:
      players: 48
      animals: 48
      monsters: 48
      misc: 32
  • entity-activation-range – entity dál od hráče se tikají méně často.
  • merge-radius – slučování ležících předmětů a zkušeností do jednoho stacku.
  • entity-tracking-range – do jaké vzdálenosti server posílá hráčům pohyb entit.

paper-world-defaults.yml

Od Minecraftu 1.19 je konfigurace Paperu rozdělená do config/paper-global.yml a config/paper-world-defaults.yml. Užitečné volby ve world-defaults:

environment:
  optimize-explosions: true
entities:
  armor-stands:
    do-collision-entity-lookups: false
    tick: false
collisions:
  max-entity-collisions: 2
hopper:
  disable-move-event: false
chunks:
  prevent-moving-into-unloaded-chunks: true
  • optimize-explosions – rychlejší výpočet výbuchů (TNT farmy).
  • armor-stands.tick: false – armor standy se nehýbou samy. Pozor na pluginy, které s nimi animují.
  • max-entity-collisions – omezení kolizí v natlačených farmách.
  • hopper.disable-move-event: true výrazně zrychlí hoppery, ale rozbije pluginy, které hlídají přesun předmětů (ochrany truhel). Zapínejte jen pokud žádný takový nemáte.

Přesné názvy klíčů se mezi verzemi Paperu občas mění – kontrolujte dokumentaci na docs.papermc.io pro vaši verzi.

Pregenerace světa

Generování nových chunků je jedna z nejdražších operací. Když hráči létají s elytrou do neprozkoumaných oblastí, MSPT vystřelí. Řešení je pregenerace pluginem Chunky a ohraničení světa:

/worldborder set 10000
/chunky radius 5000
/chunky start

Pregeneraci spusťte mimo provoz – zatíží CPU i disk. Průběh sledujete v konzoli, pozastavení /chunky pause.

Paměť a Java

  • Používejte Javu odpovídající verzi hry (Minecraft 1.20.5+ vyžaduje Javu 21).
  • Nastavte -Xms a -Xmx na stejnou hodnotu a použijte G1GC flagy – podrobně v článku Aikar flags a výkon JVM.
  • Víc RAM neznamená víc TPS. Minecraft server je z velké části jednovláknový a víc než RAM ho omezuje výkon jednoho jádra CPU.

Pluginy

Nejčastější příčinou lagu nejsou nastavení, ale pluginy. Ve spark reportu filtrujte podle pluginů. Typicky problematické jsou:

  • pluginy, které při každém pohybu hráče dělají dotaz do databáze,
  • špatně napsané scoreboardy a hologramy s krátkým intervalem obnovy,
  • staré verze pluginů pro jinou verzi hry.

Postup v kostce

  1. Změřte /spark tps a profil během špičky.
  2. Snižte simulation-distance a upravte spawn limity.
  3. Pregenerujte svět a nastavte worldborder.
  4. Odhalte a vyměňte problémové pluginy.
  5. Znovu změřte a porovnejte.