Introduction
A modded Minecraft server changes everything: new dimensions, technology, magic, brand-new creatures. But before you can play, you need the right foundations. Forge and Fabric are the two modloaders that make this possible, and choosing between them isn't a small decision: it determines which mods you can install, how fast your server runs, and how much time you'll spend debugging crashes. This guide covers everything: the differences between Forge, Fabric and NeoForge, server-side installation from the serv-minecraft panel (including expert mode), client-side installation, and the most common mistakes.
Forge, Fabric, NeoForge: what's the difference?
A modloader is the software that sits between Minecraft and mods, allowing them to load and modify the game. Without it, a mod's .jar file is useless. Three modloaders dominate the ecosystem today.
Forge
Forge is the oldest of the three and still, by far, has the largest library of available mods. If you're looking for a specific modpack on CurseForge, chances are it runs on Forge. Its historic drawback: a longer startup time and slightly higher RAM usage than its competitors, especially on a heavily loaded pack.
Fabric
Fabric is more recent, lighter, and designed to be minimal: the core of the modloader does almost nothing on its own, and each feature goes through additional libraries such as Fabric API (nearly mandatory, to install alongside your mods). Its advantage is that it tends to support new Minecraft versions faster than Forge, which often makes it the first option available right after a major update. Its mod library is smaller but covers optimization very well (Sodium, Lithium, Starlight) and modern "technical" modpacks.
NeoForge
NeoForge is a fork of Forge created to offer a more modern codebase, more open to contributions. From a player's practical standpoint, it behaves like Forge: same kind of mods, same installation logic, and a good number of recent large modpacks have switched to it. If a modpack specifies "NeoForge" in its requirements, don't try to run it with classic Forge: the two are not interchangeable, even though they share a common origin.
Compatibility: the rule you must never break
The three modloaders are incompatible with each other. A mod written for Fabric will never work on a Forge server, and vice versa. This is the number one source of confusion for beginners who download a mod "at random" without checking its target modloader. Before any download, systematically check three things on the mod's page: the modloader (Forge / Fabric / NeoForge), the Minecraft version, and any dependencies (Fabric API, a shared library like Architectury, etc.).
| Criteria | Forge | Fabric | NeoForge |
|---|---|---|---|
| Age | The oldest | More recent | Recent fork of Forge |
| Mod library | The largest | Smaller, strong on optimization | Growing, recent large modpacks |
| Support for new versions | Slower | Often the first available | Varies by maintainer |
| Common dependency | None required | Fabric API almost mandatory | None required |
Installing Forge, Fabric or NeoForge on your serv-minecraft server
From the serv-minecraft panel, installing a modloader requires no command line and no manual editing of a configuration file, for the versions listed in the panel.
Step 1: open the Version tab
Log in to your panel, open your server, then go to the Version tab. You'll find two dropdown menus: "Edition" and "Version".
Step 2: choose the edition and the version
- In "Edition", select Forge, Fabric or NeoForge depending on the modpack or mods you want to install.
- In "Version", choose the matching Minecraft version (for example 1.20.1 or 1.21).
- Do not check the "Format the server" box if you already have a world or mods in place: it deletes all existing files, no exceptions.
- Click "Install version". The server downloads and installs the modloader, then restarts automatically.
If you're starting from a brand-new server, that checkbox changes nothing since there's nothing to lose. If you're migrating an existing Vanilla or Paper server to a modded one, make a backup before touching anything (Backups tab).
Expert mode: for cases the dropdown doesn't cover
Some modpacks ship their own installer script or a custom server .jar that doesn't match any version listed in the dropdown. In that case, use Expert Mode (Advanced tab in the panel, "Expert Mode" button): it opens the full Pterodactyl-style console in a new tab, with direct access to the file manager, the startup variable, and the choice of .jar file executed on launch.
From this advanced console, you can:
- Upload the modded server .jar provided by the modpack (often named
forge-installer.jar,fabric-server-launch.jar, or a name specific to the pack); - Edit the "Startup file" variable so it points to that .jar instead of the default one;
- Adjust the startup command line if the modpack requires specific JVM arguments.
This is a task for technically comfortable users: a misconfiguration will prevent the server from starting. If in doubt, go back to the standard dropdown, which covers the vast majority of cases.
Adding your mods: the mods folder
Once the modloader is installed, head to the panel's Files tab.
- Navigate to the
/modsfolder at the server root (it's created automatically after the first startup with Forge, Fabric or NeoForge). - Click "Upload" to open the upload window, or drag and drop your mod .jar files directly.
- If you're using Fabric, don't forget to add Fabric API to the same folder: it's the most frequently forgotten dependency.
- Restart the server from the console to load the new mods.
/mods
โโ fabric-api-x.x.x.jar
โโ sodium-x.x.x.jar
โโ your-mod.jar
For a full modpack (often dozens of mods), it's faster to select all the .jar files at once in the upload window rather than sending them one by one.
Client side: installing the same modloader
A modded server is useless if players can't connect to it with the same setup. Each player must:
- Download the installer for the matching modloader (Forge, Fabric or NeoForge) from its official site, choosing exactly the same Minecraft version as the server.
- Run the installer in "client" mode (not "server"), which creates a new profile in the official Minecraft launcher.
- Copy into their own local
modsfolder the same mods installed on the server, at the exact same version. - Launch Minecraft with the newly created Forge/Fabric/NeoForge profile, then connect to the server.
One often-overlooked detail: some mods are "server-side only" or "client-side only". To spot them quickly, a mod's page on CurseForge or Modrinth usually shows a "Client", "Server" or "Client and server" badge.
Common mistakes (and how to avoid them)
Client-only mods installed on the server, or the reverse
Some purely visual or UI mods (shaders, texture mods, custom HUDs) have no business on a server: they can prevent startup or cause loading errors. Conversely, a mod that changes world generation must be present on both sides, or players will get desynced or won't be able to connect at all.
Different versions between client and server
A mod at version 1.2.0 on the server and 1.3.0 on the client might look "close enough", but Forge and Fabric generally refuse the connection if the versions don't match exactly, with an error message listing the mods at fault. The fix is always the same: sync the .jar files, no approximate rounding.
Mixing Forge and Fabric
A Forge mod never loads on a Fabric server, and vice versa. If a mod refuses to load with no clear message, the first thing to check is its target modloader.
Wrong Java version
Since recent Minecraft versions (1.20.5 and later, including the entire 1.21 branch), the server requires Java 21. A server that refuses to start after a version update with no clear error from the modloader often has this issue at its root. On serv-minecraft, the Java version is managed automatically by the panel based on the edition and version you choose: you normally don't have to configure anything yourself, but it's the first thing to check if an old modpack refuses to run on a too-recent Minecraft version.
Too many mods, not enough RAM
A large modpack (100+ mods) can easily overwhelm a plan meant for a Vanilla server. If chunk loading times get longer or the server crashes on startup with a memory error, it's often a sign you need to upgrade your allocated RAM rather than hunt for a bug in the mods.
Going further
If you're starting from scratch, our dedicated modded Minecraft server page details the plan suited to Forge and Fabric modpacks, with the RAM needed depending on the pack's size. And if you want a full walkthrough from creating the server to installing an entire modpack, check out our article creating a modded Minecraft server in 2026.
FAQ
Can I install Forge mods on a Fabric server?
No. Forge, Fabric and NeoForge are three separate, incompatible ecosystems. A mod built for one will not load on the others, regardless of the Minecraft version.
Can I switch modloaders without losing my world?
Switching modloaders (for example from Forge to Fabric) means replacing all of your mods: your actual Minecraft world isn't deleted if you don't check "Format the server", but the old modloader's mods will stop working, and some blocks or structures added by those mods may become invisible or cause errors. Back up before any change of this kind.
How many mods can I install without slowing down my server?
There's no fixed limit: it depends on the weight of each mod, the RAM allocated to your plan, and the number of players connected at once. A pack of 50 to 100 well-optimized mods generally runs fine on a plan built for modded servers; beyond that, keep an eye on load times and TPS from the console.
How do I know which Java version to use?
On serv-minecraft, there's nothing to configure: the panel automatically matches the correct Java version to the edition and Minecraft version you select in the Version tab.
Is Expert Mode required to install a modpack?
No, in most cases the standard dropdown in the Version tab is enough. Expert Mode is only needed for modpacks that ship a custom server .jar not matching any listed version.