---
title: "Minecraft Fabric Mods on a Server: Fabric Loader, Fabric API and Server-Side Mods"
description: "Set up a Fabric server for Minecraft Fabric mods: Fabric API, server-side mods vanilla players can join with, client setup and load errors."
url: "https://www.gameserverkings.com/knowledge-base/minecraft/fabric-server-setup/"
category: "Minecraft"
category_url: "https://www.gameserverkings.com/knowledge-base/minecraft/"
published: "2026-09-28T03:14:09.224Z"
updated: "2026-09-28T04:56:54.127Z"
source_format: "markdown"
site: "GameServerKings"
---

# Minecraft Fabric Mods on a Server: Fabric Loader, Fabric API and Server-Side Mods

Minecraft Fabric mods need three things on a server: the Fabric loader, the Fabric API library mod, and mods built for your exact Minecraft version. Fabric is also the only common route that lets you add server-side mods, such as performance, chunk pre-generation and permissions, while your players keep joining with an ordinary unmodded client. This page covers both setups on a GameServerKings server: a Fabric server your players join with vanilla Minecraft, and a fully modded one where everyone installs Fabric too.

For the general mod-install mechanics (dependencies, the client/server split, and what breaks when versions drift), see [How to install mods for Minecraft Java Edition](/knowledge-base/minecraft/java-mods/). This page is the Fabric-specific part.

> [!NOTE] The short version
> Set **Framework** to `FABRIC` on the **Startup** tab and reinstall from **Settings**. Upload **Fabric API** plus your mods, built for the same Minecraft version, into `mods/`, then restart. If every mod is server-side only, players need nothing extra. If any mod adds content, every player needs Fabric and the same mods.

## What a Fabric Server Is Made Of

| Piece | What it is | Where it comes from on your server |
|---|---|---|
| **Server launcher** | A small jar that starts Minecraft with Fabric loaded | Installed as `server.jar` by the egg |
| **Vanilla server jar** | Mojang's own server, which Fabric wraps | Downloaded by the launcher on first start into `.fabric/server/` |
| **Fabric Loader** | Loads mods into the game | Baked into the launcher at install: newest stable release (**0.19.5** on 28 September 2026) |
| **Fabric API** | A library mod most Fabric mods depend on | You add it to `mods/` |
| **Your mods** | `.jar` files for Fabric and your Minecraft version | You add them to `mods/` |

The launcher behaviour comes straight from Fabric's installer source: on start it looks for `<version>-server.jar` under `.fabric/server/`, and downloads Mojang's server if it's missing. The first boot after installing takes longer than later ones, and `.fabric/` is part of the install, not clutter to delete.

## Setting Up Fabric on Your Server

Your [Minecraft server](/games/minecraft/) runs one egg for every Java framework. Switching to Fabric works like this:

1. **Take a backup** from the **Backups** tab if the server already has a world. See [How to create a backup](/knowledge-base/general/how-to-create-a-backup/).
2. On the **Startup** tab, set **Framework** to `FABRIC`.
3. Set **Minecraft Version**. With `latest`, the installer asks Fabric's metadata service for its newest stable game version, which is **26.3** as of 28 September 2026. Pin a number such as `26.2` if your mods aren't on 26.3 yet.
4. **Reinstall from Settings.** Changing the variable alone doesn't install anything. The egg's description says worlds, `server.properties`, `plugins/` and `mods/` are kept across a framework switch.
5. **Start the server** and watch the console. Minecraft 26.1 and newer need **Java 25**, and the installer prints the Java version your chosen Minecraft version expects. If the server exits with a JVM or class-version error, the server's Java image needs to match. Choose it on the **Startup** tab if the selector is available to you, or ask support.

There's no separate loader-version field. The installer always takes the newest stable Fabric Loader, and a reinstall is how you update it. That rarely matters, because Fabric's own install guide says *"the latest one will work in any Minecraft version"*.

> [!WARNING] Coming from Paper or Purpur
> A world created under Paper or Purpur registers a `paper` data pack. If the first Fabric start fails with `Missing data pack paper`, put `--safeMode` in **Extra Flags**, start once, stop, then clear **Extra Flags**. Also empty `plugins/`: Fabric can't load Bukkit plugins, and nothing there will run. [Minecraft Server Software Compared](/knowledge-base/minecraft/choosing-server-software/) explains why.

## Fabric API: Install It First

Fabric keeps its loader deliberately small, and nearly everything is built on a separate library. Fabric's documentation: *"The majority of mods require Fabric API as well, which can be downloaded from Modrinth or CurseForge."*

Download the Fabric API release for **your exact Minecraft version**. For 26.3 the current release is `0.161.0+26.3`, published 18 September 2026. Upload it to `mods/` next to your other mods. On Modrinth, Fabric API is marked optional on both client and server, so it doesn't force players to install anything by itself. It's only there to satisfy mods that need it.

## Route 1: Fabric Server, Vanilla Players

This is the setup many Fabric server owners actually want: a faster, better-managed server that anyone can join from the normal Minecraft launcher. It works as long as **every mod on the server is marked as not requiring a client install**.

Modrinth shows this on every project page, and its API exposes it as `client_side` and `server_side`. Some well-known server-side Fabric mods, with their 26.3 status checked on 28 September 2026:

| Mod | Client side | Server side | Fabric build for 26.3 | What it does |
|---|---|---|---|---|
| **Lithium** | optional | optional | `mc26.3-0.26.1-fabric` | Game-logic optimisation |
| **FerriteCore** | optional | optional | `9.0.0-fabric` | Memory use reduction |
| **spark** | optional | optional | `1.10.187-fabric` | Profiler for finding lag |
| **Chunky** | optional | optional | `1.5.3` | World pre-generation |
| **C2ME** | optional | required | `0.4.2-alpha.0.88+26.3` (alpha) | Parallel chunk loading |
| **LuckPerms** | unsupported | required | `v5.5.85-fabric` | Permissions |
| **Styled Chat** | unsupported | required | `2.14.0+26.3` | Chat formatting |

