Paper is a fork of Spigot and aims to have better performance and stability. It also has an expanded API, allowing plugins to become even faster. This jar is highly recommended as it fixes exploits, bugs, and more as well as it greatly improves performance and stability of any Minecraft server.
Paper works with Bukkit and Spigot plugins and is the recommended default jar.
Forge is a jar that adds a modding API for developers to tap into. It is much more expansive than Bukkit, as players also have to install mods on their end, allowing for more possibilites. It's recommended for mods and modpacks. Mostly used for older versions of the game. (pre1.12)
Fabric is a jar that makes modding easier and smoother than Forge. Fabric is considered superior to Forge due to a better API that is more documented. It's mostly used for more modern versions of the game.
Fabric, with a few performance mods added, is recommended if you want to run a modern technical MC server.
Vanilla is the jar provided by Mojang to run Minecraft servers. This is the bare minimum for servers with no plugin API for plugins to hook into or a modding API like forge. It is not optimized and only recommended for small groups of friends who want to play plain vanilla.
Bukkit is an open source but defunct jar that was used in the early days of Minecraft plugin development. In 2014, Bukkit Project lead Warren Loo announced the end of the Bukkit project. The project was then DMCA'd by a former developer causing massive amounts of code to no longer be apart of Bukkit. If you want to learn the whole situation, read Justin Flory blog post about it. CraftBukkit is a continuation that is still supported by Spigot, but is not recommended for servers as it's old and rarely recieves updates.
Spigot is a fork of Bukkit that began in 2012. After Bukkit defuncted, it became the new standard as Bukkit plugins could all run on Spigot. Spigot is not recommended anymore as Paper has far surpassed it in performance and options.
"A highly optimized Paper fork designed for large servers requiring both maximum performance, stability, and "enterprise" features."
Pufferfish is a fork of paper (and as such also includes all of the improvements paper adds) that aims to add even more performance optimizations over paper. It includes every change that airplane used to have. And adds some of its own changes too.
"Purpur is a drop-in replacement for Paper servers designed for configurability and new, fun, exciting gameplay features. "
Purpur aims to make your server more configurable, it adds a lot of fun or useful (all off by default) configuration options to your server, it adds these on top of the paper and pufferfish improvements.
Sponge is an API designed to be an overhaul of the Bukkit API, it also allows you to run Forge mods together with Sponge plugins. It doesn't run Bukkit or any of its fork plugins. Currently, Sponge is on version 1.12.2 and is recommended for if you want modpacks and plugins together as smoothly as possible.
"Minestom is a complete rewrite of Minecraft server software, open-source and without any code from Mojang."
Minestom is a very experimental developer API not meant to be used by end-users. Replacing Paper with this will not work since it does not implement the Bukkit API. It's very fast and can handle a lot of players. Only try if you like tinkering with code and are prepared to put in the work.
Deprecated Server Software
The server software mentioned in this section are no longer updated and are not recommended for use on your servers; however they are kept here for reference purposes.
"A stable, optimized, well supported 1.16.5 & 1.17 Paper fork."
Airplane is a fork of paper (and as such also includes all of the improvements paper adds) that aims to add even more performance optimizations over paper.
Airplane isn't being updated to modern versions of the game.
It is recommended that an alternative JAR such as Purpur or Pufferfish should be used.
Tuinity is a high performance fork of paper (and as such also includes all of the improvements paper adds) that brings more performance changes for servers to play around with. It can greatly increase TPS, allowing a smoother experience, especially on bigger servers. Tuinity has now been merged into Paper with all of its improvements and optimizations, and as such Tuinity as a jar is now obsolete.