Minecraft2026-05-04 · 9 min read

How to Install a Minecraft Modpack from CurseForge or Modrinth on Your Server

The complete 2026 guide — from finding a modpack to getting friends connected. Forge, NeoForge and Fabric all covered. We'll do this the manual way; CoalHost users can skip steps 1-7 with our one-click modpack installer.

1

Find a modpack and check its details

Browse CurseForge (curseforge.com/minecraft/modpacks) or Modrinth (modrinth.com/modpacks). Sort by popularity or recent updates. Before downloading, check three things on the modpack page: • Minecraft version — modpack 1.20.1 needs an MC 1.20.1 server, not 1.21 • Mod loader — Forge, NeoForge or Fabric (this dictates everything else) • Server pack availability — most popular modpacks ship a separate server-side download. Some don't, in which case you'll need to assemble it yourself (harder).
2

Download the server pack (not the client pack)

On the modpack's Files tab, find the latest version and click it. You'll see two ZIPs: • `<Modpack>-X.X.X.zip` — the client pack (for the Minecraft launcher) • `<Modpack>-X.X.X-server.zip` or `Server Files` — the server pack Always grab the server pack. It's smaller (no client-only mods like Sodium, JEI's resource UI assets) and pre-configured for headless operation. If only a client pack exists, you can extract it and remove the `mods/` entries marked `clientonly` — but this is fiddly. Pick a different modpack if you can.
3

Choose your mod loader

Each modpack page tells you which loader it requires. The three options:

Forge

The original mod loader. Largest mod ecosystem (Create, Mekanism, Twilight Forest, Thermal series). Most kitchen-sink modpacks (ATM, Enigmatica) target Forge.

Download the Forge installer for your MC version from files.minecraftforge.net. Run `java -jar forge-X.X.X-installer.jar --installServer` in the server folder.

NeoForge

Forge's community fork (since 1.20.4). API-compatible with most Forge mods. Slightly more open governance and faster MC version updates.

Download the NeoForge installer from neoforged.net. Same install command: `java -jar neoforge-X.X.X-installer.jar --installServer`.

Fabric

Lightweight loader. Faster mod-version turnaround and better performance per mod (Sodium, Lithium). Smaller ecosystem for kitchen-sink, larger for performance/utility.

Download the Fabric server launcher from fabricmc.net. Drop it in the server folder and run it once — it pulls Fabric Loader, the API and the matching Minecraft server jar.

4

Upload the server pack to your server

Stop the server first. Then either: Via panel file manager (CoalHost, Pterodactyl, etc.): drag the .zip into the server's root folder and use the panel's "Extract" option. Via SFTP: upload the .zip, then SSH in and run `unzip <pack>.zip` in the server folder. The extracted contents should include: `mods/` (folder of .jar files), `config/` (mod configs), often `defaultconfigs/` and `kubejs/`. The pack's own README will list any extra setup steps.
5

Run the loader installer

Most server packs include a script: `start.sh` (Linux) or `start.bat` (Windows). Open it — you'll usually see a line that runs the Forge/NeoForge installer or downloads Fabric. On first start, this: • Downloads the matching Minecraft server jar from Mojang • Installs the loader • Generates startup files (`run.sh`, `user_jvm_args.txt`) Run the installer once (most panels have an "Install" button that does this). It may take 1-2 minutes the first time. After this, the regular start command works.
6

Allocate enough RAM

Modpacks are RAM-hungry. Practical sizing: • Light pack (50-100 mods): 6 GB • Medium pack (100-200 mods): 8 GB • ATM10, Enigmatica 9, kitchen-sink (200-400 mods): 10-12 GB • RLCraft 2, Better Minecraft Plus, GregTech-style (400+): 12-16 GB In the panel, set the RAM slider. If using a manual start script, edit `-Xmx` in `user_jvm_args.txt` (NeoForge/Forge) or your start command. Don't over-allocate. Going above what you need lengthens GC pauses. Starting too low is easier to fix (just bump it) than starting too high (you pay more, lag worse).
7

Accept the EULA, then start the server

First start always fails with: `You need to agree to the EULA in order to run the server.` Open `eula.txt` (it now exists in the server folder) and change `eula=false` to `eula=true`. This affirms you accept Mojang's EULA — required by law for any public Minecraft server. Start again. The server will spend 1-5 minutes loading mods on the first start (you'll see a flood of `[ModLoader]` lines). Subsequent starts are faster — 30-60 seconds is normal. Watch the log for `Done!` followed by the server prompt. That's your green light.
8

Install the same modpack on the client and connect

Players need the same modpack version installed in their launcher. Two options: CurseForge App (curseforge.com/download): browse → install → play. Easy for non-technical players. Modrinth App or Prism Launcher: import the modpack file or install from the in-app browser. Better experience than the CurseForge launcher. In Multiplayer → Direct Connect, enter your server IP and port (default 25565). Server-only mods on the modpack (e.g., FTB Backups) won't conflict with the client. Client-only mods (JEI, JourneyMap) work in single-player too — they don't need to be on the server. If clients get "Mod mismatch" errors, version drift is the cause. Make sure everyone is on the same modpack build.

FAQ

Can I install a CurseForge modpack on a vanilla Minecraft server?+

No, you need the right mod loader (Forge, NeoForge or Fabric, depending on the pack). The vanilla Minecraft server jar can't load mods. Most panel hosts let you switch the server type in one click; otherwise, run the loader's installer in your server folder.

What's the difference between a server pack and a client pack?+

The client pack is what players install in their launcher — it includes UI mods (JEI, JourneyMap, Sodium) and resource packs. The server pack strips those out and adds server-side configs. They contain the same gameplay mods, so the world is identical, but the client pack will fail to start as a server (it depends on a graphics context that doesn't exist in headless mode).

How much RAM does a CurseForge modpack server need?+

It depends on mod count: 6 GB for light packs (50-100 mods), 8 GB for medium (100-200), 10-12 GB for kitchen-sink packs like ATM10 or Enigmatica 9, and 12-16 GB for very heavy packs like RLCraft 2. The modpack's CurseForge page usually states a recommended minimum.

Why does my modpack server fail with 'You need to agree to the EULA'?+

Mojang requires explicit acceptance of the Minecraft EULA before any server runs. Open eula.txt in the server folder, change eula=false to eula=true, save, and restart. This is one-time per server.

Do players need to install the modpack on their client?+

Yes — they need the matching version. Use the CurseForge App, Modrinth App or Prism Launcher to install it. Server-only mods (like FTB Backups) can differ from client-only mods (JEI, Sodium); only mods marked 'common' or 'both' need to match exactly.

Can I switch a Minecraft server's modpack without losing the world?+

Sometimes. If the new pack uses the same mod loader version and shares the major mods (same world generation, same biome mods), the world usually loads. But adding/removing world-generation mods (Biomes O' Plenty, Terralith) corrupts existing terrain at chunk borders. Always back up before swapping packs.

One-click modpack install

CoalHost auto-installs any CurseForge or Modrinth modpack — server pack download, loader install, RAM, EULA all handled. Pick a pack, click deploy, share the IP. From €6/month.

View Minecraft Hosting →