Installing a Modpack on Your Minecraft Server
Install a Forge, NeoForge or Fabric modpack on a dedicated server — server packs, the right Java version, installers, removing client-only mods, first boot and updates.
On this page
- Step 1: Get the server files, not the client pack
- Step 2: Match the Java version
- Step 3: Install the mod loader
- Step 4: Accept the EULA and allocate memory
- Step 5: First boot
- Building a server pack from a client pack
- Players must match the server
- Updating a modpack
- Performance tips for modded servers
- Common problems
- Let the team do it
- Summary
Modpacks bundle dozens or hundreds of mods into a curated experience, and running one on a server lets friends share it. Installing a modpack server has more steps than a plugin server — and most problems come from a few predictable mistakes. This guide walks through the process for Forge, NeoForge and Fabric packs.
Step 1: Get the server files, not the client pack
Most popular modpacks publish a separate server pack alongside the client version on CurseForge or Modrinth. Look for a “Server Files” or “Server Pack” download for the exact pack version your players will use.
Server packs typically include:
- the mods (with client-only mods already removed),
- the
config/folder and other data folders, - an installer or start script,
- sometimes a README with the recommended Java version and RAM.
If a pack has no server download, you’ll build one from the client pack — covered below.
Step 2: Match the Java version
Modpacks are built for a specific Minecraft version, which dictates Java:
| Minecraft | Java |
|---|---|
| 1.20.5+ | 21 |
| 1.18 – 1.20.4 | 17 |
| 1.17 | 16/17 |
| 1.16.5 and older | 8 (many packs) |
The wrong Java version causes errors on startup — often UnsupportedClassVersionError, or confusing mod loading failures on old packs run with new Java. The pack’s page usually states the requirement.
Step 3: Install the mod loader
Forge
Forge server packs usually include the Forge installer or have already run it. To install manually:
java -jar forge-<version>-installer.jar --installServer
On Minecraft 1.17 and newer, Forge creates a run.sh (and run.bat) script and a user_jvm_args.txt file. Put your memory and JVM flags in user_jvm_args.txt — for example -Xms8G -Xmx8G — and start the server with run.sh.
NeoForge
NeoForge works the same way: run its installer with --installServer, set JVM arguments in user_jvm_args.txt, and start with the generated script.
Fabric
Use the Fabric server launcher for your Minecraft version, or run the Fabric installer in server mode. Then start the resulting server JAR with your JVM flags, like a Paper server. Fabric packs also need the Fabric API mod in mods/, which server packs include.
Step 4: Accept the EULA and allocate memory
Start the server once. It creates eula.txt and stops. Set eula=true to accept the Minecraft EULA.
For memory, start with the pack’s recommendation — commonly 6–10 GB for medium packs and 10–16 GB for large ones — and leave headroom outside the heap. Aikar’s flags work well for modded servers too. See how much RAM a Minecraft server needs and Aikar’s flags.
Step 5: First boot
The first start of a modpack server is slow — sometimes several minutes — while mods initialise and the world generates. Watch the console. When you see the “Done” line, the server is ready.
If it crashes, don’t panic: open the newest file in crash-reports/ and the end of logs/latest.log. The cause is usually named near the top.
Building a server pack from a client pack
If there’s no server download:
- Install the pack in your launcher, then copy its
mods/,config/and any other data folders (such asdefaultconfigs/,kubejs/orscripts/) to the server. - Install the matching loader version on the server (step 3).
- Remove client-only mods. These are mods that only affect what you see — minimaps, shaders loaders, HUD and UI tweaks, sound and visual effects, zoom mods. On Forge and NeoForge, a client-only mod on a server often crashes it with an error like
Attempted to load class net/minecraft/client/... for invalid dist DEDICATED_SERVER. The class path in the crash usually tells you which mod to remove.
Check each mod’s page if you’re unsure which side it belongs on.
Players must match the server
Every player needs the same pack version as the server. Mismatches produce “mod rejections” or missing-registry errors when joining. When you update the pack on the server, tell players to update their client too — and pin the version in your announcements.
Updating a modpack
Pack updates can change mods, configs and sometimes world generation. Do it carefully:
- Back up everything — world, mods, configs. See Minecraft server backups.
- Read the pack’s changelog for warnings (removed mods can delete items and blocks from the world).
- Replace
mods/entirely with the new version’s mods rather than mixing old and new files. - Update
config/carefully — keep any settings you changed, but take new defaults where the pack requires them. - Keep your world folder.
- Start the server and test before inviting everyone back.
Performance tips for modded servers
- Pre-generate the world — modded terrain is expensive to generate. See pre-generating your world with Chunky.
- Profile with spark to find heavy mods or machines — see fixing Minecraft server lag.
- Keep view distance modest.
- Limit chunk loaders — mods that keep areas loaded permanently add constant tick load.
- Choose fast per-core CPUs and NVMe storage. Mods don’t make Minecraft’s main tick multithreaded.
Common problems
Server crashes immediately — wrong Java version, a client-only mod, or a missing dependency mod. The crash report names the culprit.
“Missing mods” when players join — the client pack version differs from the server’s.
Very long startup — normal for large packs on first boot; if every start is slow, check the logs for mods repeatedly regenerating data.
Out of memory — allocate the pack’s recommended RAM and check for memory-hungry configurations.
Let the team do it
On Kerit Cloud’s Minecraft hosting, staff can install and configure modpacks for you as part of your order, or give you full panel access — console, file manager and one-click restarts — to do it yourself. Because every server is custom-quoted, RAM and CPU are sized to your specific pack. See how custom-quote Minecraft hosting works.
Summary
Use the pack’s server files for the exact version your players run, match the Java version, install the Forge, NeoForge or Fabric loader, and put memory flags in user_jvm_args.txt or your start command. Accept the EULA, expect a slow first boot, and read crash reports when something fails — usually a client-only mod, a missing dependency or the wrong Java. Keep players on the same pack version, and back up before every pack update.