Purpur
Highly configurable drop-in replacement for Paper Minecraft servers
Purpur is a fork of the Paper Minecraft server that adds extensive gameplay configuration options and additional features. It is a drop-in replacement for Paper with hundreds of toggleable settings for self-hosted servers.
Key features
- Hundreds of config options
- Drop-in Paper replacement
- Extra gameplay tweaks
- Plugin compatibility
Pros & cons
Strengths
- Very customizable
- Easy migration from Paper
Trade-offs
- Niche audience
- Same Java tuning needs
Purpur replaces
Last reviewed Sep 13, 2026 · 866 words
Swapping a running Paper server to Purpur is a jar file replacement and a restart: your world, plugins, paper-world-defaults.yml and bukkit.yml all carry over untouched, and a new purpur.yml appears with several hundred options that Paper deliberately refuses to add. That is the pitch in full. Purpur is Paper plus a config file, MIT licensed, 2,408 stars, around since 2019, and it is the choice for anyone who wants a survival server that is slightly, or wildly, different from vanilla without writing a plugin.
What the extra config buys you
Paper is a performance fork of Spigot with a strict policy: it does not change gameplay. Purpur sits downstream of Paper, by way of Pufferfish, and exists to break that rule on request. Everything is off by default, so a fresh Purpur server plays exactly like Paper until you edit purpur.yml. Some of the options people actually turn on:
settings:
use-alternate-keepalive: true
world-settings:
default:
mobs:
dolphin:
ridable: true
horse:
ridable-in-water: true
gameplay-mechanics:
player:
spawner:
spawner-drops-eggs: true
blocks:
anvil:
allow-colors: true
iron-cost: 10
Ridable mobs are the signature feature, and yes, you can ride a dolphin. The catalogue's "hundreds of config options" is not an exaggeration: per-mob toggles, per-block behaviour tweaks, the /tpsbar and /rambar commands that show server health in the boss bar, villager and enchantment tweaks, and a long tail of quality-of-life options like anvil colour codes that would otherwise need a plugin each. The full list is on the project's documentation site, organised by section, and it is worth reading once because you will find 5 things you did not know you wanted.
Migration from Paper is safe in both directions
Because Purpur only adds to the config, moving from Paper is a 30-second job. Stop the server, replace paper.jar with the Purpur jar from the project's download page, start it, and purpur.yml is generated with defaults. Plugins written for Paper's API work unchanged; Purpur exposes a small API of its own on top, and a plugin that uses it will not run on plain Paper, but the number of those is small.
Going back is equally simple as long as you did not enable anything that changed world data. Turning on a config option does not modify saved chunks; a ridable dolphin is just a dolphin in the world file. So if a future Purpur release lags a Minecraft update, and it occasionally trails Paper by a few days after a major version, you can drop back to Paper while you wait.
If you run a network with a proxy, Purpur backend servers work behind Velocity exactly as Paper does.
The JVM tuning does not change
The catalogue's "same Java tuning needs" is the important caveat. Purpur does not make a server lighter; it inherits Paper's optimisations and adds nothing that costs meaningful performance, but nothing that saves it either. The 1 GB minimum is for an empty world. A 5-player survival server with a 10,000-block explored radius wants 4 GB of heap, and the startup line should be the standard Aikar flags, which every Paper guide already gives you. Java 21 is the current requirement for recent Minecraft versions.
With Docker the easiest route is the itzg image, which downloads the right build for you:
services:
minecraft:
image: itzg/minecraft-server
environment:
EULA: "TRUE"
TYPE: PURPUR
MEMORY: 4G
USE_AIKAR_FLAGS: "true"
ports:
- "25565:25565"
volumes:
- ./data:/data
restart: unless-stopped
Back up the data directory with the server stopped or with save-off issued first; a live copy of a region file can be corrupt. If you manage several servers, Pterodactyl and Crafty Controller both have Purpur as a standard egg or template, so you do not need to script the jar download yourself.
Who this is really for
A vanilla-plus survival server for friends: yes, immediately. A large public server with 100 players: also yes, since the underlying performance is Paper's and the big networks run Purpur or Pufferfish for the same reason. A modded server: no, this is the plugin ecosystem, not Forge or Fabric, and the two do not mix. A server you want to be strictly vanilla: run Paper, because it is the same thing without the temptation to fiddle. The niche audience the catalogue mentions is real, but it is a big niche.
What I'd do
Start on Paper, play for a week, then swap the jar to Purpur on the first weekend someone says "I wish villagers would..." and enable exactly the 3 options that answer the complaint. Leave everything else at default. Keep the itzg image so updates are a docker compose pull, give it 4 GB and Aikar's flags, back up nightly with the server paused, and check the Purpur download page for a matching build before you accept any Minecraft version bump. That is a server that plays like vanilla until it does not, which is exactly what most groups want.
Compare Purpur
2 head-to-head comparisons.
Similar game servers apps
Mindustry
Game ServersTower-defense and factory game with servers
Replaces Factorio
Lichess
Game ServersOpen-source chess server and platform
Replaces Chess.com
OpenRCT2
Game ServersOpen-source remake of RollerCoaster Tycoon 2
Replaces RollerCoaster Tycoon
papermc-docker
Game ServersContainerized Minecraft Java server image
Replaces Minecraft Realms
ArchiSteamFarm
Game ServersTool for farming Steam cards from multiple accounts
Replaces Idle Master
2048
Game ServersSelf-hostable browser version of the 2048 sliding puzzle
Replaces Mobile puzzle games