// Minecraft

Installing a Modpack on Your Server: CurseForge to Running

Installing a Modpack on Your Server: CurseForge to Running

You put a modpack on your server using the server files of exactly the same pack version your players have in their launcher, started with the Java version that belongs to the Minecraft version: Java 21 for 1.21 and the newer 26.x releases, Java 17 for 1.17 up to and including 1.20.4, and Java 8 for 1.12.2 and older. A heavy pack such as All the Mods 10 (NeoForge, Minecraft 1.21.1, 400 to 500-plus mods) needs at least 10 GB of RAM and loads in 2 to 3 minutes on an SSD, against 10 minutes or more on a hard disk. When it goes wrong, it is almost always one of five things: the wrong Java, too little memory, client-only mods on the server, the wrong loader version, or a world from a different pack.

What is the difference between a client pack and a server pack?

The pack you install in CurseForge, Modrinth, the FTB App or ATLauncher is the client pack. It contains everything your PC needs, including mods that have no business being on a server: shaders, minimaps, HUD extensions and menu tweaks. Drop that folder onto a server unchanged and it usually gives up before the world has even loaded.

The server pack is the same pack, but stripped: the authors take the client-only mods out, leave the configs in place and add start scripts or an installer. Not every pack needs one. Fabulously Optimized is purely performance-focused (Sodium, Lithium and relatives, well over 12 million downloads on Modrinth) and does not change the game world, so you simply play that on an ordinary Paper server. Add genuine content, such as All the Mods 10 or RLCraft, and the server has to come along by definition. If you are not yet sure how packs are put together, start by reading what a modpack is and how you install one as a player.

Where do you get the server files?

  • CurseForge: open the pack page, go to the Files tab and check whether the file you want to run has a separate Server Pack download attached. It belongs to that one file, so always take the server files from the same version as your client.
  • Modrinth: packs arrive as .mrpack. Some authors put a server file next to it; otherwise you let an installer unpack the .mrpack and fetch the mods itself.
  • FTB App: FTB packs have their own server installer that you run on the server; it pulls in the loader and the mods for you.
  • ATLauncher: for most packs you can download the server files directly or export them from the launcher.

If there is no server pack, you build one yourself: install the loader in exactly the version the pack names, copy mods and config from the client pack, and then take the client-only mods out. Expect a few start attempts before you have caught the last one.

How do you put the pack on a Pterodactyl panel?

These steps apply to Pterodactyl and to virtually every panel built on top of it.

  1. Shut the server down. Uploading or unpacking while it is running gives you half-written files.
  2. Pick the right egg (Forge, NeoForge or Fabric) and set the Docker image to the Java version that belongs to your Minecraft version. This is the setting people forget most often.
  3. Upload the server pack's zip file through the file manager, or over SFTP if it is large. Upload the archive, not the loose mods: uploading them one by one takes forever.
  4. Extract the archive in the panel and check that mods, config and the loader files sit in the root folder rather than in an extra subfolder. That duplicated folder is a classic stumbling block.
  5. Run the supplied installer if there is one. Modern Forge and NeoForge versions no longer start from a single jar, but through an argument file under libraries (unix_args.txt). Look in the start script to see which line is used there and copy it into your start command.
  6. Set eula=true in eula.txt, or tick the EULA box in the panel.
  7. Start it and watch the console. The first start takes minutes and generates every config; only after that is there any point in changing settings.

Which Java version goes with which Minecraft version?

The wrong Java version is the number one reason a modpack server shuts down again immediately, usually with an UnsupportedClassVersionError in the console.

Minecraft versionJavaExample
26.1 "Tiny Takeover", 26.2 "Chaos Cubed" and the 26.3 snapshotsJava 21new NeoForge and Fabric packs
1.21.xJava 21All the Mods 10 (1.21.1, NeoForge)
1.17 up to and including 1.20.4Java 17Create: Astral (Fabric 1.18.2)
1.12.2 and olderJava 8RLCraft (Forge 1.12.2)

Newer is not better here: All the Mods 10 requires Java 21 and will not start on Java 17, while RLCraft specifically needs Java 8. If your pack falls between two rows, check the pack description; the required Java version is nearly always listed.

How much RAM do you need?

