How to Install Mods and Modpacks on a Minecraft Server

Server Guides

Match the loader and version, keep client-only mods off the server, install mods and server packs, and read crash reports when a modded server won't start.

Mods can turn Minecraft into a completely different game, with new machines, new dimensions and new mobs. Running them on a server lets your friends share that world with you.

Modded servers are also less forgiving than plugin servers. In this guide, we will cover how to match the loader and Minecraft version, which mods belong on the server, how to install mods and modpacks, how much RAM you need, and how to read a crash report when something breaks.

By the end of this guide, you will know how to get a modded server running and how to fix it when it won't start.

Match the Loader and the Minecraft Version

Every mod is built for one mod loader and specific Minecraft versions. Your server has to run that exact loader and version, and so do your players.

LoaderRunsGood to know
Fabric logo FabricFabric modsMost Fabric mods also need Fabric API in the mods folder.
Quilt logo QuiltQuilt mods and most Fabric modsQuilt mods do not work on Fabric.
Forge logo ForgeForge modsThe original big mod loader, still updated.
NeoForge logo NeoForgeNeoForge modsSplit from Forge in 2023. On newer versions, Forge and NeoForge mods are not interchangeable.

All four loaders have builds for the current Minecraft release, 26.3. Minecraft 26.1 and newer need Java 25, so check your Java version too. Our Java version guide lists what each version needs.

The loader version matters as well. A mod page may say it needs, for example, a newer Fabric Loader than the one you have, and the server will refuse to start until you update.

Not sure which loader to pick? Read Vanilla, Paper, Fabric or Forge and Forge vs NeoForge.

Server-Side vs Client-Side Mods

Not every mod belongs on the server. There are three kinds:

TypeExamplesInstall on
Both sidesMods that add blocks, items, mobs or dimensionsServer and every player
Server-sideChunky, Lithium, FerriteCore, sparkThe server. Players don't need them.
Client-onlySodium, Iris, Mod MenuPlayers only, never the server

A client-only mod on a server often crashes it at startup. On Forge and NeoForge, the typical error looks like this:

Attempted to load class net/minecraft/client/... for invalid dist DEDICATED_SERVER

It means a mod tried to use code that only exists in the game client. Find the mod named in the lines below that error and remove it from the server.

Modrinth pages show whether a mod is needed on the client, the server or both. That info comes from the mod author, so it is sometimes wrong.

How to Install Mods Step by Step

  1. Install the loader. On EternalZero, pick the loader and version in the Versions Changer. Running it yourself? For Fabric, use the server launcher from fabricmc.net. For NeoForge, run java -jar neoforge-installer.jar --installServer, set your RAM in user_jvm_args.txt and start with run.bat or run.sh (source: NeoForge docs).
  2. Start the server once. This creates the mods and config folders. Accept the EULA in eula.txt if you run it yourself.
  3. Add your mods. Upload the .jar files into the mods folder. On Fabric, add Fabric API too.
  4. Start the server and read the log. If it reaches "Done", the mods loaded.
  5. Give your players the same mods. Same mods, same versions, same loader.

The Mods and Plugins page in the EternalZero panel can search Modrinth and CurseForge and install a mod in one click, which saves the download and upload steps.

Mod settings live in the config folder. Forge and NeoForge also keep some settings per world, in a serverconfig folder inside the world folder.

Installing a Modpack

Use the server pack

Most popular packs publish a server version with client-only mods already removed. It is the easiest and safest way to run a pack.

  • CurseForge: open the pack's Files tab, pick the version your players use and look for the server pack download. It is often listed under Additional Files.
  • Modrinth: packs come as .mrpack files. Modrinth's own help article points to tools like mrpack-install to set one up as a server (source: Modrinth support).

Upload the server pack's contents to your server, set the right Java version and RAM, and start it. Always use the exact same pack version as your players.

No server pack?

You can build one yourself:

  1. Install the same loader and Minecraft version the pack uses.
  2. Copy the mods and config folders from your client install. Copy defaultconfigs or kubejs too if the pack has them.
  3. Remove client-only mods like shaders, minimaps and menu tweaks.
  4. Start the server. If it crashes on a client class, remove that mod and try again.

NeoForge's docs admit it is often unclear which mods are client-side, so some trial and error is normal here.

How Much RAM a Modded Server Needs

Mods load a lot into memory before anyone even joins. As a rough starting point:

  • Fabric with a few mods: 4 GB
  • Forge or NeoForge modpack: 6 GB or more
  • Large modpacks: whatever the pack page recommends, which is often a lot more

Our RAM guide explains how to check real usage with spark before you add more.

Players Need the Same Mods

Every mod that adds content must be on both the server and every player's game, in the same version. If a player is missing one, they usually get disconnected with an error about missing or mismatched mods.

The easiest fix is to share the modpack itself. Players install it through the CurseForge app, the Modrinth app or another launcher, and everyone gets the same files. For a custom mod list, send them a zip of your client mods folder.

Common Crash Causes and How to Read a Crash Report

When the server crashes, check two places:

  • crash-reports/: one file per crash, with a "Description" line near the top and the error below it.
  • logs/latest.log: everything the server printed. Forge and NeoForge also write a more detailed logs/debug.log.

Read the first error lines and look for a mod name or mod ID. That is usually your answer.

ErrorWhat it meansFix
invalid dist DEDICATED_SERVERA client-only mod is on the serverRemove that mod
Missing or unsupported mandatory dependenciesForge or NeoForge: a required mod is missing or the wrong versionInstall the mod and version it names
Incompatible mods found / "requires ... which is missing"Fabric: missing Fabric API, library or loader versionInstall or update what it lists
UnsupportedClassVersionErrorWrong Java versionSwitch Java in your startup settings
OutOfMemoryErrorNot enough RAMAdd RAM or remove heavy mods
Mixin errors naming a modTwo mods conflict, or a mod is for another versionUpdate or remove the mods it names

If you can't find the cause, remove half of your mods and start again. Keep halving until the crash goes away, and the last group you removed holds the problem mod.

Tip: Take a backup before adding or updating mods. Some mods change the world when they load, and removing them later can leave missing blocks behind.

Conclusion

Modded servers come down to one rule: everything has to match. Same loader, same Minecraft version, same mod versions, with client-only mods left off the server.

Start with a ready-made server pack or a small mod list, get it running, and add more mods a few at a time so you always know what broke.