Skip to content
Puranode

Guide

Paper vs Forge vs Fabric for a Minecraft Server

Paper runs server-side plugins and lets people join with an unmodified client. Forge, NeoForge and Fabric run mods, which means every player needs the same loader and the same mod list. They are not interchangeable, nothing carries over between them, and switching later costs you either your plugins or your modded blocks, so the decision is worth ten minutes now. This guide also covers the 26.x releases, which need Java 25 and a new world folder layout.

Published · updated

FAQ

Frequently asked

Can a Paper server run Forge or Fabric mods?

No. Paper implements the Bukkit plugin API and contains no mod loader. The ways to mix are hybrid server software such as Mohist, Arclight or Ketting, which PaperMC does not support; Sponge, whose own plugin API is designed to run beside Forge or NeoForge mods but which cannot run Bukkit plugins; or two separate servers behind a Velocity proxy, so each one runs supported software.

Do all my players need to install the mods?

For content mods, yes. Every player needs the same loader and the same mod list, because the server sends its block, item and entity registries at login and rejects clients that cannot match them. There are two exceptions. Server-side-only mods such as Lithium need nothing on the client, and client-only mods such as Sodium, Iris or a minimap work on any server, including Paper, with no server-side change at all.

Should I pick Fabric or NeoForge for a modpack?

Do not pick the loader, pick the pack. Whatever modpack you want to play already targets one loader and one Minecraft version, and that decides it for you. If you are assembling your own list instead, write down the five mods you genuinely cannot do without and see which loader has all five on the same game version.

Is Forge dead now that NeoForge exists?

No. Forge still publishes builds for current releases, including 26.2, and still updates its 1.20.1 line. NeoForge is maintained too, and since 2023 the two have diverged, so a mod generally needs a build for the specific loader. Pick whichever one your mods are published for on your Minecraft version, and use Forge for 1.20.1.

Will my world survive moving from Forge to Paper?

The terrain, vanilla builds and chest contents survive, and Paper rearranges the folder layout itself on first start. Anything belonging to a mod does not: modded blocks become air, modded block entities vanish and modded items in inventories are deleted on load. Back up first, then use MCA Selector to delete the chunks that contained modded content so they regenerate cleanly instead of leaving holes in the landscape.

Should I move my server to Minecraft 26.1 or later?

Only when everything you run is ready. 26.1 needs Java 25, uses a new world folder layout and cannot be downgraded once a world has been opened in it, and Fabric says no mod from 1.21.11 or earlier works on it without being recompiled. Move a plugin server once every plugin lists a 26.x build; keep a modpack on its own version until the pack moves. Always upgrade a copy first.

How much RAM do I need for 10 players and 100 mods?

4 to 6 GB of heap is the normal range, and a 4 GB plan running -Xmx3G handles many 100-mod packs. If your problem is tick rate rather than crashes, more RAM will not help at all. Lower simulation-distance, pregenerate the world and profile with spark first. If you do genuinely need more, on Puranode a RAM increase is a manual resize done the same day during business hours, not a self-serve slider.

Can Bedrock players join my Java modded server?

They can join a Paper server through Geyser with Floodgate, which translates the Bedrock protocol and lets Bedrock players in without a paid Java account. Geyser also runs on Fabric and NeoForge servers, but only alongside server-side mods: its own FAQ says it cannot translate the blocks and items most mods add, so a server that needs client-side mods cannot take Bedrock players. Java and Bedrock worlds are also different formats, and none of these server platforms converts one to the other.

Do I need to change Java version when I upgrade Minecraft?

Often, yes. 1.18 to 1.20.4 run on Java 17, 1.20.5 to 1.21.11 need Java 21, and 26.1 onwards needs Java 25. Paper's own documentation asks for Java 21 on all of its 1.20 builds. A mismatch throws UnsupportedClassVersionError naming a class file version: 61 means the code was built for Java 17, 65 means Java 21 and 69 means Java 25. Check what your host or launcher is actually invoking before you start replacing mods.

Is Spigot still worth using instead of Paper?

