
Paper World Configuration Guide
Understand Paper's split config system and the most important optimization settings.
Paper Config File Structure (1.19+)
Everything here is Paper only. Of the five Minecraft server types GameGrid offers, only Paper has these files - Vanilla, Fabric, Forge and NeoForge do not read them and creating one by hand does nothing.
Paper 1.19 and later split the old paper.yml into several files:
config/paper-global.yml - Server-wide settings that apply to all worlds.
config/paper-world-defaults.yml - Default settings for all worlds. Individual worlds can override these.
world/dimensions/[namespace]/[key]/paper-world.yml - Per-world overrides. Only copy values you want to change; everything else inherits from the defaults.
If you are upgrading from Paper 1.18 or earlier, the old paper.yml is backed up to config/legacy-backup/paper.yml.old and your settings are migrated automatically.
Edit these from the Files tab with the server stopped, and restart afterwards. A running Paper server rewrites them on shutdown and will discard your edit. Both files are included in your backups.
Key Global Settings
In config/paper-global.yml:
chunk-loading-basic.player-max-chunk-send-rate (default 75.0) - Maximum chunks sent per second per player. Lower this if players are experiencing lag on join.
chunk-loading-basic.player-max-chunk-load-rate (default 100.0) - Maximum chunks loaded per second per player. Lower this to reduce CPU spikes.
misc.max-joins-per-tick (default 5) - Limits how many players can join per tick. Useful for large servers to prevent join floods.
Key World Settings
In config/paper-world-defaults.yml:
chunks.max-auto-save-chunks-per-tick (default 24) - How many chunks the server saves per tick during autosave. Lower this if autosave causes lag spikes.
chunks.delay-chunk-unloads-by (default 10s) - How long chunks stay loaded after a player leaves. Lower this to free memory faster.
entities.spawning.spawn-limits.monster (default -1) - Caps hostile mobs for this world. -1 means "use bukkit.yml", where spawn-limits.monsters defaults to 70. Set a number here (e.g., 40) for better performance on busy servers.
redstone-implementation (default VANILLA) - Set to ALTERNATE_CURRENT for faster redstone processing. This is one of the biggest redstone performance improvements.
Per-World Overrides
If you want different settings for specific worlds (e.g., higher mob limits in the Nether, lower in the Overworld), create a paper-world.yml in the world's directory.
Only include the settings you want to override. Everything else inherits from paper-world-defaults.yml.
Example: To disable mob spawning in just the Nether, create world_nether/dimensions/minecraft/the_nether/paper-world.yml with:
entities: { spawning: { spawn-limits: { monster: 0, creature: 0, water_creature: 0 } } }
This is useful for event worlds, creative worlds, or worlds with special rules.
