Repository navigation
Compatibility
Pratham Anand Basavanal edited this page Nov 10, 2026
·
1 revision
| Platform | Status | Execution Model | Notes |
|---|---|---|---|
| Paper | ✅ Supported | Main thread + async workers | Uses the native TPS/MSPT APIs |
| Purpur | ✅ Supported | Main thread + async workers | Full Paper API |
| Pufferfish / Airplane | ✅ Supported | Main thread + async workers | Paper-derivative support |
| Gale / Leaves | ✅ Supported | Main thread + async workers | Paper-derivative support |
| Folia | ✅ Supported | Regionalised multithreading | Dedicated region-aware scheduler (see below) |
| Spigot / CraftBukkit | ✅ Supported | Main thread + async workers | Measures TPS/MSPT with a monotonic System.nanoTime() fallback |
| Unknown Bukkit forks | Conservative | Runs with conditional optimizations turned off |
Run /os version to see what OptimizeServer detected on your server.
- One universal JAR covers Minecraft 1.8.8 → 1.21.x+.
- It is compiled to Java 8 bytecode (class version 52), so it runs on Java 8, 11, 16, 17, 21, and 25+.
- It never requires a newer Java than your Minecraft version needs.
Optional Maven build profiles are available for modern-only builds:
| Profile | Java | Minecraft |
|---|---|---|
universal-java8 (default) |
8 | 1.8.8 – 1.21.x+ |
modern-java17 |
17 | 1.18 – 1.20.4 |
modern-java21 |
21 | 1.20.5 – 1.21.x+ |
Folia runs each region of the world on its own thread, so the usual Bukkit scheduler is not safe there. OptimizeServer sends each task to the correct scheduler:
| Work | Scheduler |
|---|---|
| Server-wide tasks | GlobalRegionScheduler |
| Chunk/location work | RegionScheduler |
| Entity work | EntityScheduler |
| Non-world work (I/O, analysis) |
AsyncScheduler / bounded worker pool |
On Folia, chunk and entity counts come from event-driven counters, not from looping over World#getLoadedChunks() from an unrelated thread. Region-owned objects are never touched from the wrong thread.
If a module can't run safely on a platform, only that module is turned off, and the reason is logged.
| Plugin | Required? | Notes |
|---|---|---|
| Spark | No | Installed automatically if missing. Paper's bundled Spark is detected. |
| Chunky | No | Installed automatically if missing. Never starts on its own. |
OptimizeServer by NotGamerPratham · MIT License · Source · Report an issue