Guidefor server owners3 min read
Installing an .mrpack modpack on a server
An mrpack is a manifest, not a bundle of mods. What is inside it, why the server side is a separate job from the client, and how to get both matching.
What an mrpack actually is
Rename an .mrpack to .zip and open it. Inside:
modrinth.index.json— the manifest. Every mod listed by download URL, file size and hash, plus which Minecraft version and loader the pack targets.overrides/— configuration files, and occasionally a world, to be copied over the installation.
The mod jars are usually not in the file. The manifest points at where each one is hosted, and an installer fetches them. That keeps the pack small and keeps distribution rights with each author, since nobody is redistributing anyone else's jar.
Which is why unzipping it into your server folder does not work: you get configuration and no mods.
Read the manifest before you start
Two fields decide everything that follows:
{
"dependencies": {
"minecraft": "26.2",
"fabric-loader": "0.17.4"
}
}
That tells you the Minecraft version and the loader. Everything else, the Java version, the server jar you need, whether your plugins can come along, follows from those two.
Check the Java requirement for that Minecraft version with the Java version checker before you install anything.
Installing the server side
Most packs ship a server pack, and using it is much easier than assembling one.
If the pack has a server download, take it. It is the same mod set with client-only mods removed and a start script included. Unzip it, run the script, done.
If it does not, use an installer that understands the format:
mrpack-install, a small command line tool that reads the manifest, downloads the server mods and installs the right loader.- A hosting panel with modpack support, which usually does the same thing behind a button.
mrpack-install <pack>.mrpack --server-dir ./server
Either way you end up with the loader installed, the server-side mods downloaded, and the overrides copied in.
Client-only mods do not go on the server
This is where most manual installs fail. A modpack contains three kinds of mod:
- Both sides. The content mods. Machines, dimensions, new blocks. These must match exactly on client and server.
- Client only. Shaders, interface improvements, minimaps, performance mods that touch rendering. These have no meaning on a server and often refuse to load there.
- Server only. Rare in packs, common on servers: performance and management mods.
The manifest marks each mod's client and server support, which is what the installers use to
build a server list. Copying the client mods/ folder to the server wholesale is the usual
mistake, and it produces a crash log full of rendering classes that do not exist headless.
Every project page on this site states which sides a mod needs, taken from the author's own metadata.
Getting players onto it
Everyone needs the same pack, at the same version, on the same loader. Any mismatch in the server-side mod set is refused at connection time, usually with a long list of mods that differ.
The reliable route is a launcher that imports the mrpack directly: Modrinth's own launcher, Prism, ATLauncher and others all do. Hand players the pack file or the pack page, not a folder of jars.
Resources
Modpacks are heavier than plain servers, and the cost is loading, not players. A hundred-mod pack uses several gigabytes before anyone joins, so 6 to 10 GB is a reasonable starting point for a small group, and adding more RAM past what it needs makes garbage collection pauses worse rather than better. See how much RAM a server needs.
Give it longer to start than you expect. A large pack takes minutes on first launch while it builds registries and generates configuration. A server that looks hung two minutes in is usually just working.
Updating a pack
Treat it as a version upgrade, because it is one:
- Back up the world and the config. Both. Backing up before an update.
- Read the pack's changelog for world-affecting changes. Packs sometimes remove a mod that owned blocks placed in your world, and those blocks are simply gone afterwards.
- Install the new version into a fresh directory, then move the world across, rather than overwriting in place. Old configuration from a removed mod causes confusing errors.
- Update every client before anyone tries to join.
Never update a pack because a newer version exists. Update it because you want something in it.