Rarely. Paper's documentation calls it a drop-in replacement for Spigot, and plugins written for Spigot generally run on it unchanged. Since the 1.21.4 hard fork, Paper keeps the Spigot API it inherited working but no longer pulls in new API that Spigot adds, and plugins that use Paper's own API will not run on Spigot. Choose Spigot only if a plugin you depend on genuinely needs Spigot-only API or breaks on Paper, which is worth reporting to the plugin author.

Projects referenced

This guide names other people’s work. These are their own pages, so you get the current documentation rather than our summary of it.

  • Paper — The plugin-server half of the comparison: the hard fork from Spigot at 1.21.4, asynchronous chunk loading, the bundled spark profiler, and the config/paper-global.yml and config/paper-world-defaults.yml paths the guide cites.
  • Forge — Named as the loader for 1.20.1 and as still publishing builds for current releases, and the source of the version pairs the guide quotes: 47.x for 1.20.1 and 65.x for 26.2.
  • NeoForge — Named as the 2023 fork of Forge, and the source of the 1.20.2 package change, the team's own advice to spend 1.20.1 effort on Forge, both version-numbering schemes the guide quotes, and the Java 25 requirement for 26.1.
  • Fabric — Named throughout, and the source of the Fabric Loader and Fabric API distinction, the server launcher the guide describes, and the 26.1 statement that older mods need at least recompiling.
  • Aikar's Flags — The guide tells readers to use Aikar's G1GC flags rather than pasting a 30-flag string from an old forum thread, so it should link the published set.
  • MCA Selector — The tool the migration section instructs readers to use for deleting the chunks that held modded content so they regenerate.
  • Paper migration guide — The source of the migration steps the guide gives: automatic conversion when moving to Paper, and the folder moves before 26.1, or the five data files from 26.1, when moving from Paper back to vanilla, Fabric or Forge.
  • Minecraft: Java Edition 26.1 — Mojang's changelog for the storage change the guide describes: the Overworld, Nether and End moving under dimensions/minecraft, and player data moving into a players folder.
  • Purpur — Named as the Paper-based fork that runs Bukkit, Spigot and Paper plugins and exposes far more gameplay settings.
  • Folia — Named as PaperMC's regionised-multithreading fork, with PaperMC's own description of who it suits and its warning that it breaks most public plugins.
  • Hangar — Named as PaperMC's own plugin repository, alongside Modrinth and SpigotMC.
  • Velocity — The proxy in the hub-plus-modded-backend architecture, and the documentation the guide cites on not supporting Forge-Bukkit hybrids and on what Fabric and Forge backends need.
  • Sponge — Named as the plugin platform built to run beside mods through SpongeForge and SpongeNeo, and the FAQ source for Bukkit plugins not running on it.
  • Quilt — Named as the Fabric fork whose loader runs Fabric mods, and the source of its decision to retire its own libraries and mappings from 26.1.
  • Geyser — Named with Floodgate as the way Bedrock players join a Java server, and the source of the statements that it cannot translate the blocks and items most mods add and that Floodgate's account linking needs online-mode.
  • Lithium — Named as the general-purpose optimisation mod that needs no client install and ships NeoForge builds as well as Fabric ones.
  • FerriteCore — Named as the memory-reduction mod in the standard server-side performance set, available for Fabric, Forge and NeoForge.
  • C2ME — Named for spreading chunk generation, loading and saving across CPU cores, with its authors' note that only the latest release and snapshot are fully supported.
  • spark — The profiler the guide tells readers to use before buying anything: bundled with Paper from 1.21 and available for Fabric, Forge, NeoForge, Sponge and Velocity.
  • LuckPerms — Named as the permissions plugin with builds for Bukkit, Fabric, Forge, NeoForge, Sponge, Velocity and BungeeCord.
  • Ledger — Named as the block-logging and rollback mod for Fabric servers.
  • Chunky — Named as the pregeneration tool to run before players return to a migrated world.
  • FabricProxy-Lite — Named as the mod that gives a Fabric backend Velocity's modern player-info forwarding.
  • Proxy Compatible Forge — Named as the mod that brings Velocity's modern forwarding to Forge and NeoForge backends.

Want a Minecraft server without the setup?

4 GB for €10.99/mo, VAT included. Set up on request, usually the same day.