Entity Activation Range
Entity Activation Range (EAR) is a performance feature that reduces tick rate for entities far from players. Inactive entities are “activated” periodically rather than every tick.How Activation Range Works
Entities are categorized into activation types:Configuration
File:config/spigot.yml
Activation Range Values
Wake-Up Inactive Entities
Periodically “wake up” inactive entities to maintain some activity:Wake-Up Configuration Explained
Wake-Up Configuration Explained
-max-per-tick: How many entities to wake up per tick-every: How often (in ticks) to wake entities (20 ticks = 1 second)-for: How long (in ticks) entities stay awakeExample: animals-every: 1200 with animals-for: 100 means animals wake for 5 seconds every 60 seconds.Villager-Specific Settings
- villagers-work-immunity-after: Villagers stay active for this long after working
- villagers-active-for-panic: Always activate panicking villagers
- tick-inactive-villagers: Enable to maintain villager AI when inactive
Entity Tracking Range
Controls the distance at which players receive entity updates. Entities beyond tracking range are not sent to clients. File:config/spigot.yml
Tracking Range vs Activation Range
- Activation Range: Controls server-side entity ticking
- Tracking Range: Controls network updates to clients
Tracking range should generally be larger than activation range. If tracking range is smaller, players won’t see entities that are still being ticked.
Y-Axis Tracking Range
Paper adds vertical tracking range limits: File:config/paper-world-defaults.yml
Per-Player Mob Spawning
Paper’s per-player mob spawning distributes mob caps across individual players rather than globally. File:config/paper-world-defaults.yml
- More consistent spawning for all players
- Prevents spawn camping at mob farms
- Better mob distribution across the world
Mob Spawn Limits
File:config/paper-world-defaults.yml
-1 for default Minecraft limits, or specify custom limits:
Ticks Per Spawn
Control spawn attempt frequency per mob category:- monster: 1 tick (every tick)
- creature: 400 ticks (20 seconds)
- water_creature: 1 tick
Spawn Rate Optimization Example
Spawn Rate Optimization Example
Reduce creature spawn frequency to improve performance:Higher values = fewer spawn attempts = better performance but fewer mobs.
Entity Behavior Optimizations
File:config/paper-world-defaults.yml
Armor Stands
- do-collision-entity-lookups: Disable if armor stands are purely decorative
- tick: Set to
falsefor static armor stands (significant performance boost)
Markers
Pathfinding Optimization
- Default:
200ticks (10 seconds) - Disabled: Set to
-1
Experience Orb Optimization
File:config/paper-world-defaults.yml
100) to limit XP orb merging:
config/paper-global.yml
Despawn Ranges
File:config/paper-world-defaults.yml
- Soft range: Entities have a chance to despawn
- Hard range: Entities always despawn
Entity-Specific Optimizations
Item Despawn Rates
File:config/spigot.yml
config/paper-world-defaults.yml (alternative despawn rates):
Arrow Despawn Rates
File:config/paper-world-defaults.yml
Monitoring Entity Performance
Using Spark
Profile entity ticking:tickEntity- Entity AI and physicsActivationRange- EAR system performance
Count Entities
Optimization Strategies
1. Aggressive Performance (PvP/Minigames)
2. Balanced (Survival)
3. Vanilla+ (Minimal Changes)
Troubleshooting
Mobs Not Attacking
Cause: Activation range too low Solution: Increasemonsters activation range to 32+
Farms Not Working
Cause: Entities not ticking when players are far away Solution: Ensure farm is within activation range or use chunk loadersVillagers Not Trading/Breeding
Cause:tick-inactive-villagers: false
Solution: Enable tick-inactive-villagers: true
Too Many Entities
Cause: Mob farms, XP farms, or spawner accumulation Solutions:- Reduce spawn limits
- Enable alt-item-despawn-rate for common items
- Use entity-per-chunk-save-limit