How to Install a Modrinth Modpack on a Minecraft Server
Turn a Modrinth .mrpack into a working server: read the loader and version, download only server side mods, copy overrides, and strip client only mods.
Updated Oct 3, 2026 · 5 min read
On this page
- What you are working with
- The gotcha: the .mrpack has no mods in it
- Before you start
- Method 1: Build the server folder with a script (Windows)
- Method 2: mrpack-install
- Method 3: By hand
- Step 4: Set up the server and upload
- Step 5: Strip client only mods the flags missed
- Common problems
- Modrinth packs on GamezServers
- FAQ
To install a Modrinth modpack on a Minecraft server, open the .mrpack (rename it to .zip) and read modrinth.index.json: dependencies names the Minecraft version and loader (fabric-loader, quilt-loader, forge or neoforge). Run a server on exactly that, download every file in files whose env.server is not unsupported into its path (mostly mods/), then copy the contents of overrides/ and server-overrides/ into the server folder. The .mrpack holds download links, not the mods themselves.
What you are working with
| File or folder | What it is |
|---|---|
.mrpack |
A zip. Rename to .zip to open it |
modrinth.index.json |
The pack list: Minecraft version, loader version, and every mod as a download link |
files[].env |
Per file: client and server, each required, optional or unsupported |
overrides/ |
Configs, scripts, KubeJS and other files copied over the instance, for both sides |
server-overrides/ |
Server only files, copied after overrides |
client-overrides/ |
Client only files. Ignore on the server |
The format is documented in Modrinth's .mrpack specification.

The gotcha: the .mrpack has no mods in it
People upload the .mrpack to the server, or unzip it into the server folder, and get a server with no mods, or one that crashes. A .mrpack is a recipe: each mod is a URL plus hashes, and something has to download them. On top of that, a large share of most packs is client only. In the Cobblemon Official Modpack 1.8.1 for Fabric, for example, 41 of its 75 files are marked "server": "unsupported": Sodium, Iris, menu tweaks, animation, particle and sound mods.
So the job is: read the list, download the server side of it, add the overrides. There are three ways to do that.
Before you start
- Check the loader. Open
modrinth.index.jsonand look atdependencies, for example"fabric-loader": "0.19.5", "minecraft": "1.21.1". Your server must run that Minecraft version and loader. - Look for a server pack. Some pack authors upload a ready server zip next to the
.mrpackon the Versions tab. If there is one, use it and skip to Step 4. - Back up any existing world. Modpacks change world generation and can break worlds made without them.
Method 1: Build the server folder with a script (Windows)
This PowerShell script does exactly what the format says: download server side files, then apply the overrides. Put it next to pack.mrpack, run it in PowerShell, then upload the server folder's contents.
$ProgressPreference = 'SilentlyContinue'
Copy-Item pack.mrpack pack.zip
Expand-Archive pack.zip -DestinationPath pack
$index = Get-Content pack\modrinth.index.json -Raw | ConvertFrom-Json
New-Item -ItemType Directory -Force server | Out-Null
foreach ($f in $index.files) {
if ($f.env -and $f.env.server -eq 'unsupported') { continue }
$dest = Join-Path server $f.path
New-Item -ItemType Directory -Force (Split-Path $dest) | Out-Null
Invoke-WebRequest $f.downloads[0] -OutFile $dest
}
foreach ($o in 'overrides', 'server-overrides') {
if (Test-Path "pack\$o") { Copy-Item "pack\$o\*" server -Recurse -Force }
}
$index.dependencies
The last line prints the Minecraft and loader versions to set on the server. The copy to .zip is needed because Expand-Archive refuses any other extension. You can delete shaderpacks, resourcepacks and loose images from the result, the server does not use them.
Method 2: mrpack-install
mrpack-install is a free command line tool that deploys a Modrinth pack, including the server jar for vanilla, Fabric, Quilt, Forge, NeoForge or Paper, into a folder (--server-dir). Run it on your PC or any machine with a shell, then upload the folder. It is the quickest route if you are comfortable with a terminal.
Method 3: By hand
For a small pack, open modrinth.index.json, and for each file without "server": "unsupported", open the URL in downloads and save it to its path. Then copy overrides and server-overrides. Slow, but you see every mod.
Step 4: Set up the server and upload
- Set the server to the pack's loader and Minecraft version, then install it fresh.
- Upload
mods/,config/and anything else your folder has (for examplekubejs/ordefaultconfigs/) into the server root. Big folders go faster over SFTP. - Start the server and watch the console until it says
Done. First starts of large packs are slow.
Step 5: Strip client only mods the flags missed
The env flags are set by the pack author and are not always right. In the same Cobblemon pack, a shader pack folder is flagged as required on the server. A mod that is really client only but not flagged can crash the server on start with errors that mention client classes, rendering or a missing net/minecraft/client class.
When that happens, the crash report or log names the mod. Remove it from mods/, restart, and repeat. Usual suspects: shader loaders, performance renderers, menu and HUD mods, minimap clients without a server part, sound and animation mods. See the Minecraft crashing on startup fix for reading crash logs.
Common problems
- Server starts with no mods: the
.mrpackitself was uploaded. Build the folder with one of the methods above. - "Incompatible mod set" or missing dependency: wrong loader or Minecraft version, or a required library was flagged client only by mistake. Compare with
dependenciesand add the missing mod. - Players get "mod mismatch" on join: their client pack version differs from the server's. Everyone installs the same pack version in the Modrinth App or another launcher.
- Runs out of memory: large packs want 8 GB or more. See how much RAM a Minecraft server needs.
Modrinth packs on GamezServers
On a Minecraft server from GamezServers, pick Fabric, Forge or NeoForge as the server type and set the Minecraft version from the pack, then upload over SFTP (login in Settings) or in the file manager, which also handles zips and extracting on the server. Click Backup before switching. We do not offer a Quilt server type, so a pack that needs quilt-loader is not a fit unless the author also publishes a Fabric version. For CurseForge packs, see how to make a modded server from a CurseForge modpack.
FAQ
Can I upload a .mrpack file directly to a server?
No. A .mrpack holds download links, not mods. Build a server folder from it with a script, mrpack-install or by hand, or use the author's server pack.
How do I know which mods are client side only?
Each file in modrinth.index.json has env.server. unsupported means leave it off the server, though authors sometimes get it wrong.
Do players need the same modpack?
Yes. Every player installs the same pack and version in their launcher, for example the Modrinth App.
What Fabric version does my Modrinth modpack need?
Look at dependencies in modrinth.index.json. It lists minecraft and fabric-loader (or the Forge, NeoForge or Quilt version).
Skip the setup. Your own Minecraft server.
Then $4.99/mo. Just trying it? $1.25 for 3 days