How to run a Forge or NeoForge modpack on your server
Running a modpack is the biggest step up in difficulty from a plain Minecraft server. Hundreds of mods have to load together, the first start can take several minutes, and a single wrong file stops everything. The good news is that modpack authors do most of the hard work for you, if you use the right files. This guide shows the safe order.
Get the server files, not the client pack
Almost every modpack offers two downloads: the one you install in a launcher to play, and a server pack. They are different. The client pack contains mods that only make sense on a player's computer, such as shaders and minimaps, and starting a server from it commonly crashes with errors about missing client classes.
- Open the modpack's page on CurseForge or Modrinth.
- Look for a server files or server pack download, usually under the file's extra options.
- Download the one for the same pack version your players will use.
If the author does not publish a server pack, ask in their community before attempting to build one yourself. It is slow work and easy to get wrong.
Check the requirements
The pack's page names three things you need to match:
- The Minecraft version, which fixes which Java you need. Minecraft 1.20.5 and newer needs Java 21, and 1.18 to 1.20.4 needs Java 17, while older versions generally use Java 8 or 16.
- The mod loader, either Forge or NeoForge. They are not interchangeable.
- Recommended memory. Packs vary hugely. Small ones run on around 4 GB, and large ones ask for 8 GB or more. Follow the author's number, then adjust by watching real use. What the CPU, memory and disk numbers on your server mean helps with that.
Upload and extract
- Stop the server and take a backup if it already has a world.
- Upload the server pack zip to the server's main folder. Large files upload faster over SFTP.
- Extract it with the file manager's unarchive option, so the files sit in the main folder and not in a nested folder. If you see the server jar inside a subfolder, move everything up a level.
- Make sure you set the correct Java version in the server's startup settings.
The first start
Start the server and be patient. The first launch generates the world and builds caches, and a big pack can need five minutes or more. That is normal as long as the console keeps printing progress.
Newer Forge and NeoForge versions start through a script and read their memory settings from a file called user_jvm_args.txt, not from a long command line. If your host's panel manages memory for you, leave this alone. If you set it yourself, keep the heap a little below the total memory your plan gives you so Java has room for its own overhead.
On your first launch you may be asked to agree to Mojang's terms. The server creates eula.txt, and you need to set eula=true before it will run.
Let players join
Players need the same pack at the same version, installed through the launcher the author recommends. If you update the server, tell players to update too. A version mismatch gives a "mod rejections" or "incompatible mod list" message on the join screen.
Common problems
| Symptom | Likely cause | What to do |
|---|---|---|
| Crash naming a client class | A client-only mod got onto the server | Use the server pack, or remove that mod |
| Runs out of memory during startup | Plan too small for the pack | Compare with the author's recommendation |
| "Mod rejections" when joining | Player and server versions differ | Match the pack version exactly |
| Server never finishes loading | Wrong Java version | Use the version the pack requires |
| Crashes after adding a mod | Incompatibility with the pack | Remove the added mod and retest |
Avoid adding extra mods to a pack unless you are ready to troubleshoot. Packs are tested as a set, and every addition is something the author never checked.
For crash reading, start with My server crashes or won't start, and if memory is the cause, Minecraft server out of memory explains how to tell.
Still stuck? Open a ticket on Discord - run /ticket in any channel, pick a department, and include your Server ID or Invoice ID so we can jump straight in.