Skip to content

Minecraft Server Software Compared: Vanilla, Paper, Purpur, Fabric, Forge and NeoForge

Compare Vanilla, Paper, Purpur, Spigot, Folia, Forge, Fabric and NeoForge, learn why Bukkit plugins never load on Fabric, and pick the right server jar.

Updated August 19, 2026
Minecraft

Before you install a single plugin or mod, you pick a server jar — and that one choice decides which add-ons will ever work, how much performance you get, and which Java runtime you need. This guide compares Vanilla, CraftBukkit, Spigot, Paper, Purpur, Folia, Forge, Fabric and NeoForge on your Minecraft server, explains why a Bukkit plugin will never load on Fabric, and gives you a way to pick that you can defend later.

Setting the jar type itself takes one dropdown in the Startup tab — that part is covered in Getting started with your Minecraft server. This page is about which one to pick.

1. There Are Only Two Families

Every Java Edition server jar belongs to one of two families, and they do not mix.

Bukkit family Mod loader family
Members CraftBukkit, Spigot, Paper, Purpur, Folia Forge, Fabric, NeoForge
Add-ons are called Plugins Mods
Add-on folder plugins/ mods/
Players install anything? No — vanilla clients connect Yes — same loader and mods
Adds new blocks/items/mobs? No Yes
Typical use Public survival, minigames, factions, economy Modpacks, tech/magic packs, private friend groups

Vanilla — Mojang's own server.jar — sits outside both. It accepts neither plugins nor mods.

This is the decision, and it is hard to reverse

Everything else on this page is a refinement of one question: do your players need new content (mods) or do you need server-side management (plugins)? Answer that first. Moving between the families later means finding replacements for every add-on you have, and in some directions it means rebuilding your world layout by hand — see section 9.

2. Vanilla

Mojang's unmodified server.jar, downloadable from minecraft.net and from the launcher's version manifest for every historical release.

Pick it when: you want the exact game Mojang ships, you are testing a snapshot, or you are reproducing a bug to report it.

The catch: no plugins, no mods, and noticeably worse performance under load than Paper. There is also no whitelist tooling beyond /whitelist, no permission tiers beyond the five operator levels, and no anti-lag configuration at all. Most servers that start on Vanilla move to Paper within a month.

3. The Bukkit Family, In Order

These are forks of forks. Each one inherits the API of everything below it, which is why a plugin written for Bukkit in 2013 will usually still load on Purpur today.

CraftBukkit

The original implementation of the Bukkit API against Mojang's server code. It is the ancestor of everything in this column and is effectively obsolete for new servers: it has none of Spigot's or Paper's optimisations. SpigotMC's BuildTools has not even produced a CraftBukkit jar by default since 1.14 — you have to pass --compile craftbukkit to get one, because too many people were running it instead of Spigot.

Spigot

A fork of CraftBukkit with performance patches and extra configuration. Two practical things to know:

  1. There is no download link. SpigotMC's own BuildTools FAQ is blunt about why: "Q: Why is there no direct download for Spigot? A: The DMCA Takedown Request filed in 2014 is the reason behind this. BuildTools is our legal workaround to this problem." You compile it yourself, and SpigotMC asks that the resulting jars are for private use and not redistributed. That is why many hosts, including ours, offer paper rather than spigot in the jar dropdown.
  2. Paper runs Spigot plugins unchanged, so there is very little reason to build Spigot today unless a specific plugin refuses to load anywhere else.

Paper

A fork of Spigot, and the default answer for most servers. Paper's own documentation states it plainly: "Paper is a drop in replacement for both CraftBukkit and Spigot, you don't need to make any changes."

What you get over Spigot: substantially better chunk and entity handling, a much larger configuration surface (config/paper-global.yml and config/paper-world-defaults.yml, with per-world overrides in world/dimensions/<namespace>/<key>/paper-world.yml), the bundled spark profiler, and a genuinely maintained project. The old Spigot and Bukkit files are still there — spigot.yml and bukkit.yml sit in the server root — which is a neat illustration of the inheritance chain.

