Fabric vs Plugins: What Is the Difference?
Plugins and mods are not the same thing, even though both extend Minecraft. Plugins run on top of a server-side API layer like Bukkit or Spigot. They can only modify server behavior and cannot touch the core game engine, client rendering, or world generation at a fundamental level. That is why plugins do not require any client-side install for players to join.
Mods, on the other hand, are loaded by a mod loader that runs below the game itself and can rewrite core game classes directly. Fabric is a lightweight, fast-updating mod loader known for staying current with Minecraft releases quickly and for its modular design. Mods built for Fabric can change physics, add entirely new biomes, overhaul world generation, or make engine-level performance improvements that plugins simply cannot reach. The trade-off is that client-side mods require every player to have the matching mod installed, unless the mod is specifically designed to be server-side only.
Setting Up a Fabric Server with the Fabric Installer
The starting point for a Fabric server is the Fabric installer, available at fabricmc.net/use/installer. Download the installer JAR. Unlike Paper, Fabric does not ship a pre-built server JAR directly. Instead, you run the installer once to generate the actual server launcher.
Run the installer with: java -jar fabric-installer-1.0.1.jar server -mcversion 1.21.4 -downloadMinecraft. Replace the version numbers with whatever you need. The -downloadMinecraft flag tells the installer to fetch the vanilla server JAR automatically. After the installer finishes, you will have a fabric-server-launch.jar in the same directory. This is the file you use to start the server from now on.
If you are using a hosting panel, upload fabric-server-launch.jar and set it as the startup JAR. You also need to upload the vanilla server.jar that the installer downloaded, because Fabric launches it internally. Accept the EULA in eula.txt and start the server. A mods/ folder will be created automatically on first run.
Installing Fabric API
Fabric API is not optional. It is the core library that almost every Fabric mod depends on. Without it, most mods will crash on startup with a missing dependency error. Think of it the same way you think of a Java Runtime: the mod is the application, Fabric API is the runtime it expects to find.
Download Fabric API from modrinth.com or curseforge.com. Search for "Fabric API" and filter by your Minecraft version. Download the latest stable release for your version. The file will be a JAR named something like fabric-api-0.100.0+1.21.4.jar. Place this JAR directly into the mods/ folder alongside any other mods you want to install. Fabric API is itself just another mod file; there is no separate install step.
Adding Mods to the Mods Folder
Once Fabric API is in place, adding more mods follows the same pattern every time. Download the mod JAR for your exact Minecraft version from Modrinth or CurseForge. Confirm the mod supports Fabric and not just Forge or NeoForge. Place the JAR file into the mods/ folder. Restart the server.
There is no command to enable mods or any config to edit for the mod to activate. Fabric loads every JAR present in the mods/ folder on startup. If a mod fails to load, it will print an error to the console explaining why, usually a missing dependency or wrong Minecraft version.
Keep your mods organized. If you ever need to disable a mod without deleting it, rename the file extension from .jar to .jar.disabled. Fabric ignores files that do not end in .jar, so this is a safe way to toggle mods without losing them.
Essential Server-Side Fabric Mods: Lithium, Starlight, and Carpet
A handful of mods should be on every Fabric server because they improve performance or administration without requiring players to install anything client-side.
Lithium by CaffeineMC is the most important server-side Fabric mod available. It rewrites large portions of the game's internal logic including mob AI, physics, chunk generation, and game rules using more efficient algorithms. On a busy survival server, Lithium consistently delivers 20 to 40 percent better TPS under load compared to an identical server without it. Players do not need to install Lithium; it is entirely server-side.
Starlight is a complete rewrite of Minecraft's light engine. The vanilla light engine is a known performance bottleneck during chunk generation and when blocks are placed or destroyed in large quantities. Starlight replaces the light propagation algorithm entirely, dramatically reducing the time the server spends recalculating lighting. Like Lithium, it requires no client-side install.
Carpet is a technical Minecraft mod that gives server operators fine-grained control over game rules and mechanics. It adds an in-game command system for toggling specific vanilla behaviors, measuring performance counters, and automating testing. It is particularly popular on technical servers and anarchy servers where precise control over game mechanics matters. Carpet also includes its own performance optimizations for specific edge cases that Lithium does not cover.
Mod Compatibility Tips and Common Issues
Mod compatibility is the most common source of problems on Fabric servers. Because mods can modify core game classes directly, two mods that both patch the same class can conflict at the bytecode level. The error you will see is usually a MixinApplyError or a crash log mentioning a specific mixin target class.
When a crash happens, read the first few lines of the crash report carefully. Fabric prints which mod caused the crash and which mixin failed to apply. With that information, you can search the mod's issue tracker on GitHub or Modrinth to see if a known conflict exists with another mod in your list.
Version matching is critical. Never mix mods built for different Minecraft versions. A mod built for 1.21.3 will almost always crash on a 1.21.4 server even if the changes between those versions seem minor. Always filter by your exact game version when downloading.
If a mod requires a specific version of Fabric Loader itself (separate from Fabric API), you may need to regenerate your server launcher using the Fabric installer again with the newer loader version. The loader version and the Minecraft version are independent, so updating the loader does not force a Minecraft version change.
For larger mod packs, use a staging process: add mods in small batches and test the server after each batch. If you add ten mods at once and the server crashes, you have to bisect to find the problem. Adding two or three mods at a time and verifying startup each time costs a few extra minutes upfront and saves hours of debugging later.
Get a Free Fabric Server
NetSkyway hosts free Minecraft servers on real server hardware. Full mod access, NVMe storage, DDR5 RAM. Request your server on Discord and start modding today.