Skip to main content
Paper’s world configuration allows you to customize settings on a per-world basis. The default configuration is stored in config/paper-world-defaults.yml, and you can create world-specific overrides.

Location

Entity Settings

Spawning

integer
default:"-1"
Per-world mob spawn limits for each category. -1 uses the server default from bukkit.yml.Categories: monster, creature, ambient, axolotls, underground_water_creature, water_creature, water_ambient
integer
default:"-1"
Ticks between spawn attempts for each category. Higher values reduce spawn rates. -1 uses bukkit.yml defaults.
boolean
default:"true"
Enable per-player mob spawning for more consistent spawning near players.
This creates a better single-player-like experience in multiplayer!
integer
default:"default"
Distance at which mobs begin to have a chance to despawn. Uses vanilla default if not set.
integer
default:"default"
Distance at which mobs immediately despawn. Uses vanilla default if not set.
string
default:"ellipsoid"
Shape used for calculating despawn ranges. Options: ellipsoid or cylinder.
integer
default:"default"
Ticks before arrows shot by non-players despawn. -1 disables despawning.
integer
default:"default"
Ticks before arrows shot by creative mode players despawn.
integer
default:"200"
Maximum invulnerability ticks for arrows before forced despawn. Set to -1 to disable.
boolean
default:"false"
Make all chunks valid for slime spawning.
boolean
default:"false"
Allow iron golems to spawn without a full solid block beneath them.
boolean
default:"false"
Count all mobs (including those from spawners) towards spawn caps.
double
default:"default"
Chance for skeleton horses to spawn during thunderstorms. Use vanilla default if not set.
integer
default:"default"
Maximum light level at which monsters can spawn. Vanilla default is 0.
integer
default:"1200"
Length of a “minute” in ticks for wandering trader spawn timing.
integer
default:"24000"
Length of a “day” in ticks for wandering trader spawn timing.
integer
default:"25"
Minimum spawn chance percentage for wandering traders.
integer
default:"75"
Maximum spawn chance percentage for wandering traders.
boolean
default:"false"
Enable custom despawn rates for specific items.
map
default:"cobblestone: 300"
Map of items to their despawn time in ticks.
Useful for reducing lag from common items like cobblestone!

Behavior

double
default:"0.5"
Speed modifier for baby zombies (0.5 = 50% faster than adults).
boolean
default:"false"
Allow mobs from spawners to jump when nerfed.
boolean
default:"true"
Whether zombies should pathfind to and trample turtle eggs.
boolean
default:"true"
Whether piglins become angry when players open chests.
boolean
default:"true"
Allow spiders to climb the world border.
boolean
default:"false"
Remove the ender dragon after it’s been defeated.
boolean
default:"false"
Always place a dragon egg when the ender dragon dies (even on respawns).
boolean
default:"true"
Prevent phantoms from spawning for creative mode players.
boolean
default:"true"
Phantoms only attack players who haven’t slept.
integer
default:"72000"
Ticks before phantoms can start spawning for a player (72000 = 3 days).
integer
default:"60"
Minimum seconds between phantom spawn attempts.
integer
default:"119"
Maximum seconds between phantom spawn attempts.
boolean
default:"false"
Completely disable pillager patrols.
double
default:"0.2"
Chance (0.0-1.0) for patrols to spawn.
integer
default:"5"
Day number when patrols can start spawning.
integer
default:"12000"
Ticks between patrol spawn attempts.
double
default:"default"
Chance for villagers to become zombie villagers when killed by zombies. -1 uses vanilla behavior.
boolean
default:"false"
Allow all zombies to pick up loot (not just those that spawn with the ability).
boolean
default:"false"
Allow all skeletons to pick up loot.
boolean
default:"false"
Disable critical hits for players.
boolean
default:"false"
Prevent zombie pigmen from spawning through nether portals from dropping items.
integer
default:"-1"
Maximum value for merged experience orbs. -1 disables limit.
boolean
default:"false"
Prevent merging items that are not on the same y level, preventing visual artifacts.
Useful for preventing items from appearing to merge through floors.

Armor Stands & Markers

boolean
default:"true"
Whether armor stands should tick. Disabling improves performance but breaks some functionality.
boolean
default:"true"
Whether armor stands should perform collision lookups.
boolean
default:"true"
Whether marker entities should tick.

Anticheat

Anti-Xray

boolean
default:"false"
Enable Paper’s anti-xray system.
This adds CPU overhead. Test performance on your server!
string
default:"hide"
Anti-xray engine mode:
  • hide: Hide ores by replacing them with stone
  • obfuscate: Mix real and fake ores (more CPU intensive but more effective)
integer
default:"64"
Maximum Y level where anti-xray is active.
integer
default:"2"
Radius to update when blocks are broken (engine mode 2 only).
boolean
default:"false"
Whether lava should obscure blocks like stone does.
boolean
default:"false"
Require paper.antixray.bypass permission to bypass anti-xray.
list
default:"[ores, chests, etc.]"
List of blocks to hide or obfuscate.
list
default:"[stone, oak_planks, deepslate]"
Blocks used to replace hidden blocks (engine mode 1) or fake ores (engine mode 2).

Environment

boolean
default:"false"
Disable thunder and lightning in this world.
boolean
default:"false"
Prevent ice and snow from forming.
integer
default:"30"
Ticks between fire spread attempts. Higher values slow fire spread.
boolean
default:"false"
Use optimized explosion algorithm (faster but may change behavior slightly).
boolean
default:"false"
Disable knockback from explosions.
integer
default:"128"
Radius to search for existing nether portals.
integer
default:"16"
Radius within which to create a new nether portal.
boolean
default:"true"
Use vanilla dimension scaling when searching for portals (1:8 for nether).
boolean
default:"true"
Enable treasure map generation.
boolean
default:"false"
Allow villager trades to give maps to already-discovered structures.
boolean
default:"default"
Allow loot table maps to point to already-discovered structures.

Chunks

integer
default:"default"
Ticks between automatic chunk saves. -1 or default uses bukkit.yml value.
integer
default:"24"
Maximum chunks to save per tick during auto-save.
string
default:"10s"
Delay before unloading chunks (supports time units: s, m, h, d).
Keeping chunks loaded longer reduces repeated loading for players moving back and forth.
boolean
default:"false"
Prevent players from moving into unloaded chunks.
map
default:"see source"
Limit entities saved per chunk by type. Prevents lag from entity overflow.

Performance Options

boolean
default:"true"
Add cooldown to hoppers when the container is full, reducing checks.
boolean
default:"false"
Disable InventoryMoveItemEvent for hoppers (breaks plugins that use it).
Only enable this if you know what you’re doing!
boolean
default:"false"
Skip checks for blocks above hoppers.
integer
default:"1"
Ticks between grass spread attempts. Higher = slower spread but better performance.
integer
default:"1"
Ticks between container updates.
integer
default:"1"
Ticks between mob spawner attempts.
string
default:"vanilla"
Redstone implementation to use:
  • vanilla: Standard Minecraft redstone
  • eigencraft: Eigencraft redstone implementation
  • alternate_current: Modern alternate current redstone
Changing this affects redstone behavior and contraption functionality!

Example Configuration

Per-World Overrides

To create world-specific settings, the server automatically generates config/paper-world.yml with sections for each world:

Global Configuration

Server-wide settings

Performance Tuning

Optimize these settings for performance