Big packs are memory hogs, because every mod registers its own blocks, items and recipes. Going below the recommendation rarely works: the server does come up, but it hangs during loading or seizes up an hour later anyway.

SituationRAM
All the Mods 10, solo or test server10 GB (minimum)
All the Mods 10, small group of friends12 GB
All the Mods 10, 5 players or more, heavy automation14 to 16 GB
Cobblemon pack4 to 8 GB
Older Pixelmon server10 to 12 GB

Mind the difference between your package size and your Java heap: alongside the heap, the JVM also uses memory for threads and native libraries, so do not set -Xmx to your full package. Optimisation mods genuinely help too: on NeoForge, FerriteCore cuts memory usage by 30 to 40 percent, and Canary and ModernFix save on load time and tick pressure. There is more of that in our article on optimising your Minecraft server. If you would rather just buy the memory: at Minecraft hosting from MC-Node the budget line costs EUR 1.10 per GB per month, with 15 GB coming out at EUR 15.00 per month thanks to the volume tiers, including NVMe storage, automatic backups and the Pterodactyl panel.

Which five mistakes go wrong most often?

  1. Wrong Java version. The server shuts down within seconds and the console names a class version error. Swap the Docker image and start again.
  2. Too little RAM. Loading stalls or the console reports running out of memory. More memory helps, but it does not repair a mod that leaks memory: measure first before you keep buying more.
  3. Client-only mods in the server folder. Shaders, minimaps and HUD mods crash the server during loading. The crash log almost always names the culprit; take it out of mods and try again.
  4. Wrong loader version. Forge, NeoForge and Fabric have a specific build per pack. Newer is not an upgrade but an incompatibility; copy exactly the build number the pack names.
  5. A world from a different pack. Chunks then refer to block and item IDs that do not exist in your pack, you get missing registry entries and players lose their inventories. Only restore worlds from the same pack and the same version.

Why must client and server run the same pack version?

Mods run on both sides. On connecting, client and server compare their mod lists, and if those differ you are sent straight back. Updating a pack is therefore a joint operation: the server first, then everyone at once, and not in the middle of a play session. That is the big difference with plugins, which run server-side only and require players to install nothing; our overview of the best Minecraft plugins covers which ones those are.

How do you check that it worked?

Run through these four things before you hand the server to your players.

  • The console. Look for the line Done followed by the load time and For help, type "help". If that never appears, the server has not started.
  • The number of loaded mods. The loader reports how many mods it loaded; if that sits far below what the pack claims, mods have been skipped.
  • Connecting with exactly the same pack. Do you get in, and are the pack-specific items and blocks in the creative inventory?
  • Tick rate and memory. An empty server should run at around 20 TPS, the ticks per second that show it is keeping up. If memory is already grazing the ceiling straight after startup, your package is too small.

If it all works, make a backup immediately before players go in. That first backup of a clean, working install is the one you will be grateful for later.

Frequently asked questions

How much RAM do I need for All the Mods 10? At least 10 GB, 12 GB for a small group of friends and 14 to 16 GB with five players or more or heavy automation. ATM10 runs on NeoForge for Minecraft 1.21.1 with 400 to 500-plus mods, so anything below 10 GB is pointless.

Does Java 17 work for a 1.21 pack as well? No. For Minecraft 1.21 and the newer 26.x versions you need Java 21; All the Mods 10 will not start on Java 17. Java 17 belongs to 1.17 up to and including 1.20.4, and Java 8 to 1.12.2 and older, such as RLCraft.

Does everyone have to install the same modpack? Yes, and in exactly the same version. Mods add blocks, items and dimensions that have to be registered on server and client alike; if the mod list differs, you are refused on connecting. Plugins on Paper or Purpur work differently: they run server-side only.

Why does the first start take so long? A pack with 400 to 500-plus mods builds every config and registry on its first start. On a hard disk that takes 10 minutes or more, on an NVMe SSD 2 to 3 minutes. FerriteCore, Canary and ModernFix help further on NeoForge.

Can I combine mods and plugins? Not straightforwardly. Mods run on Forge, NeoForge or Fabric, plugins on Bukkit variants such as Paper and Purpur. Hybrid server software exists, but it often lags behind and breaks on updates; for a stable modpack server, stick to the loader the pack prescribes.

Further reading

// TRY IT YOURSELF
Your server online in 60 seconds
MC-Node →