Paper also publishes a machine-readable support status per version. Section 7 shows how to read it.

Purpur

A fork of Paper. In its own words, "a drop-in replacement for Paper servers designed for configurability, new fun and exciting gameplay features, and performance built on top of Paper."

Purpur's pitch is configurability: a large set of extra toggles for gameplay behaviour that Paper deliberately leaves alone — ridable mobs, adjustable mob AI, tweaked crafting, per-entity settings. Purpur's README says of its API that "this also includes all API provided by Paper, Spigot, and Bukkit", so anything that runs on Paper runs on Purpur.

Pick it when you want to change how the game behaves without writing a plugin. Skip it when you want the smallest possible difference from what plugin authors test against — that is Paper.

Folia

A fork of Paper that splits loaded chunks into independently ticking regions and runs them in parallel. From Folia's own README: "There is no main thread anymore, as each region effectively has its own 'main thread' that executes the entire tick loop."

Folia gets its own section, because it is the one on this list that will break a working server.

4. Folia: When Regionised Multithreading Helps, and When It Hurts

Folia is not "Paper but faster". It is a different threading model, and it costs you compatibility.

Folia helps when, in the PaperMC team's own guidance:

  • Players are naturally spread out — skyblock and large SMP worlds are the stated examples. Regions only tick in parallel if they are not adjacent, so a hundred players standing in one spawn hub gives you one region and no benefit.
  • The player count is sizeable. A 20-slot server has nothing to parallelise.
  • The hardware has at least 16 cores (not threads) — Folia's own FAQ names that figure.
  • The world is pre-generated, which sharply reduces the chunk-worker threads Folia needs.

Folia costs you:

  • Almost every plugin. A plugin must declare folia-supported: true in its plugin.yml or paper-plugin.yml or Folia will not run it at all. And Paper's developer docs warn that the flag is not the hard part: "Marking a plugin as supported on Folia is not nearly enough to support Folia. You must specially develop your plugin with the intent of supporting Folia." Plugins have to be rewritten against Folia's global, region, entity and async schedulers.
  • A list of vanilla commands. Folia disables the bossbar, clone, data, datapack, debug, function, item, loot, reload, return, ride, rotate, schedule, scoreboard, spectate, spreadplayers, tag, team, teammsg, tick, trigger, perf, save-all and restart commands.

Folia is not an upgrade path for a busy Paper server

If your server is lagging with 40 players in one town, Folia will not help — that is one region, on one thread, with fewer plugins available to you than before. Profile first: Diagnosing Minecraft Server Lag walks through it. Folia is a scaling tool for spread-out worlds on big hardware, not a lag fix.

Folia is also permanent as a separate project. Its README: "Folia is also its own project, this will not be merged into Paper for the foreseeable future."

5. The Mod Loaders: Forge, Fabric and NeoForge

Mod loaders let mods change the game itself, which is why every player needs the same loader and the same mods installed locally. Get one mod version wrong and they cannot connect. That trade is the whole story of this family.

Forge

The original loader, and the one nearly every older modpack targets. Forge is still actively developed — its promotions feed lists both a latest and a recommended build for 26.2, and the repository had commits on the day this guide was written.

Pick it when the pack you want is a Forge pack. That is genuinely the main criterion.

NeoForge

A 2023 fork of Forge, described by the NeoForged project as the "Neo Modding API for Minecraft: Java Edition, based on Forge". It is where a large share of new mod development for recent versions has gone. NeoForge numbers its builds to match the game: 26.2.0.x builds target Minecraft 26.2, just as 21.11.x targeted 1.21.11.

Pick it when the mods you want list NeoForge. Forge and NeoForge mods are not interchangeable, despite the shared ancestry — a mod jar is built for one or the other.

"Forge or NeoForge?" is answered by your mod list, not by which is better

