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