Skip to main content
Paper World Configuration Guide - visual guide

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, Paper itself splits the old paper.yml on first start. GameGrid does not migrate or back up your old settings for you - copy anything you want to keep out of paper.yml before you upgrade.

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/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.