Both are alive and both track 26.2. Open the download page for the two or three mods you actually care about, see which loader they publish for, and pick that. Do not choose the loader first and then hunt for mods.

Fabric

Fabric describes itself as "a modular, lightweight mod loader for Minecraft". Fabric's distinguishing traits are that it is small, it updates to new Minecraft versions very fast — its metadata already lists 26.3 snapshot builds while 26.3 is unreleased — and that most of the API lives in a separate mod.

That last point trips people up: Fabric API is a mod, downloaded from Modrinth or CurseForge and dropped into mods/ like any other. Most Fabric mods will not load without it.

Fabric is also a common home for server-side optimisation mods, which is why some operators run a loader with a handful of performance mods and no content mods at all. These are not Fabric-exclusive, though — Lithium, the best known of them, currently publishes builds for Fabric, NeoForge and Quilt, and lists 26.2 among its supported versions.

6. Why Your Plugin Will Not Load on Fabric

This is the single most common support ticket in Minecraft hosting, so it is worth being precise.

Bukkit-family plugins are compiled against the Bukkit API — a stable abstraction layer that CraftBukkit, Spigot, Paper, Purpur and Folia all implement. Fabric, Forge and NeoForge do not implement it. They expose Minecraft's own classes to mods instead. There is no shim in the jar, no compatibility mode, and no config flag. The plugin is simply not something the loader knows how to read.

Paper's documentation states both directions of this explicitly:

  • Migrating away from Paper: "neither Fabric nor Forge will support Paper plugins! You will be required to find replacement mods."
  • Migrating to Paper: "Paper does not support Fabric or Forge mods. You will need to find plugin replacements."

The hybrid trap

Projects exist that claim to run both — Mohist, Arclight, Magma and similar. They work by bolting the Bukkit API onto a Forge or Fabric server, and they have a long, well-documented history of subtle breakage, dupe bugs and world corruption. PaperMC's position, quoted from the same migration guide, is unambiguous: "Any hybrids that attempt to support both mods and plugins are fundamentally flawed and not recommended for use."

If you genuinely need both, the supported pattern is a proxy network: a Velocity proxy in front of separate Paper and modded backend servers, each running what it is good at. Velocity supports a wide span of Minecraft versions, and Paper is one of the backends the Velocity project names as having "first-class support". Note that Waterfall — the older PaperMC proxy — has reached end of life. PaperMC's own downloads page says so plainly: "Waterfall has reached end of life! It is no longer maintained or supported", and "We recommend you transition to Velocity."

7. Support Status and Java Version Are Both Checkable

Two facts about any given jar are published as machine-readable data, so you never have to take a forum post's word for it.

Paper's support status. Request https://fill.papermc.io/v3/projects/paper/versions/<version> and read version.support.status. Checked on 18 August 2026:

Paper version Status Java minimum
26.2 SUPPORTED 25
26.1.2 SUPPORTED 25
26.1.1 UNSUPPORTED (ended 2026-04-11) 25
1.21.11 UNSUPPORTED (ended 2026-06-15) 21
1.21.8 UNSUPPORTED (ended 2025-11-14) 21
1.20.6 UNSUPPORTED 21

The same endpoint works for folia and velocity. Folia 26.2 is SUPPORTED and also needs Java 25; Velocity 4.0.0 needs Java 25 while Velocity 3.5.1 still runs on Java 21.

Mojang's Java requirement. Every entry in https://launchermeta.mojang.com/mc/game/version_manifest_v2.json links to a per-version JSON containing a javaVersion.majorVersion field. It reports 25 for 26.1 and 26.2, and 21 for 1.21.11 and 1.20.6 — matching Paper's table exactly.

26.1 and newer need Java 25, whichever jar you run

This is a property of Minecraft, not of Paper. Vanilla, Paper, Purpur, Folia, Forge, Fabric and NeoForge all inherit it. Moving a server from a 1.21.x jar to a 26.x one is therefore also a Java runtime change. Updating your Minecraft server version covers what that involves.

