Minecraft Server Performance Benchmarks 2026: Vanilla vs Paper vs Folia
Choosing the right server software for Minecraft directly impacts performance, stability, and player experience. In 2026, we have new server core versions, Java updates, and JVM optimization techniques. We ran comprehensive benchmarks and are ready to share the results.
Benchmark Methodology
We standardized all conditions for objectivity:
- Profiler: Spark Profiler v1.10 for monitoring TPS, MSPT, and memory usage
- Player simulation: 25, 50, 100, and 200 bots via Headless MC
- World: pre-generated 5000x5000 block world with villages and farms
- Plugins: standard set (EssentialsX, LuckPerms, WorldGuard) - 12 total
- Hardware: AMD Ryzen 9 7950X, 64GB DDR5-5600, NVMe Gen4
- Network: 1 Gbps dedicated, filtered through MineGuard
Each test was run three times for 30 minutes. We recorded average values and peak loads.
Server Software Comparison: TPS Under Load
TPS (ticks per second) is the primary performance metric. The ideal value is 20.0 TPS.
| Software | 25 Players | 50 Players | 100 Players | 200 Players |
|---|---|---|---|---|
| Vanilla 1.21.4 | 19.8 | 16.2 | 7.0 | 2.1 |
| Spigot 1.21.4 | 20.0 | 19.1 | 14.0 | 8.3 |
| Paper 1.21.4 | 20.0 | 19.9 | 18.0 | 14.7 |
| Purpur 1.21.4 | 20.0 | 20.0 | 19.0 | 15.9 |
| Folia 1.21.4 | 20.0 | 20.0 | 20.0 | 18.4 |
Key finding: Vanilla drops below 20 TPS at just 50 players. Paper and Purpur hold stable 18-19 TPS at 100 players. Folia, with its multi-threaded region processing, shows the best results under heavy load but requires compatible plugins.
RAM Usage Comparison
Memory consumption with standard 8 GB allocation (-Xmx8G):
| Software | 25 Players | 50 Players | 100 Players | 200 Players |
|---|---|---|---|---|
| Vanilla | 3.2 GB | 4.8 GB | 7.1 GB | OOM |
| Spigot | 2.8 GB | 4.1 GB | 5.9 GB | 7.6 GB |
| Paper | 2.4 GB | 3.5 GB | 5.1 GB | 6.8 GB |
| Purpur | 2.5 GB | 3.6 GB | 5.2 GB | 6.9 GB |
| Folia | 2.9 GB | 4.0 GB | 5.8 GB | 7.4 GB |
Paper manages memory most efficiently thanks to chunk and entity ticking optimizations. Folia uses slightly more due to multi-threading overhead, but this is justified by its stable TPS.
Chunk Loading Speed
Test: teleport 10,000 blocks and measure full chunk loading time at view-distance 10:
| Software | Load Time (sec) | Chunks/sec |
|---|---|---|
| Vanilla | 8.4 | 74 |
| Spigot | 5.1 | 122 |
| Paper | 2.3 | 271 |
| Purpur | 2.1 | 297 |
| Folia | 1.4 | 446 |
Async chunk loading in Paper/Purpur provides a 3-4x advantage over Vanilla. Folia loads chunks in parallel across regions, nearly doubling Paper's speed.
Java Version Impact
Testing Paper 1.21.4 with 100 players on different JDK versions:
| JDK | TPS | MSPT (avg) | RAM | Startup (sec) |
|---|---|---|---|---|
| OpenJDK 17 | 17.2 | 42ms | 5.4 GB | 12.1 |
| OpenJDK 21 | 18.0 | 38ms | 5.1 GB | 10.8 |
| GraalVM CE 21 | 18.6 | 35ms | 4.8 GB | 9.4 |
| GraalVM EE 21 | 19.1 | 32ms | 4.6 GB | 8.7 |
Upgrading from Java 17 to Java 21 yields a 5-8% TPS improvement. GraalVM Enterprise delivers the best results thanks to its advanced JIT compiler, though the paid license is not for everyone.
JVM Flags Optimization
Comparing popular launch configurations (Paper 1.21.4, Java 21, 100 players):
| Configuration | TPS | GC Pause (avg) | GC Pause (max) |
|---|---|---|---|
| Default flags | 16.8 | 45ms | 210ms |
| Aikar's Flags | 18.0 | 18ms | 85ms |
| Aikar's + ZGC | 18.3 | 8ms | 22ms |
| GraalVM + Aikar's | 18.9 | 12ms | 45ms |
Recommended Aikar's Flags for Java 21:
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:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 \
-XX:G1MixedGCLiveThresholdPercent=90 \
-XX:G1RSetUpdatingPauseTimePercent=5 \
-XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem \
-XX:MaxTenuringThreshold=1 -jar server.jar --nogui
Hosting Comparison: Dedicated vs VPS vs Shared
| Parameter | Dedicated | VPS (KVM) | Shared |
|---|---|---|---|
| TPS @ 100 players | 18.0 | 15.2 | 11.4 |
| MSPT stability | High | Medium | Low |
| Latency spikes | Rare | Frequent | Constant |
| Price/month | $50-150 | $15-40 | $5-15 |
| Customization | Full | High | Limited |
| DDoS protection | Varies | Basic | Shared |
Shared hosting suits servers with up to 20 players. VPS handles up to 50. For 100+ players, we recommend a dedicated server with single-core frequency of 4.5 GHz or higher.
Single-Thread vs Multi-Thread Performance
Minecraft on traditional server cores (Vanilla, Spigot, Paper, Purpur) runs primarily on a single thread. Therefore:
- Most important: single-core clock speed (4.5+ GHz recommended)
- Less important: core count (4-6 cores sufficient for Paper)
- Exception: Folia utilizes multiple cores, and 8+ cores provide noticeable gains
CPU ranking by single-thread performance for Minecraft:
| CPU | Single-thread Score | TPS @ 100 (Paper) |
|---|---|---|
| AMD Ryzen 9 7950X | 2050 | 18.0 |
| Intel i9-14900K | 2100 | 18.3 |
| AMD Ryzen 7 5800X | 1600 | 16.5 |
| Intel i7-12700K | 1750 | 17.1 |
| AMD Ryzen 5 3600 | 1300 | 14.2 |
Network Bandwidth Requirements
Real traffic consumption per player depends on activity:
| Players | Outbound Traffic | Peak Traffic | Recommended Link |
|---|---|---|---|
| 25 | 15 Mbps | 25 Mbps | 100 Mbps |
| 50 | 35 Mbps | 55 Mbps | 200 Mbps |
| 100 | 80 Mbps | 120 Mbps | 500 Mbps |
| 200 | 170 Mbps | 260 Mbps | 1 Gbps |
Beyond bandwidth, network stability and DDoS protection are critical. During an attack, even a perfectly optimized server becomes unreachable.
Network Performance and Protection
Server optimization is only half the equation. The network layer matters just as much. At MineGuard, we built a proxy filter that adds less than 1 ms of latency while filtering attacks. Server-side optimization combined with network protection delivers the best experience for your players.
Our tests showed that during a 50 Gbps DDoS attack, an unprotected server loses 100% of its players. With MineGuard protection, players do not even notice the attack, and TPS stays at 20.0.
Final Recommendations
- Up to 30 players: Paper + Java 21 + Aikar's Flags + VPS with good CPU
- 30-100 players: Paper/Purpur + Java 21 + Aikar's Flags + dedicated server
- 100+ players: Folia (if plugins are compatible) or Purpur + GraalVM + powerful dedicated
- Always: DDoS protection for stable operation even under attack
Choosing the right server core, Java version, and JVM flags can improve performance by 50-100% without any extra hardware spending.
Protect Your Server from DDoS Attacks
Free protection with 5-minute setup. 1 TB bandwidth included.
Try for FreeRelated Articles
Paper and Spigot Security Settings: What to Enable and What to Disable
Detailed breakdown of security settings in server.properties, spigot.yml, paper-global.yml, paper-world-defaults.yml and bukkit.yml. Every parameter explained with production-ready values.
How to Keep a Minecraft Server Running 24/7
Step-by-step guide to running a Minecraft server 24/7: home PC vs VPS, screen/tmux setup, systemd services, auto-restart on crash, and DDoS protection.
Why Gaming Servers Are the #1 Target for DDoS Attacks
The gaming industry absorbs over 46% of all DDoS attacks worldwide. We break down why gaming servers are attacked, who is behind it, what attacks cost, and why Minecraft suffers the most.