You want to run a Minecraft server and now you're looking at a list of options: Vanilla, CraftBukkit, Spigot, Paper, Purpur, Fabric, Forge. Here's what they actually are and when to use which.

The family tree

These aren't independent projects — they're a chain of forks:

Mojang Vanilla
  └── CraftBukkit (adds plugin API, now mostly dead)
        └── Spigot (performance patches + plugin API)
              └── Paper (more performance fixes + better API)
                    └── Purpur (extra features/config on top of Paper)

Fabric and Forge are separate branches for mods (not plugins) — completely different ecosystem.

Vanilla

The official Mojang server. No plugins, no performance patches, pure. Gets every update first.

Use it when: 2-3 friends, no plugins needed, you just want the exact Mojang experience. Or when you're running a snapshot for testing.

Don't use it when: More than a handful of players, you want plugins, or your server has limited RAM. Vanilla's chunk loading and entity handling are notoriously inefficient.

Spigot

Spigot is Vanilla with the Bukkit plugin API bolted on plus some performance patches. It's been around since 2012 and has a massive plugin ecosystem. Most Bukkit plugins work on Spigot.

The problem: Paper is strictly better. Paper started as a Spigot fork specifically to fix the bugs and performance issues Spigot refused to address. There's no scenario where you should choose Spigot over Paper today — Paper supports all Spigot plugins, adds more fixes, and performs better.

Use it when: You have a very specific legacy plugin that somehow breaks on Paper. That's it.

Paper

What you should be running. Paper fixes hundreds of performance and correctness issues in Spigot. Chunk loading is faster, entity handling is smarter, it has async operations Spigot doesn't, and it exposes better config options (paper-world-defaults.yml) that let you tune performance per-world.

It's compatible with Spigot and Bukkit plugins. Switching from Spigot to Paper is usually drop-in.

Use it for: Anything with plugins, any server with real player load, basically everything.

Download: papermc.io/downloads/paper

Purpur

A Paper fork with extra configuration options and some gameplay tweaks (rideable mobs, custom mob health, etc.). Performance is the same as Paper. Use it if you specifically want the extra config knobs. Otherwise Paper is fine.

Fabric

Completely separate from the Bukkit/Spigot/Paper family. Fabric is a lightweight mod loader — it runs Minecraft mods, not plugins. Good mod ecosystem, fast update cycle. If your server needs mods (custom items, dimensions, mechanics changes at the game level), Fabric is the modern choice over Forge.

Not compatible with Spigot/Paper plugins. Different ecosystem entirely.

Forge

The original mod loader, been around since 2011. Massive mod library, especially for older versions. Heavier than Fabric. Still the only option for some legacy modpacks.

Use it when: You're running a specific modpack that requires it. Otherwise Fabric is lighter and faster to update.

Quick decision table

You want…Use
Plugins (Bukkit/Spigot API)Paper
Best performance + pluginsPaper
Pure vanilla, no extrasVanilla
Mods (tech, magic, new dimensions)Fabric or Forge
Specific modpackWhatever the modpack says
Multi-server network (lobby + games)Paper backends + Waterfall proxy

What about hybrid servers?

Mohist, Arclight, Magma — these try to run both Forge mods and Bukkit plugins simultaneously. They exist, they work sometimes, and they break in interesting ways. Unless you specifically need both ecosystems, don't bother. Pick one or the other.

If you've landed on Paper, the setup guide is here: Minecraft Java Server on Linux — Paper, systemd, and Memory Tuning.


Related posts