8. How to Choose

Work down this list and stop at the first line that matches you.

  1. You want a specific modpack. Use the loader the pack ships for — Forge, Fabric or NeoForge. Nothing else on this page applies. See How to Install a Minecraft Modpack Server.
  2. You want new blocks, mobs, dimensions or machines, but no specific pack. Check what your chosen mods publish for. NeoForge and Fabric dominate current versions; Forge dominates older packs.
  3. You want ranks, claims, an economy, anti-grief or a Discord bridge, and players who connect with an unmodified client. Use Paper. See How to install plugins for Minecraft Java Edition.
  4. You want all of that plus deep gameplay tweaking without writing code. Use Purpur. Everything from step 3 still works.
  5. You have 200+ players spread across a large world on 16+ cores, and you are prepared to audit every plugin. Evaluate Folia.
  6. You want the game exactly as Mojang built it, or you are testing a snapshot. Use Vanilla.

For the overwhelming majority of new servers the honest answer is step 3.

9. Switching Later

Some moves are free. Some are not.

From → To Difficulty Notes
Vanilla → Paper Easy Paper converts the world layout automatically; no manual work
Spigot/CraftBukkit → Paper Easy Paper is a documented drop-in replacement
Paper → Purpur Easy Drop-in; plugins and configs carry over
Paper → Vanilla Manual Paper stores per-dimension data separately. From 26.1 you must move game_rules.dat, scheduled_events.dat, wandering_trader.dat, weather.dat and world_gen_settings.dat out of world/dimensions/minecraft/overworld/data/minecraft/ into world/data/minecraft/ before starting Vanilla
Paper → Spigot/CraftBukkit Unsupported PaperMC does not support this migration and warns data loss is possible
Spigot/CraftBukkit → Paper's world layout, directly Not possible Paper's docs call a direct migration from Spigot "fundamentally impossible" as of 26.1; you must go via Vanilla first
Paper ↔ Forge/Fabric World copies, add-ons do not Both use the Vanilla directory layout, so the world moves — but every plugin needs a mod equivalent, or the reverse. Blocks and items added by mods will not load on Paper

Take a backup before any of these

Every migration above touches the world folder. Snapshot the server from the Backups tab first — see Managing your Minecraft server for the backup and restore workflow.

10. FAQ

Is Paper better than Spigot?
For practical purposes yes, and there is no compatibility cost: Paper runs Spigot plugins unchanged and is documented as a drop-in replacement for both Spigot and CraftBukkit. Spigot also has no official download, so running it means compiling it yourself.

Is Forge dead?
No. Its promotions feed lists current builds for Minecraft 26.2 and the repository is actively committed to. NeoForge has taken a large share of new mod development, but plenty of packs — especially established ones — are still Forge.

Can I run plugins and mods on the same server?
Not supportably. See section 6. Use a Velocity proxy with separate backend servers if you need both.

Does Purpur break plugins?
No. Purpur's API includes everything from Paper, Spigot and Bukkit, so anything that runs on Paper runs on Purpur. Its gameplay toggles are all opt-in and default to Paper behaviour.

Do my players need to install anything for Paper or Purpur?
No. That is the entire point of the plugin family — plugins run server-side and vanilla clients connect normally. Only the mod loaders require client installs.

What about Bedrock players?
Server software choice does not change that: Bedrock clients cannot join a Java server without a bridge. See Setting up CrossPlay for Minecraft.

Primary sources used for this guide (all checked 18 August 2026): PaperMC documentation, the Paper migration guide, Folia documentation, Velocity documentation, PurpurMC, the SpigotMC BuildTools wiki, FabricMC, NeoForged and Minecraft Forge.


Made with 💜 by GameServerKings

Need a Minecraft server?

Deploy an instantly-provisioned Minecraft server on high-clock hardware — DDoS protected, no contracts, cancel anytime.

From $4.80 /month