---
title: "Optimise Paper and Purpur settings for better performance"
url: https://help.endercloud.in/docs/optimise-paper-and-purpur-settings
category: "Minecraft Hosting › Troubleshooting & Performance"
type: Guide
tags: ["config", "lag", "paper", "performance"]
keywords: "paper optimization, optimize paper server, paper-world-defaults.yml, paper-global.yml, spigot.yml, bukkit.yml, purpur.yml, view-distance, simulation-distance, merge-radius, entity-activation-range, max-entity-collisions, alternate current, optimize-explosions, best paper settings, server optimise kaise kare, optimize server, optimise server, reduce lag paper, paper config, purpur config, best server settings, view distance lag, entity lag, optimisation"
difficulty: intermediate
time: "15 minutes"
updated: 2026-11-14
source: Endercloud Knowledge Base (official)
---

# Optimise Paper and Purpur settings for better performance

> A few safe changes to view distance, simulation distance, entity and item settings make a big difference. Change one thing at a time and measure with spark.

Paper and Purpur are already much faster than Vanilla or Spigot, and a few well-known settings can make them faster still. The changes below are safe for most servers. Some change gameplay a little, so read the note on each one, change a few at a time, and compare with [spark](/docs/find-lag-with-spark-profiler) before and after.

> **Warning:**
> Make a backup in **Backups** first. Don't paste in whole "optimised" config files from the internet: they often break farms, plugins or redstone. Edit the files in **Files** and restart the server after saving.

## Where the files are

-   `server.properties`: main folder, or use the **Properties** tab.
    
-   `bukkit.yml` and `spigot.yml`: main folder.
    
-   `config/paper-global.yml` and `config/paper-world-defaults.yml`: Paper 1.19 and newer. Per-world overrides go in `paper-world.yml` inside a world folder.
    
-   `purpur.yml`: main folder, Purpur only.
    

## 1\. View and simulation distance (biggest win)

In **Properties** (server.properties):

-   `view-distance`: how many chunks players can see. The default is 10. **6 to 8** is a good balance.
    
-   `simulation-distance`: how far from players mobs move, crops grow and redstone runs. The default is 10. **4 to 6** saves a lot of CPU. Farms only work when a player is within this distance, so keep it high enough for your players' farms.
    

You can also set these per world in `spigot.yml` under `world-settings`; by default they follow server.properties.

## 2\. Entity and item settings in spigot.yml

Under `world-settings: default:`

-   `merge-radius`: how close dropped items and XP orbs must be to merge into one. Slightly larger values (for example `item: 2.5` and `exp: 3.0`) mean fewer entities. Very large values can make items jump through walls.
    
-   `entity-activation-range`: mobs further than this from players are ticked less often. Lowering `animals`, `monsters` and `misc` a little (for example by a quarter) saves CPU. Too low and mob farms slow down.
    
-   `nerf-spawner-mobs: true`: mobs from spawners have no AI. Great for performance, but it changes how spawner farms behave.
    

## 3\. Paper world settings

In `config/paper-world-defaults.yml`. Indentation matters in YAML: use spaces, not tabs.

```
collisions:
  max-entity-collisions: 2
environment:
  optimize-explosions: true
misc:
  redstone-implementation: ALTERNATE_CURRENT
chunks:
  max-auto-save-chunks-per-tick: 8
  prevent-moving-into-unloaded-chunks: true
```

-   `max-entity-collisions` (default 8): limits how many collisions one entity checks per tick. Helps a lot with crowded mob farms.
    
-   `optimize-explosions`: faster TNT and creeper explosions.
    
-   `redstone-implementation: ALTERNATE_CURRENT`: a much faster redstone engine. A few very timing-sensitive contraptions may behave differently, so test your important builds.
    
-   `max-auto-save-chunks-per-tick` (default 24): spreads auto-saves out to reduce save lag spikes.
    
-   `prevent-moving-into-unloaded-chunks`: stops fast players from forcing chunk loads on the main thread.
    

You can also limit how many of certain entities a chunk saves with `chunks.entity-per-chunk-save-limit` (for example arrows or experience orbs), which stops piles of them building up.

## 4\. Mob limits in bukkit.yml

`spawn-limits` controls how many mobs of each group can spawn per player. Lowering `monsters` from 70 to around 50 reduces entity load. It also means fewer mobs for players to fight and farm, so change it carefully.

## 5\. Purpur

Purpur reads all the Paper, Spigot and Bukkit settings above. `purpur.yml` is mostly extra gameplay options, so there is no need to change it for performance.

## What not to do

-   **Don't edit Java startup flags.** We already start your server with tuned memory settings. Only change what the **Startup** tab offers you.
    
-   **Don't touch `unsupported-settings`** or turn off ticking. These can break the game.
    
-   **Don't rely on ClearLagg-style plugins.** They delete items and mobs to hide lag instead of fixing it. See [How to fix server lag](/docs/how-to-fix-minecraft-server-lag).
    
-   **Don't set view distance below 4** or simulation distance below 3. The game feels broken for players.
    

Also [pregenerate your world](/docs/pregenerate-your-world-with-chunky). It often helps more than any setting.

## Frequently asked questions

**Q: I can't find paper-world-defaults.yml**

It is in the `config` folder on Paper 1.19 and newer and appears after the first start. Older Paper versions use a single `paper.yml` with different option names.

**Q: My server won't start after editing a .yml file**

That is almost always a YAML formatting mistake, such as a tab or wrong indentation. Check the Console for the line number, fix it, or restore your backup.
