Home/Minecraft guides/How to make a modded Minecraft server

How to make a modded Minecraft server

Set up a Fabric or Forge server, add mods the right way, and keep players' clients in sync so everyone can actually join.

Short version
  • Pick a loader: Fabric (light, fast to update) or Forge (big content mods). Mods only work on the loader they were made for.
  • Install the loader for the exact Minecraft version your mods support.
  • Put mod .jar files in the server's mods folder. Leave out client-only mods like shaders, minimaps and HUD mods.
  • Players need the same content mods and versions on their own client. A modpack is the easiest way to keep everyone matched.

1. Choose Fabric or Forge

Look at the mods you want first, then choose the loader they support. Most popular mods state it clearly on their download page.

  • Fabric: lightweight, quick to support new Minecraft versions, and home to the best performance mods (Lithium, FerriteCore, C2ME). Most Fabric mods also need Fabric API installed.
  • Forge: the long-standing loader for big content mods and many classic modpacks, especially on older versions like 1.12.2, 1.16.5 and 1.20.1.

You can't mix Fabric and Forge mods on one server. If the mods you want are split between them, pick the loader most of them support or look for a port. Our Paper vs Fabric vs Forge page compares them in more detail.

2. Pick the Minecraft version your mods support

Mods are built for specific Minecraft versions. A mod made for 1.20.1 will not load on 1.21. Choose the version that all your important mods share, which is often one or two releases behind the newest Minecraft.

3. Install the loader on the server

Fabric

Download the Fabric server launcher from fabricmc.net for your Minecraft and loader version. It's a single jar: run it like a normal server jar and it downloads everything else on first start.

Forge

Download the Forge installer for your version, then run java -jar forge-installer.jar --installServer in an empty folder. On 1.17 and newer it creates a run.sh/run.bat and user_jvm_args.txt; set your memory in that file and start the server with the run script.

On NS5

Choose Fabric or Forge when you order (or switch to it in the Settings tab), then set the Minecraft and loader version in the Startup tab. The installer sets everything up and accepts the EULA for you.

4. Add the mods

  1. Download each mod for your exact Minecraft version and loader from Modrinth or CurseForge.
  2. Check each mod's dependencies (for example Fabric API, Architectury, Cloth Config, GeckoLib) and download those too.
  3. Upload all the .jar files into the server's mods folder.
  4. Start the server and watch the console. The first start of a modded server is slow while it builds caches and generates the world.

On NS5 you can skip the downloading: search Modrinth in the Plugins tab and we install the matching version of each mod plus its required dependencies. If you're using a whole modpack, paste its link instead; see installing a Modrinth modpack.

5. Server-side, client-side, or both?

TypeExamplesWhere it goes
Content mods (new blocks, mobs, dimensions)Create, Farmer's Delight, Biomes O' PlentyServer and every player
Server-side onlyLithium, FerriteCore, Chunky, spark, many admin toolsServer only
Client-side onlySodium, Iris shaders, minimaps, zoom, HUD modsPlayers only. Can crash the server.

Modrinth shows "Client" and "Server" badges on each mod, which makes this easy to check. If a client-only mod is in the server's mods folder, the server often crashes on start with an error about missing client classes.

6. Get players set up

Every player needs the same loader, Minecraft version and content mods. The easiest way is to share a modpack: build one in a launcher such as Prism Launcher, the Modrinth App or the CurseForge App, export it, and have friends import it. Then they can update with one click whenever you add a mod.

7. Give it enough RAM

Modded servers need much more memory than Vanilla. As a rule of thumb: 4–6 GB for a light Fabric setup, 6–8 GB for a medium pack, and 8–12 GB for big Forge packs with 200 or more mods. Our RAM calculator has a modded mode, and the RAM guide explains the numbers.

8. Fixing crashes

  • Read the crash report. It's in crash-reports/. The "Suspected mods" line and the first Caused by are usually the answer.
  • Missing dependency: the log names the mod it needs. Install it.
  • Wrong version: "requires Minecraft 1.20.1" or "requires fabricloader >= …" means a mod doesn't match your version or loader.
  • Client-only mod on the server: remove it from the server's mods folder.
  • Out of memory: OutOfMemoryError means you need more RAM or fewer mods.
  • Still stuck: move half the mods out, test, and repeat to find the culprit. Back up before you start.

Common questions

Can I add mods to a Paper server?

No. Paper runs plugins, not Fabric or Forge mods. To use mods, switch the server to Fabric or Forge. Your world will load, but anything plugins added won't carry over.

Do my friends need the mods too?

For content mods, yes: everyone needs the same mods and versions. Server-side mods such as performance or admin mods don't need to be installed by players.

Can I add mods to an existing world?

Usually yes, and new content generates in chunks you haven't explored yet. Removing a mod later can delete its blocks and items from the world, so always back up before changing mods.

What about NeoForge and Quilt?

NeoForge is a newer fork of Forge used by many modern packs, and Quilt is a Fabric-compatible loader. On NS5 we currently offer Fabric and Forge; check which loader a pack needs before you install it.

Run it on NS5 instead

Minecraft Java servers from $3.70/month on AMD EPYC with dedicated RAM. One-click Paper, Fabric, Forge and Modrinth modpacks, backups and SFTP included. Try one free for 48 hours, no card needed.