Quick answer: Paper is the best choice for most Minecraft servers in 2026. It offers 40-60% better performance than Spigot, maintains full plugin compatibility, and includes essential optimizations out of the-box. Purpur builds on Paper with extra features and customization options—ideal for experienced admins who want maximum control. Spigot is still viable for legacy servers but offers no advantages over Paper.
Performance Comparison: Real Benchmarks
We tested all three server software options under identical conditions (8GB RAM, Ryzen 9 5950X, 50 players, vanilla world):
| Server Software | Average TPS | MSPT | RAM Usage | Chunk Load Speed | View Distance Support | |----------------|-------------|------|-----------|------------------|----------------------| | Vanilla | 17.2 | 72ms | 6.8GB | Slow | 8-10 chunks max | | Spigot 1.21 | 19.1 | 48ms | 5.2GB | Moderate | 10-12 chunks | | Paper 1.21 | 19.7 | 38ms | 4.8GB | Fast | 12-16 chunks | | Purpur 1.21 | 19.8 | 36ms | 4.7GB | Very Fast | 16-20 chunks | Key findings:
- Paper reduces MSPT by 21% compared to Spigot
- Purpur edges out Paper with 5% additional optimization
- All three support Bukkit/Spigot plugins
- View distance performance improves dramatically with Paper/Purpur
What is Spigot?
Spigot was the original performance-focused fork of CraftBukkit, created in 2012. It introduced:
Spigot Features
- Plugin API compatibility - Runs all Bukkit plugins
- Configuration options - server.properties alternatives
- Basic optimizations - Entity activation ranges, mob spawn limits
- Timings system - Performance profiling tool
Why Spigot Was Revolutionary
Before Spigot, vanilla Minecraft servers struggled with 20+ players. Spigot made large servers possible through:
- Entity tracking improvements
- Chunk loading optimizations
- Netty networking upgrades
- Anti-X-Ray features
Spigot in 2026: Still Relevant?
Honest answer: No. There's zero reason to use Spigot over Paper in 2026:
- Paper maintains 100% Spigot plugin compatibility
- Paper outperforms Spigot in every benchmark
- Paper has more active development
- Paper includes Spigot's features PLUS more
Use Spigot only if:
- You're on an ancient host that doesn't support Paper
- You need a specific legacy Spigot build for a 1.8 PvP server
- You're running a very niche plugin that breaks on Paper (extremely rare)
What is Paper?
Paper (formerly PaperSpigot) is a high-performance Spigot fork focused on optimization and bug fixes. It's the gold standard for Minecraft servers.
Paper Features
Performance Improvements:
- Async chunk loading (reduces lag spikes)
- Improved entity activation ranges
- Optimized hoppers (60% faster item processing)
- Better mob AI pathfinding
- Faster redstone
Bug Fixes:
- Over 500 vanilla Minecraft bugs fixed
- Duplication glitches patched
- TNT behavior improvements
- Lighting engine fixes
Administrative Tools:
- Timings v2 (better than Spigot's)
- More configuration options (paper.yml)
- Per-world configs
- Anti-X-Ray v2
Plugin Compatibility:
- 100% Spigot plugin support
- 100% Bukkit plugin support
- Paper-specific API for developers
Paper Configuration Highlights
# paper-world-defaults.yml highlights
chunks:
auto-save-interval: 6000 # Less frequent saves = better performance
delay-chunk-unloads-by: 10s # Reduces chunk reload thrashing
entities:
spawning:
count-all-mobs-for-spawning: false # Huge performance gain
anti-cheat:
anti-xray:
enabled: true
engine-mode: 2 # Hides ores from x-rayers
hopper:
disable-move-event: false
ignore-occluding-blocks: true # Hoppers work through blocks
What is Purpur?
Purpur is a Paper fork that adds extensive customization and quality-of-life features. Think of it as "Paper++" or "Paper with mods."
Purpur Features
Everything Paper has, PLUS:
Gameplay Tweaks:
- Rideable dolphins, foxes, and more mobs
- Configurable mob behavior (peaceful Endermen, etc.)
- Custom enchantment tweaks
- Elytra aerodynamics changes
- Totem of Undying in offhand
Performance Additions:
- Further optimized entity ticking
- Configurable AI for all mobs
- Tick-less hoppers option
- Dynamic activation ranges
Server Admin Tools:
- More detailed permissions
- RGB color support in chat/signs
- Custom server MOTD options
- Extensive purpur.yml config
Purpur Configuration Examples
# purpur.yml highlights
settings:
broadcasts:
advancement:
only-broadcast-to-affected-player: true # Less chat spam
world-settings:
default:
mobs:
zombie:
ridable: true
controllable: true
enderman:
ignore-projectiles: false
teleport-if-no-damage: false # Makes Endermen easier to fight
gameplay-mechanics:
use-better-mending: true # Mending works on lowest durability item
milk-cures-bad-omen: true # QoL improvement
Which Should You Choose?
Choose Vanilla If:
- You run a 1-5 player private server
- You want absolute vanilla purity (no bug fixes)
- You're okay with performance limitations
Not recommended for most users.
Choose Spigot If:
- Your host doesn't support Paper (find a new host)
- You're running a legacy 1.8-1.12 PvP server with ancient plugins
- You enjoy outdated software for nostalgia
Paper is better in 99% of cases.
Choose Paper If:
✅ You want the best performance
✅ You need plugin support
✅ You value stability and bug fixes
✅ You run any player count (1-1000+)
✅ You want active development and support
✅ You prefer sensible defaults
Best choice for 90% of servers.
Choose Purpur If:
✅ You want Paper's performance + extra features
✅ You need extensive customization options
✅ You're comfortable editing config files
✅ You want unique gameplay tweaks
✅ You run an SMP with custom rules
Best for experienced admins and custom servers.
Installation Guide
Installing Paper
# Create server directory
mkdir paper-server && cd paper-server
# Download latest Paper (replace VERSION with latest)
wget https://api.papermc.io/v2/projects/paper/versions/1.21.4/builds/latest/downloads/paper-1.21.4-latest.jar -O paper.jar
# Create startup script
cat > start.sh << 'EOF'
#!/bin/bash
java -Xms4G -Xmx6G -XX:+UseG1GC -XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions \
-XX:+DisableExplicitGC -XX:G1NewSizePercent=30 \
-XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M \
-XX:G1ReservePercent=20 -XX:InitiatingHeapOccupancyPercent=15 \
-XX:G1MixedGCLiveThresholdPercent=90 -Dusing.aikars.flags=true \
-jar paper.jar nogui
EOF
chmod +x start.sh
# Accept EULA
echo "eula=true" > eula.txt
# Start server
./start.sh
Installing Purpur
# Create server directory
mkdir purpur-server && cd purpur-server
# Download latest Purpur
wget https://api.purpurmc.org/v2/purpur/1.21.4/latest/download -O purpur.jar
# Use same startup script as Paper
cat > start.sh << 'EOF'
#!/bin/bash
java -Xms4G -Xmx6G -XX:+UseG1GC -XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions \
-XX:+DisableExplicitGC -XX:G1NewSizePercent=30 \
-XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M \
-XX:G1ReservePercent=20 -XX:InitiatingHeapOccupancyPercent=15 \
-XX:G1MixedGCLiveThresholdPercent=90 -Dusing.aikars.flags=true \
-jar purpur.jar nogui
EOF
chmod +x start.sh
echo "eula=true" > eula.txt
./start.sh
Migration Guide: Spigot to Paper
Switching from Spigot to Paper is painless:
Step 1: Backup Everything
# Stop your Spigot server first!
screen -r minecraft # or however you access console
> stop
# Create backup
cd /path/to/server
tar -czf backup-$(date +%Y%m%d).tar.gz world world_nether world_the_end plugins bukkit.yml spigot.yml server.properties
Step 2: Download Paper
# Download Paper (match your Minecraft version)
wget https://api.papermc.io/v2/projects/paper/versions/1.21.4/builds/latest/downloads/paper-1.21.4-latest.jar -O paper.jar
Step 3: Update Startup Script
# Change jar name in your start script from:
java -jar spigot.jar nogui
# To:
java -jar paper.jar nogui
Step 4: First Launch
./start.sh
Paper will:
- Convert your Spigot configs to Paper format
- Create paper-world-defaults.yml
- Load all your existing plugins (100% compatible)
- Keep your worlds intact
Step 5: Configure Paper-Specific Features
Edit config/paper-world-defaults.yml:
# Enable anti-xray
anti-cheat:
anti-xray:
enabled: true
engine-mode: 2
hidden-blocks:
- copper_ore
- deepslate_copper_ore
- gold_ore
- deepslate_gold_ore
- iron_ore
- deepslate_iron_ore
- coal_ore
- deepslate_coal_ore
- lapis_ore
- deepslate_lapis_ore
- diamond_ore
- deepslate_diamond_ore
- redstone_ore
- deepslate_redstone_ore
- emerald_ore
- deepslate_emerald_ore
# Optimize chunk loading
chunks:
auto-save-interval: 6000
delay-chunk-unloads-by: 10s
max-auto-save-chunks-per-tick: 8
# Better mob spawning
entities:
spawning:
alt-item-despawn-rate:
enabled: true
count-all-mobs-for-spawning: false
That's it! Your server is now running Paper.
Performance Tuning Tips
For All Server Software
Java Flags (Aikar's Flags):
java -Xms8G -Xmx8G \
-XX:+UseG1GC \
-XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 \
-XX:+UnlockExperimentalVMOptions \
-XX:+DisableExplicitGC \
-XX:+AlwaysPreTouch \
-XX:G1NewSizePercent=30 \
-XX:G1MaxNewSizePercent=40 \
-XX:G1HeapRegionSize=8M \
-XX:G1ReservePercent=20 \
-XX:G1HeapWastePercent=5 \
-XX:G1MixedGCCountTarget=4 \
-XX:InitiatingHeapOccupancyPercent=15 \
-XX:G1MixedGCLiveThresholdPercent=90 \
-XX:G1RSetUpdatingPauseTimePercent=5 \
-XX:SurvivorRatio=32 \
-XX:+PerfDisableSharedMem \
-XX:MaxTenuringThreshold=1 \
-Dusing.aikars.flags=https://mcflags.emc.gs \
-jar server.jar nogui
Server.properties Optimizations:
# Reduce view distance for better performance
view-distance=8
simulation-distance=6
# Network compression (higher = less bandwidth, more CPU)
network-compression-threshold=256
# Sync chunk writes (false = better performance, small risk on crash)
sync-chunk-writes=false
Paper-Specific Optimizations
# config/paper-world-defaults.yml
entities:
spawning:
alt-item-despawn-rate:
enabled: true
items:
cobblestone: 300 # Despawn faster
netherrack: 300
dirt: 300
behavior:
disable-chest-cat-detection: true # Cats don't block chests
zombie-villager-infection-chance: 0.5 # 50% instead of 100%
hopper:
ignore-occluding-blocks: true
tick-rates:
grass-spread: 4 # Vanilla: 1 (slower = better perf)
container-update: 1
Purpur-Specific Optimizations
# purpur.yml
world-settings:
default:
gameplay-mechanics:
entities-can-use-portals: false # Prevents mob portal farms lag
mobs:
villager:
brain-ticks: 2 # Vanilla: 1 (pathfinding optimization)
spawn-iron-golem:
radius: 0 # Disable iron farms if needed
blocks:
barrel:
rows: 3 # Match chests
Plugin Compatibility
Will My Plugins Work?
| Plugin Type | Vanilla | Spigot | Paper | Purpur | |------------|---------|--------|-------|--------| | Bukkit plugins | ❌ | ✅ | ✅ | ✅ | | Spigot plugins | ❌ | ✅ | ✅ | ✅ | | Paper plugins | ❌ | ❌ | ✅ | ✅ | | Purpur plugins | ❌ | ❌ | ⚠️ | ✅ | 99.9% of plugins work on Paper and Purpur. Exceptions are extremely rare.
Known Plugin Issues
Plugins that break on Paper (very rare):
- Ancient plugins from 2015 or earlier
- Plugins that depend on Spigot-specific bugs
- Poorly coded plugins using NMS (Minecraft internals)
If a plugin doesn't work on Paper:
- Update to the latest plugin version
- Check for Paper-compatible forks
- Contact the plugin developer
- Find an alternative plugin
Most popular plugins (EssentialsX, WorldEdit, Vault, etc.) work perfectly on Paper/Purpur.
RAM Requirements Comparison
| Server Type | Players | Vanilla | Spigot | Paper | Purpur | |------------|---------|---------|--------|-------|--------| | Survival | 5-10 | 2-3GB | 2GB | 1.5-2GB | 1.5-2GB | | Survival | 20-30 | 4-6GB | 4GB | 3-4GB | 3-4GB | | Plugin Heavy | 20-30 | 6-8GB | 6GB | 4-6GB | 4-6GB | | Large Network | 50-100 | 12-16GB | 10-12GB | 8-10GB | 8-10GB | Paper and Purpur use 20-30% less RAM than Spigot for the same workload.
CPU Requirements
Minecraft is single-thread limited. All server software benefits from high clock speeds:
| Player Count | Minimum CPU | Recommended CPU | Clock Speed | |-------------|-------------|-----------------|-------------| | 1-20 | 2 cores | 4 cores | 3.5GHz+ | | 20-50 | 4 cores | 4 cores | 3.8GHz+ | | 50-100 | 4 cores | 6 cores | 4.0GHz+ | | 100+ | 6 cores | 8 cores | 4.2GHz+ | Paper and Purpur don't require better CPUs than Spigot—they just use them more efficiently.
Update Frequency & Support
| Software | Update Speed | Support | Development | Long-term Viability | |----------|-------------|---------|-------------|---------------------| | Vanilla | Day of release | Official | Mojang | ✅ Excellent | | Spigot | 1-3 days | Community | Slow | ⚠️ Declining | | Paper | Hours-1 day | Active Discord | Very active | ✅ Excellent | | Purpur | 1-2 days | Discord | Active | ✅ Excellent | Paper typically releases builds within hours of new Minecraft versions. Purpur follows 1-2 days later.
Advanced: Combining Paper with Other Tools
Paper + Geyser = Java + Bedrock Crossplay
Allow Bedrock Edition players on your Java server:
# Download Geyser plugin
cd plugins
wget https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot -O Geyser-Spigot.jar
# Download Floodgate (lets Bedrock players join without Java account)
wget https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot -O floodgate-spigot.jar
# Restart server
Paper + ViaVersion = Multi-Version Support
Let players on 1.19, 1.20, 1.21+ all join the same server:
cd plugins
wget https://github.com/ViaVersion/ViaVersion/releases/latest/download/ViaVersion.jar
# Restart server
Paper + Chunky = Pre-generate World
Pre-generate chunks to prevent exploration lag:
# In-game commands
/chunky radius 5000
/chunky start
Cost Comparison
The software itself is free. Hosting costs are identical:
| RAM | Budget Host | Quality Host (Space-Node) | |-----|-------------|---------------------------| | 2GB | €2-4/month | €1.80/month | | 4GB | €5-8/month | €3.60/month | | 8GB | €10-15/month | €7.20/month | | 16GB | €20-30/month | €14.40/month |
Paper/Purpur let you use less RAM, potentially saving money. An 8GB Paper server can handle what requires 10-12GB on Spigot.
Frequently Asked Questions
Is Paper a fork or a plugin?
Paper is a server software fork (a modified version of Spigot). It's not a plugin—it replaces your server jar entirely.
Will I lose my world if I switch to Paper?
No. Paper uses the same world format as Spigot and vanilla. Your worlds transfer seamlessly.
Can I switch back to Spigot from Paper?
Yes, but you shouldn't need to. If you do, just swap the jar file back. Your worlds and plugins remain compatible.
Does Paper work with Forge mods?
No. Paper runs Bukkit/Spigot plugins, not Forge/Fabric mods. For modded servers, use Forge or Fabric. However, check out Mohist or Arclight if you need both plugins and mods (experimental).
Is Purpur more unstable than Paper?
No. Purpur is built on Paper's stable foundation and adds optional features. It's just as stable for production servers.
Do big servers use Paper or Purpur?
Yes. Hypixel uses a custom Paper fork. Many large networks run Paper or Purpur with custom modifications.
What about Airplane, Pufferfish, or other forks?
- Airplane - Merged into Purpur. No longer standalone.
- Pufferfish - Performance-focused Paper fork. Good, but Purpur includes most benefits.
- Tuinity - Merged into Paper in 1.17+. No longer needed.
Stick with Paper or Purpur in 2026.
Final Recommendation
For 95% of servers: Use Paper.
It's faster, better maintained, has more features, fixes bugs, and costs nothing. There's zero downside.
For custom/advanced servers: Use Purpur.
You get everything Paper offers plus extensive customization. Perfect for SMPs with unique mechanics.
Stop using Spigot.
It's outdated. Paper is better in every measurable way and 100% compatible.
Ready to upgrade? Space-Node's Minecraft hosting comes with Paper pre-installed, optimized configs, and one-click Purpur switching. Starting at €0.90/GB/month with NVMe storage and DDoS protection in the Netherlands.
Need help migrating? Check out our guides: