Vanilla, Paper, Spigot, Fabric or Forge: which server should you run?

Plugins and mods are not the same thing, and picking the wrong side of that line means starting over. What each option actually is, what it can run, and which one fits what you are building.

9 минут чтения

There is one decision that decides everything else about your server, and most people make it by accident. It is not the host, the RAM or the version. It is whether you are running plugins or mods, because those two words describe completely different things and almost nothing crosses between them.

Get it wrong and you do not lose a setting. You start over.

The one line that splits the whole ecosystem

A plugin runs on the server only. Players join with an unmodified game and never install anything. A mod changes the game itself, and every player has to install the same mods you did.

That single sentence decides your entire stack:

  • If you want people to click your address in the server list and play, you want plugins. That means the Bukkit family: CraftBukkit, Spigot, Paper, Purpur, Folia.
  • If you want new blocks, new mobs, new dimensions, machines or magic, meaning anything the vanilla game does not contain, you want mods. That means Fabric, Forge or NeoForge, and everyone joining needs the same modpack.

A Bukkit plugin will not run on Fabric. A Fabric mod will not run on Paper. There are bridge projects, and they are extra moving parts rather than a free lunch.

Decide this first. Everything below is downstream of it.

Vanilla

Mojang's own server jar. No plugins, no mods, no permissions system, no world edit, no economy.

That is not a criticism. Vanilla is the reference: it is what every other option is measured against, and it is the only one available on release day.

You start it, quite literally, like this:

java -Xms4096M -Xmx4096M -jar server.jar --nogui

But here is the thing most guides skip, and it is the single most useful sentence in this article:

Even for four friends on a weak machine, Paper is usually the better choice than vanilla. Same game, same world files, same experience for the players, and noticeably lighter on the hardware. You do not have to install a single plugin to benefit.

PaperMC's own claim is that Paper "contains numerous improvements and optimizations resulting in a significant increase in performance", specifically calling out asynchronous chunk loading and rewrites of the light engine, hoppers and entity handling. Chunk loading and the light engine are exactly what a modest machine struggles with when someone sprints off into unexplored terrain, so this is not an abstract benchmark win. It is the lag spike you actually notice.

Your world is a normal Minecraft world. You can move it to Paper and back again. Nobody joining needs to do anything differently.

The honest caveat, and PaperMC state it themselves: "the gameplay experience between Vanilla and Paper can have inconsistencies", and "it currently is not possible to get a 100% Vanilla experience in Paper". If your server is built on a precise redstone contraption or a mob farm tuned to vanilla spawning, that matters, and PaperMC publish a page of settings to get as close to vanilla as they can. For most groups it never comes up.

So the case for staying on vanilla is narrow but real: you want guaranteed vanilla mechanics, or you want to play on the day a version drops, before Paper has built for it.

Either way, vanilla gives you no tools. There is no /home, no land claiming, no anti-grief. The moment you want any of that, you want plugins anyway.

The plugin family

These are all descendants of one project, and they all run the same plugins.

CraftBukkit

The original. It is the layer that made server-side plugins possible in the first place. Nobody deploys it new today; it survives as the ancestor everything else inherited from, and as the reason the plugin API is called "Bukkit".

Spigot

CraftBukkit plus performance patches and configuration. For years it was the default answer, and a huge amount of documentation still assumes it.

Its distinguishing feature today is awkward: you cannot download a Spigot jar. You download BuildTools and it compiles one on your machine. That is a licensing consequence, not a design choice, and it is the reason a lot of hosts and guides quietly moved on.

Paper

A fork of Spigot, and in practice the default for a modern plugin server. PaperMC states it plainly:

Paper is a drop in replacement for both CraftBukkit and Spigot, you don't need to make any changes.

So your Spigot plugins keep working, and you get a large set of performance patches and a much deeper configuration surface on top. Paper also publishes a real download: you fetch a jar, you run it.

If you are asking this question and you want plugins, the answer is almost certainly Paper. It is not close.

Purpur

A fork of Paper. PurpurMC describe it as "minecraft server software based on Paper" that "focuses on providing as much configurability as possible."

Read that as Paper, plus several hundred more toggles, plus gameplay features vanilla does not have: rideable mobs, configurable damage, that kind of thing. Paper plugins run on it unchanged.

Take Purpur when you have already outgrown Paper's config and know which knob you are looking for. Taking it first means inheriting a very large settings file you have no reason to touch yet.

Folia

The one people pick for the wrong reasons, so be careful here.

Folia is "a fork of Paper which adds regionised multithreading to the dedicated server." It splits the world into regions that tick in parallel. That sounds like free performance and it is not, because of this, from Folia's own README:

I expect every single plugin that exists to require some level of modification to function in Folia.

Plugins have to explicitly declare folia-supported: true in their plugin.yml, and declaring it is not enough on its own, because the plugin genuinely has to be written for it. Most are not.

Folia's own guidance on who benefits:

Server types that naturally spread players out, like skyblock or SMP, will benefit the most from Folia. The server should have a sizeable player count, too.

Thirty players in one town square is the case Folia does not help. If that is you, you want Paper.

The mod family

Different world. Players install these too.

Fabric

Light, fast, and usually first to a new Minecraft version. Mods go in a mods folder, and most of them additionally need Fabric API, which is itself a mod you drop in the same folder.

A Fabric server does not run the vanilla jar directly. The installer produces fabric-server-launch.jar, which expects the vanilla server.jar next to it.

Forge

The old guard, and still where an enormous amount of large, long-running modpacks live. If you are running a pack from CurseForge with machines and quests in it, there is a good chance it is Forge.

NeoForge

The framework most current mod development targets. If you are starting a modded server on a recent version, check which of Forge and NeoForge your pack was built for. They are not interchangeable, and the pack decides, not you.

For a modded server, the modpack picks the loader and the version, not you. Choose the pack first, then install exactly the loader and Minecraft version it names. Mixing versions is the single most common reason a modded server will not boot.

So what should you run?

What you wantRun
A few friends, a small or old machine, best performancePaper
Guaranteed vanilla mechanics, or day-one on a brand new versionVanilla
Anyone can join, you want permissions, claims, economyPaper
Paper, but you want to tune everythingPurpur
Big, genuinely spread out player base, and you will vet every pluginFolia
New blocks, mobs, machines, dimensionsFabric, Forge or NeoForge, whichever your pack names

Then pick the Java version

This one is not a preference, it is a requirement, and it changes with the Minecraft version. Some of the boundaries:

MinecraftJava
1.12 to 1.16.58
1.1716
1.18 to 1.20.417
1.20.5 to 1.21.1121
26.1 and later25

Rather than trust a table that ages, the server download tool reads the required Java version out of Mojang's own manifest for whichever version you pick, so it is right by construction.

Paper follows the same requirement as the Minecraft version it is built for.

What to do next

  1. Answer the plugins-or-mods question. Everything else follows from it.
  2. Get the jar. The download page covers Vanilla, Paper, Purpur, Folia, Fabric, Forge and NeoForge, every version each of them publishes, straight from their own servers.
  3. Generate the launch script with the start script generator, for Windows, Linux or systemd, with the memory and flags already set.
  4. Run it once. It will stop and write eula.txt. Change eula=false to eula=true and run it again.

On flags: PaperMC's current advice is to try no JVM flags at all first. Modern JVMs handle this workload well on their defaults, and Aikar's flags are the thing you reach for when the server is actually stuttering, not the thing you start with.


Sources: PaperMC documentation, Folia README, PurpurMC, Fabric documentation, Minecraft Wiki server tutorial.

Инструменты, которые используются в этом гайде