"Optional" on the client side means players *may* install the mod but don't have to. "Unsupported" means it's server-only. Upload the jars, restart, and your players connect with vanilla Minecraft exactly as before.

Two mods you may see recommended didn't have a 26.3 Fabric build on that date: **Krypton** and **No Chat Reports**. If you rely on either, pin **Minecraft Version** to a version they support.

For the tools in that table, [Diagnosing Minecraft Server Lag](/knowledge-base/minecraft/diagnosing-lag-and-low-tps/) covers spark, [World Management](/knowledge-base/minecraft/world-management/) covers pre-generation, and [How to Set Up LuckPerms Permissions](/knowledge-base/minecraft/luckperms-permissions/) covers LuckPerms.

## Route 2: A Fully Modded Fabric Server

Anything that adds blocks, items, mobs or dimensions has to exist on both sides. Every player then needs:

1. **Fabric installed in their launcher.** Fabric's guide: download the installer from `fabricmc.net/use/`, **close the Minecraft Launcher first**, choose the **Client** tab, select the same Minecraft version as the server, and click **Install**. That creates a Fabric profile in the launcher.
2. **The same content mods and Fabric API** in their local mods folder: `%appdata%\.minecraft\mods` on Windows, `~/Library/Application Support/minecraft/mods` on macOS, `~/.minecraft/mods` on Linux.
3. **The Fabric profile selected** when they press **Play**.

Server-side-only mods from Route 1 stay on the server. Client-only mods (Sodium is the best-known, marked *client required, server unsupported*) stay on each player's PC. Putting Sodium on the server does nothing useful.

Past a handful of content mods, stop sending your players a list and publish a modpack instead. [How to Install a Minecraft Modpack Server](/knowledge-base/minecraft/installing-modpacks/) covers Modrinth `.mrpack` files and matching the server to the pack.

## Adding and Updating Mods

- **Upload to `mods/`** with the **Files** tab, or over SFTP for many files at once ([How to upload files via SFTP](/knowledge-base/general/how-to-upload-files-via-sftp/)). One jar per mod, not unzipped, no subfolders.
- **Restart after every change.** Fabric reads `mods/` only at startup.
- **Match all three**: Minecraft version, Fabric (the mod must be a Fabric build, not NeoForge or Quilt-only), and every required dependency.
- **Updating Minecraft means updating every mod.** A single mod with no build for the new version is enough to keep the server on the old one. [Updating Your Minecraft Server](/knowledge-base/minecraft/updating-your-server-version/) covers the version side.

## When a Fabric Server Won't Start

| What the console says | Cause | Fix |
|---|---|---|
| `Incompatible mods found!`, then a line naming Fabric API that ends `which is missing!` | Fabric API isn't in `mods/` | Install the Fabric API release for your exact Minecraft version |
| `… requires … of <mod>, but only the wrong version is present` | A dependency is there, but outside the version range the mod accepts | Install the version range the message names |
| A `… requires …` line naming Minecraft itself | The mod was built for a different Minecraft version | Get the mod's build for your version, or pin **Minecraft Version** to one it supports |
| `Missing data pack paper` | World came from Paper/Purpur | `--safeMode` in **Extra Flags** for one start, then clear it |
| `UnsupportedClassVersionError` or `Unrecognized VM option` | Java image doesn't match the Minecraft version | Java 25 for 26.1 and newer |
| A mod "does nothing" | It's a client-only mod | Remove it from the server; players install it themselves |
| Players get kicked with a mod or registry mismatch | They're missing a content mod, or have a different version | Share the exact list, or a modpack |

[Reading Minecraft Server Logs and Crash Reports](/knowledge-base/minecraft/reading-crash-logs-and-common-errors/) shows how to find the line that matters in a long Fabric crash report.

## Common Questions

### Do players need Fabric to join a Fabric server?

Only if the server runs a mod that needs a client install. With server-side-only mods, vanilla clients connect normally.

### Can I choose the Fabric Loader version?

Not on this server type. The installer always takes the newest stable loader. Reinstall to pick up a newer one.

### Can I run Paper plugins on Fabric?

No. Fabric doesn't implement the Bukkit API. Look for a Fabric mod that does the same job; LuckPerms and Chunky, for example, publish Fabric builds.

### Which Minecraft versions does Fabric support?

Fabric's FAQ: *"releases 1.14 and above."* Individual mods usually support far fewer.

### Where do I find Fabric mods?

Fabric's docs point to Modrinth and CurseForge, where most authors publish. Filter by **Fabric** and your Minecraft version.

## What to Read Next

- [How to install mods for Minecraft Java Edition](/knowledge-base/minecraft/java-mods/) — dependencies and the client/server split, for all loaders
- [Minecraft Server Software Compared](/knowledge-base/minecraft/choosing-server-software/) — Fabric against Paper, Forge and NeoForge
- [How to Install a Minecraft Modpack Server](/knowledge-base/minecraft/installing-modpacks/) — when your mod list has outgrown a list
- [How to Make a Cobblemon Server](/knowledge-base/minecraft/cobblemon-server/) — Cobblemon on Fabric, and what COBBLEVERSE players change
- [Minecraft Server RAM and JVM Flags](/knowledge-base/minecraft/allocating-ram-and-jvm-flags/) — how much memory a modded server needs

---

Made with 💜 by GameServerKings
