To install a modpack on a Minecraft server, get the pack’s server files, put them on a server running the same mod loader and game version as the pack, set the Java version that game version needs, and start it. Every player then installs the same pack, in the same version, on their own computer. These steps work on any host and on a home PC.
What you need before you start
- The pack’s page on CurseForge or Modrinth. It lists the game version and the loader.
- A server on a mod loader. Modpacks run on Fabric, Forge, NeoForge or Quilt, not on Paper or Purpur. Our guide to Forge, Fabric and NeoForge explains the difference.
- A way to upload files: your host’s file manager or SFTP, whichever it offers.
Server pack and client pack are not the same
The client pack is what players install. It can hold mods that only a player’s game uses. A server pack leaves those out.
- CurseForge: the author uploads a separate server pack, a zip. CurseForge tells authors to include the
modsandconfigfolders, pluskubejsif the pack uses it. Start scripts are optional. - Modrinth: one
.mrpackfile serves both sides. Each file in it is markedrequired,optionalorunsupportedfor the client and for the server, and aserver-overridesfolder holds server-only files. The format lists the mods as downloads, so you cannot extract it and upload it as it is.
Step 1: check memory, loader and game version
Open the pack’s page and write down three things: the game version, the loader, and how much memory the author asks for. Figures we read on 12 October 2026:
| Pack | Game version and loader | Author’s memory figure |
|---|---|---|
| Cobblemon Official Modpack | 1.21.1, Fabric | Minimum 2.5 GB, 3 GB or more recommended |
| RLCraft | 1.12.2, Forge | 3 to 4 GB recommended |
| COBBLEVERSE | 1.21.1, Fabric | 6 GB or more to host multiplayer |
| All the Mods 10 | 1.21.1, NeoForge | None on its CurseForge page |
Most of these numbers describe one player’s game, so treat them as a starting point for a server, not a guarantee. If the page gives no figure, ask the pack’s community before you commit. The RAM calculator and our guide to how much RAM a Minecraft server needs help with the estimate.
A free server on Severoo has up to 6 GB of RAM and up to 20 GB of NVMe SSD storage, and modpacks are allowed. Compare your plan’s amount with the pack’s figure: we do not promise that any pack named here fits a free plan. See free modded Minecraft server hosting.
Step 2: get the server files
Some hosts have a modpack installer in their control panel. If yours does, it handles steps 2 to 4 for you.
From CurseForge
- Open the pack’s page and look for its server pack. All the Mods 10 lists
ServerFiles-8.2.zipwith its recent files, under the heading “Minecraft 1.21 Server Packs” (as of October 2026). - Check that the server pack is for the pack version your players will use.
- Download the zip to your computer.
If there is no server pack, the author has not published one. Ask them, or choose another pack.
From Modrinth
Modrinth packs normally have no separate server download. Modrinth’s help article on modpacks names mrpack-install as one way to run a pack on a server.
mrpack-install is a community command-line tool for Windows, macOS and Linux. Run it on your computer with the pack’s slug (the last part of its Modrinth address) and version:
mrpack-install <slug> <version> --server-dir mcserver
The download is named for your system, for example mrpack-install-windows.exe, so use that name in the command. It downloads the pack and the server into the mcserver folder, and in step 4 you upload what is in that folder. Its last release, v0.16.10, is from February 2024, so it may not handle every new pack.
An alternative is mrpack4server, a community jar that you run in place of the server jar on any host that accepts a custom jar. It downloads the pack, its mods and the loader when it starts (release 0.5.1, August 2026). To tell it which pack, put the pack’s .mrpack file beside the jar and name it local.mrpack. The main jar needs Java 21 or newer, and there are jvm8, jvm16 and jvm17 builds for older packs.
Step 3: set the loader and the Java version
A server pack does not always include the loader. Set your server to the same loader and game version as the pack, in your host’s control panel or by hand:
- Fabric: download the server launcher jar from fabricmc.net.
- NeoForge: run the installer jar with
--installServer, as the NeoForge docs show. It creates the start scriptsrun.shandrun.bat. - Forge: the installer from files.minecraftforge.net takes the same
--installServeroption.
If the pack ships its own start script, use that.
Now the Java version trap. Java follows the game version, and packs often stay on an older one. As of October 2026 the current game is 26.3, which needs Java 25, yet three of the four packs above run on 1.21.1.
| Pack’s game version | Java it needs |
|---|---|
| 1.16.5 and older | 8 |
| 1.17 and 1.17.1 | 16 |
| 1.18 to 1.20.4 | 17 |
| 1.20.5 to 1.21.11 | 21 |
| 26.1 to 26.3 | 25 |
These are Mojang’s requirements. A Java that is too old will not start the server. A much newer one can break old packs too: the mrpack4server page says Forge 1.16.5 needs Java 8 and not newer. Pick the Java version in your host’s control panel if it offers a choice. On a PC, run java -version to see what you have.
Step 4: upload the files and start the server
- Stop the server.
- Remove old
modsandconfigfolders, after downloading a copy of anything you want to keep. Mods left over from another pack can stop the server from starting. - Upload the server pack through the file manager or SFTP and extract it.
modsandconfigmust sit in the server’s main folder, not inside an extra folder. - Set the memory, unless your host sets it for you. NeoForge, and Forge versions whose installer creates the file, read it from
user_jvm_args.txt. Elsewhere it is the-Xmxvalue in the start command, which the start script generator writes for you. On a shared host, Paper’s docs suggest setting-Xmx1,000 to 1,500 MB below your plan’s memory. - Start the server. The first run stops and creates
eula.txt. Changeeula=falsetoeula=true, which means you accept the Minecraft EULA, and start it again.
Why the first start is slow
The first start does jobs that later starts skip: the server may still download files it needs, and it generates a new world. A modpack also takes longer than a vanilla server on every start, because it loads every mod. Let it finish before you restart anything.
What every player installs
Each player installs the client pack, in the same version as the server, through a launcher such as the CurseForge app or the Modrinth App. They do not need the server pack. When you update the server, everyone updates too.
Check that it worked
Wait for the console line that reports the server is done loading, type list in the console to see who is online, then join the server from a game running the pack.
Common failures when you install a modpack on a Minecraft server
- It stops right after the first start.
eula.txtstill sayseula=false. - The log shows
java.lang.UnsupportedClassVersionError. The Java version is too old for the game version. Use the table above. - An old pack crashes on a new Java. Switch down to the version in the table.
- The log shows
java.lang.OutOfMemoryError: Java heap space. The pack needs more memory than it has. Raise-Xmxif your plan allows, or pick a lighter pack. - It crashes while loading one mod. You may have uploaded the client pack. Use the server pack, or remove the mod the log names if it is client-only.
- A plain vanilla world loads. The files are inside a subfolder, or the server is not on the pack’s loader.
- Players cannot join. They are on a different pack version, or on plain Minecraft. On a pack for 26.3, the whitelist is also on by default: see how to whitelist a Minecraft server.
For more, see Minecraft server won’t start and can’t connect to a Minecraft server. To add single mods instead, read how to install mods on a Minecraft server.