Work in progressPapyrus is under active development — expect breaking changes, incomplete features, and limited production support.
Skip to content

Performance Tuning

Papyrus performance defaults apply to new config files. Existing servers keep saved values until you change them manually.

Global defaults (config/paper-global.yml)

KeyPapyrus defaultEffect
chunk-system.io-threadsautoScales chunk load/save throughput with CPU
performance.entity-random-sourceSHAREDFast entity RNG
performance.apply-runtime-jvm-defaultstrueSets Netty buffer caps and jna.nosys at startup
performance.netty-threads-1 (auto)Scales Netty event-loop threads (4–8) when not set in spigot.yml
spark.enabledfalseNo Spark profiler overhead
misc.region-file-cache-size512Larger region file cache (uses more RAM)
update-checker.enabledfalseNo PaperMC update checks

World defaults (config/paper-world-defaults.yml)

KeyPapyrus defaultEffect
misc.update-pathfinding-on-block-updatefalseMobs don't repath on every nearby block change
environment.optimize-explosionstrueFaster TNT/creeper blast processing
environment.experience-orb-despawn-rate6000Ticks until XP orbs despawn (vanilla: 6000)
environment.experience-orb-pickup-radius8.0Player pickup range in blocks
entities.spawning.experience-orb-merge-radius1.0Radius for orb merge search
entities.behavior.disable-experience-orb-mergefalseWhen true, orbs never merge
unsupported-settings.disable-world-ticking-when-emptytrueWorlds with no players stop ticking
hopper.ignore-occluding-blockstrueHoppers skip entity scans under solid blocks
entities.armor-stands.tickfalseArmor stands don't tick
entities.markers.tickfalseMarker entities don't tick
scoreboards.allow-non-player-entities-on-scoreboardsfalseSkips scoreboard team lookups for non-players
chunks.entity-per-chunk-save-limit.*cappedLimits arrow/orb/pearl buildup per chunk

Spigot defaults (spigot.yml)

KeyPapyrus defaultEffect
commands.logfalseNo disk I/O logging every command
settings.netty-threadsautoScales Netty I/O threads with CPU when unset

Entity ranges (manual tuning)

For mob-heavy servers, lower tracking and activation ranges in spigot.yml:

yaml
world-settings:
  default:
    entity-tracking-range:
      animals: 48
      monsters: 48
      misc: 32
    entity-activation-range:
      animals: 24
      monsters: 24
      water: 8
      villagers: 16

Tracking controls network packets; activation controls server-side AI ticks. Lower both before touching game rules.

GPL/MIT · Papyrus by SushiMC