A Fabric server is a Minecraft: Java Edition server running Fabric Loader, the lightweight mod loader, so it can load Fabric mods. To set one up, download the Fabric server launcher (a single fabric-server jar) from fabricmc.net for your Minecraft version, put it in an empty folder, run it with Java, accept the EULA, then drop Fabric API and your mods into the mods folder. The whole setup takes about ten minutes. Below is every step, plus the server-side mods worth adding, how Fabric compares to Paper, and the errors you’ll actually hit.
What a Fabric server is (and what it isn’t)
A Fabric server is the normal Minecraft server with Fabric Loader in front of it. The loader starts first, loads every mod in mods, then starts the game. It also has a big set of performance mods. It doesn’t load Forge or NeoForge mods, and it doesn’t run Bukkit, Spigot or Paper plugins.
Mods come in two kinds, and the difference decides who has to install what:
- Server-side mods run only on the server. Performance mods, permissions, admin tools and logging usually work this way. If your Fabric server only runs mods like these, players can join with a plain vanilla client.
- Mods that add content, such as new blocks, items, mobs or Cobblemon’s Pokémon, have to be on every player’s game too, in the same version, with Fabric installed on their side.
Fabric server download: which file you need
Download the Fabric server jar from the official page at fabricmc.net/use/server. Pick three things: the Minecraft version, the Fabric Loader version and the installer version. The page then gives you one executable server jar. You don’t need a separate installer. Stick to the latest stable loader and installer unless a modpack tells you otherwise.
The file name tells you exactly what you have. For Minecraft 1.21.1 with today’s stable loader (0.20.1) and installer (1.1.2), it’s:
fabric-server-mc.1.21.1-loader.0.20.1-launcher.1.1.2.jar
On a Linux box or VPS with no browser, the download page also gives you a curl command. The URL follows the same pattern, so you can change the version numbers yourself:
curl -OJ https://meta.fabricmc.net/v2/versions/loader/1.21.1/0.20.1/1.1.2/server/jar
Two download mistakes come up a lot. The Fabric Installer (fabric-installer.jar) is mainly the client installer that adds a Fabric profile to your launcher, so it’s not the file for a server. And grabbing a “fabric server download” from a random jar-mirror site gives you a file you can’t verify. Get the jar from fabricmc.net and the mods from Modrinth or CurseForge.
Fabric server requirements: Java and RAM
Every Minecraft version needs a specific Java version, and the wrong one stops the server before Fabric even loads. Check this before anything else:
| Minecraft version | Java version |
|---|---|
| 1.16.5 and older (e.g. All of Fabric 3) | Java 8 |
| 1.17.x | Java 16 |
| 1.18.2 to 1.20.4 (incl. 1.20.1) | Java 17 |
| 1.20.5 to 1.21.x (incl. 1.21.1) | Java 21 |
| 26.1 and newer | Java 25 |
For RAM, a Fabric server with only performance and admin mods needs about the same as vanilla: 2–4 GB for a small survival group. Content-heavy modpacks are a different story. Large packs realistically start at 8–10 GB, and the mod count matters more than the player count. Our Minecraft server RAM guide breaks it down further.
How to make a Fabric server, step by step
- Install the right Java from the table above. Run
java -versionto check what you have. - Make an empty folder for the server, such as
C:\fabric-serveror~/fabric-server, and put the Fabric server jar in it. - Launch it once. Open a terminal in that folder and run the launch command from the download page. The
2Gis the RAM limit, so raise it to what you can spare:java -Xmx2G -jar fabric-server-mc.1.21.1-loader.0.20.1-launcher.1.1.2.jar noguiOn the first launch, the launcher downloads the matching Minecraft server files, creates
eula.txtand stops. - Accept the EULA. Open
eula.txtand changeeula=falsetoeula=true. - Launch again. This time the server generates the world. When the console prints Done, stop it with
stop. - Add Fabric API and your mods to
mods(next section), then start it again. - Open the port so friends outside your network can join (see below).
To skip typing the command every time, save it as a start script next to the jar. On Windows, a start.bat:
java -Xms4G -Xmx4G -jar fabric-server-mc.1.21.1-loader.0.20.1-launcher.1.1.2.jar nogui
pause
On Linux, the same line in start.sh (then chmod +x start.sh). Setting -Xms equal to -Xmx gives the server its full memory from the start. More on that in JVM arguments for Minecraft servers.
Ports: what 25565 is used for
Port 25565 is the default Minecraft: Java Edition port. Fabric doesn’t change it. Players connect over TCP to your public IP on that port, so forward TCP 25565 on your router to the server’s local IP and allow it through the firewall. You can change it with server-port in server.properties. Mods that open their own connection need their own port too. Simple Voice Chat, for example, uses UDP 24454 by default. The router steps are in our port forwarding guide, and the rest of the settings file is covered in the server.properties guide.
How to add mods to a Fabric server
Put the mod .jar files in the server’s mods folder and restart. Most Fabric mods need Fabric API, so install that first. Then make sure each mod’s file matches both your Minecraft version and the Fabric loader. A Forge build of the same mod won’t load.
- Download Fabric API for your exact Minecraft version and put it in
mods. - On Modrinth or CurseForge, filter by your game version and by Fabric, and download each mod.
- Read each mod’s page for dependencies, such as a library mod it needs. Missing dependencies are the most common first-start error.
- Add mods a few at a time and restart between batches. If something breaks, you’ll know which batch did it.
- For content mods, send your players the same list, or share it as a modpack, so their Fabric install matches the server.
The best Fabric server-side mods
These mods don’t add content, so you can add them to almost any Fabric server and players don’t have to install anything. The first group is the usual Fabric server optimization stack. Run spark before and after adding them, so you can see whether they actually helped instead of guessing.
| Mod | What it does | Players need it? |
|---|---|---|
| Lithium | Optimizes game logic (physics, mob AI, block ticking) without changing behavior. Also on NeoForge now. | No |
| FerriteCore | Cuts memory use | No |
| Krypton | Optimizes the networking stack (Fabric only) | No |
| C2ME | Speeds up chunk loading and generation | No |
| ServerCore | Server-only optimizations | No |
| spark | Profiler: shows what is eating your tick time and memory | No |
| Chunky | Pre-generates the world so exploring doesn’t lag | No |
| LuckPerms | Permissions and ranks | No |
| Ledger | Logs block changes so you can see and roll back griefing | No |
| Essential Commands | /home, /tpa, /spawn and friends | No |
| WorldEdit | In-game map editing | Optional |
| Simple Voice Chat | Proximity voice chat (open UDP 24454) | Yes, to talk |
Two tips. First, pre-generate the world with Chunky (/chunky radius 3000, then /chunky start; the default centre is 0, 0) before people start exploring, because generating new chunks is one of the heaviest jobs a server does. Second, if you see “Can’t keep up!” in the console, run /spark profiler start for a few minutes during play and read the report before you buy more RAM. Our “Can’t keep up” guide walks through it.
Fabric server plugins?
Fabric can’t run Bukkit, Spigot or Paper plugins. Many popular plugins have a Fabric mod version, though. LuckPerms, WorldEdit, Chunky, spark and Simple Voice Chat all ship Fabric builds. For EssentialsX-style commands, use a Fabric mod like Essential Commands. Search Modrinth with the Fabric filter before you give up on a plugin you need.
Fabric vs Paper server: which one?
Pick a Paper server if you want plugins. Pick a Fabric server if you want mods, or if your group plays technical vanilla. Paper is built on the Bukkit plugin API and changes some vanilla behavior, so its own docs warn that technical players’ machines may not work as expected. Fabric with performance mods keeps the game closer to vanilla.
| Fabric server | Paper server | |
|---|---|---|
| Runs | Fabric mods | Bukkit, Spigot and Paper plugins |
| New blocks, items, mobs | Yes, with the mod on clients | No (plugins can’t add real new content) |
| Vanilla clients can join | Yes, if every mod is server-side | Yes |
| Vanilla mechanics (farms, redstone) | Kept, as long as your mods don’t change them | Not 100% vanilla, by Paper’s own docs |
| Performance | Through mods (Lithium, FerriteCore, C2ME …) | Built in, plus settings to tune |
| Typical use | Modded SMPs, Cobblemon, technical survival | Public servers, minigames, plugin-heavy SMPs |
Choosing between Fabric and Forge instead? That’s a different question, and it comes down to which mods you want. See Fabric vs Forge.
Fabric modpack servers: Cobblemon, All of Fabric and versions
For a modpack, the pack decides the Minecraft version, loader version and mod list. Don’t build it by hand. Use the pack’s server files if it has them, or install the same pack you play and copy its mods and config folders to the server. Then match Java to the pack’s Minecraft version.
- Cobblemon Fabric server: Cobblemon runs on Fabric and NeoForge. The current release (1.8.4) is for Minecraft 1.21.1 and needs Fabric API, so that’s Java 21. It adds content, so every player needs the same Cobblemon version installed with Fabric.
- All of Fabric 3 server: this pack is on Minecraft 1.16.5 and ships a separate server pack (All of Fabric 3 Server) on its CurseForge files page. 1.16.5 means Java 8, which is the usual reason it won’t start on a modern Java install. Newer packs in the series have their own guides: All of Fabric 6 and All of Fabric 7.
- Fabric server 1.20.1 or 1.21.1: both are popular because so many mods target them. Pick 1.20.1 (Java 17) or 1.21.1 (Java 21) in the download page’s version box, and only use mod files built for that version.
Want Forge or NeoForge packs instead, or a full walkthrough of modpack server files? That’s covered in how to make a modded Minecraft server.
Updating a Fabric server
- Back up the world folder (and
modsandconfig). - Check that every mod you rely on has a build for the new Minecraft version. Smaller mods can take weeks or never update, so check before you move.
- Download a new Fabric server jar for the new version, swap it in and update your start script.
- Replace each mod with its new version, start the server and read the log.
Updating only the loader on the same Minecraft version is usually safe. Updating Minecraft itself is where worlds break, so never skip the backup.
Troubleshooting a Fabric server
| Symptom | Likely cause and fix |
|---|---|
UnsupportedClassVersionError on start |
Java is too old for this Minecraft version. Install the version from the Java table. |
Crash naming a missing mod, often fabric-api |
A dependency is missing. Add Fabric API or the library the error names. |
| A mod is silently ignored, or errors mention Forge | It’s a Forge or NeoForge build. Download the Fabric file instead. |
| Players get kicked for mismatched mods | Client and server mod lists or versions differ. Share the exact list. |
| Friends can’t connect from outside | TCP 25565 isn’t forwarded or is blocked by the firewall. |
| Bedrock players can’t join through Geyser | Geyser-Fabric only runs on the latest Minecraft version and only alongside server-side mods. |
| “Can’t keep up!” lag | Profile with spark, pre-generate with Chunky, lower view-distance. |
FAQ
How do I install Fabric on my server?
Download the Fabric server launcher jar for your Minecraft version from fabricmc.net/use/server, put it in the server folder and start the server with that jar instead of the vanilla server.jar. On a hosted server, pick Fabric in the version or software menu.
Can I add Fabric to an existing server without resetting the world?
Yes. Fabric loads normal vanilla worlds. Back up first, keep the same Minecraft version, point the server at the Fabric jar and start it. Mods that add world generation only affect chunks that haven’t been generated yet.
Can vanilla players join a Fabric server?
Yes, as long as every mod on the server is server-side, such as Lithium, FerriteCore, LuckPerms or Chunky. Once you add a content mod, players need Fabric and that mod too.
Is a Fabric server free?
Fabric Loader, Fabric API and the Minecraft server software cost nothing. Your costs are the PC that stays on (and its power), or a hosting plan.
How much does a Minecraft server cost?
Running it at home costs only hardware and electricity. Hosts mostly charge by RAM or by player slots. On GameTeam you pay per GB of RAM, from $0.49/GB a week or $1.99/GB billed monthly, with unlimited slots, so a 4 GB Fabric server is $1.96 a week.
Can I run Fabric mods and Paper plugins together?
Not on the standard software. Fabric runs mods and Paper runs plugins. Use the Fabric version of the plugin, which exists for most of the popular ones.
Skip the setup: rent a Fabric server
Java versions, launcher jars, EULA files and port forwarding are the parts nobody enjoys. On GameTeam’s modded Minecraft server hosting, the Smart Version Installer switches a server to Fabric on the Minecraft version you pick. It handles the libraries, the EULA, the matching Java image and the jar swap, and your world stays where it is. Then you talk to the AI copilot. Type “Install Fabric API, Lithium, FerriteCore and Chunky, then pre-generate a 3000-block radius” and it searches Modrinth and CurseForge, picks the builds that match your version and loader, and drops them into /mods. If a mod crashes the server, it reads latest.log and the crash report and names the mod that caused it.
You pay per GB of RAM with unlimited slots, from $0.49/GB a week. Not sure between Fabric, Forge and plain Minecraft hosting? Read what to look for in modded hosting, or start a modded Minecraft server hosting plan and switch loaders later. The version changer keeps your files.
