How to Build Your Own Modpack and Run It on Your Server
Building your own modpack follows a fixed order: first the Minecraft version, then the modloader, then the two or three core mods your pack revolves around, and only after that the fun extras. That order is not a matter of taste, because every mod is built for exactly one version and one loader. In August 2026, 1.21 "Tricky Trials" is still the most played version on Dutch servers, and it needs Java 21. Most of the work is not in choosing mods, but in tracking down dependencies and in finding the one mod that breaks everything else.
Which Minecraft version and modloader do you pick first?
The version decides which mods exist at all. Go with 1.21 and you get the biggest mod library, along with Java 21. The yearly releases 26.1 "Tiny Takeover" (March 2026) and 26.2 "Chaos Cubed" (June 2026) run perfectly well, but mod authors are still catching up. And if you build on the 26.3 snapshots, with their new "dappled forest" biome, you will be rechecking your entire pack with every snapshot.
After that you choose the loader, and that choice is final: Fabric mods do not run on NeoForge, and the other way round.
| Loader | Strong at | Well-known pack |
|---|---|---|
| Fabric | Lightweight, quick to follow new versions, home of Sodium and Lithium | Fabulously Optimized (12+ million downloads) |
| NeoForge | Modernised Forge fork, leads on 1.20.2 and newer, big content packs | All the Mods 10 (1.21.1, 400 to 500-plus mods) |
| Forge | Older versions and the classics that stay on them | RLCraft (1.12.2, 27+ million downloads) |
| Quilt | Fabric fork, loads many Fabric mods, smaller ecosystem | Mainly home-built packs |
New to packs? Then start with what a modpack actually is and how you install one.
What are library mods, and how do you spot which one a mod needs?
Library mods, also called API or core mods, add nothing to the game by themselves. They hold shared code that other mods rely on: menu screens, configuration, networking. Fabric API is the best-known example; without it, barely a single Fabric mod will start. You find them on the mod's own page:
- On CurseForge they sit under Relations or Dependencies, split into Required and Optional. Only Required is compulsory.
- On Modrinth every version has a Dependencies tab with the same split.
- Grab the build for your Minecraft version and your loader. A library for 1.20.1 will not work on 1.21.
- Repeat the check for the library itself; some need a library of their own.
If it still goes wrong, read the crash log from top to bottom. A line such as Missing or unsupported mandatory dependencies names the missing mod along with its version. If you see NoSuchMethodError, you do have the library, but in the wrong version.
Which mods belong on the client only?
The most common mistake by far: copying the entire mods folder from your PC to the server. Mods that only touch visuals or controls will often crash the server on the spot.
| Type of mod | Examples | Where to install |
|---|---|---|
| Visuals and rendering | Shader support, Sodium, zoom keys | Client only |
| Maps and HUD | Minimaps, waypoints, status bars | Client only |
| Recipes and info | Recipe viewers such as JEI | Client only |
| Content | New blocks, items, mobs, dimensions | Client and server, exactly the same version |
| Server management | Backups, chunk pre-generation, entity cleanup | Server only |
| Performance | FerriteCore, Canary, ModernFix, Lithium | Depends on the mod, read the description |
It cuts both ways: if a content mod is on the server but not on the player's machine, that player cannot get in. So keep two lists from day one, a client list and a server list.
In what order do you build up the mod list?
Build in blocks and test as you go. Start with a bare server running nothing but the loader. Then add your core mods: the two or three mods that define what the pack is about, say a tech mod like Create or a creature mod like Cobblemon. Restart, play for ten minutes and check that the tick rate holds steady.
Only once that runs do you add the add-ons and integrations around them, then the quality-of-life mods, and the performance mods last. Never add more than five to ten mods at a time, and restart after every block. That way every crash tells you which block it came from.
Why do too many worldgen mods go wrong?
Mods that change world generation, meaning biomes, caves, structures and dimensions, all write into the same generation pass. Stack three or four of them and you get biomes crowding each other out, structures spawning inside one another, and chunks generating so slowly that your server stutters the moment someone flies into fresh territory. Remove one later and your world is left with holes in it.
Stick to one biome mod as your foundation plus at most one or two structure mods that support it, and settle that before your world is established: changing worldgen means a new world in practice. If it still stutters afterwards, the approach in our article on optimising your Minecraft server will help you work out what is really to blame.
How do you track down a conflict by halving your mods?
Two mods that clash rarely produce a tidy error message. Halving is the quickest route: with eighty mods you need roughly seven test rounds.
- Make a copy of your server and test in that, never in the world someone is building in.
- Read the log first. If a mod name sits at the top of the crash, you are already done.
- Move half your mods into a folder called
mods-off, but keep library mods together with the mods that need them. - Boot it up. Still crashing? The culprit is in the half you kept; no crash means it is in the half you moved out.
- Halve that half again and repeat until you are down to one or two mods.
- Confirm your conclusion: put only that mod back into a working pack.
Not every conflict strikes at startup. If it only hits when a world loads, note down which action triggers it and repeat exactly the same test every round.
Which performance mods are worth adding?
On NeoForge and Forge, FerriteCore, Canary and ModernFix are the standard picks; FerriteCore on its own cuts RAM usage by 30 to 40 percent. On Fabric, Lithium and its relatives handle game logic while Sodium handles rendering, although Sodium is purely client-side. Fabulously Optimized shows how far that gets you: well over 12 million downloads on Modrinth and not a single new block.
They do strip out overhead, but they are no substitute for memory or disk. All the Mods 10 asks for at least 10 GB of RAM, 12 GB for a small group and 14 to 16 GB with five players or more, and it loads in 2 to 3 minutes on an SSD against 10 minutes or more on a mechanical hard disk. If your own pack falls into that category, the same numbers apply. With Minecraft hosting at MC-Node the budget line is a flat EUR 1.10 per GB per month, so 8 GB works out at EUR 8.80, including an NVMe SSD and the Pterodactyl panel that gives you direct access to your mods folder.
How do you share your pack with your players?
Your pack is only finished when everyone runs exactly the same mod list. There are three routes.
- Modrinth: export an
.mrpackfile from the Modrinth App or Prism Launcher. It points to the mods rather than bundling copies of them, so players import it and are ready within a few minutes. The easiest route if you keep updating. - CurseForge: the biggest audience, with packs like All the Mods 10 and its 18 million-plus downloads. Publishing takes longer because your pack is reviewed and not every mod is automatically allowed to travel with it.
- A plain zip: the
modsfolder, theconfigfolder and a readme with the loader version, dropped in your Discord. Fine for five friends, painful at update time, because everyone has to empty their old folder themselves.
Give your pack a version number and keep a changelog: which mods went in, which came out, and whether the world carries over. Note which ones are optional, such as the minimap and the shaders. Do not forget the server side: the same list goes there, minus everything that is client-only. If the pack needs to run for more than just your friends, the basics of setting up a Minecraft server make a good second step.
Frequently asked questions
How many mods can I safely put in my own pack? There is no hard limit; what matters is what the mods do. All the Mods 10 runs 400 to 500-plus mods on at least 10 GB of RAM, while eighty mods without heavy worldgen get by on far less. Add them in blocks of five to ten and watch the tick rate and memory after every block.
Why does my server not start after I added a mod? Usually a library mod is missing, or a client-only mod ended up in the server's mods folder. Look for the line Missing or unsupported mandatory dependencies in the log and pull shaders, minimaps and recipe viewers off the server.
Can I mix Fabric and NeoForge mods? No. A mod is built for one specific loader and Minecraft version. Pick the loader where the mods you want actually live: NeoForge leads on 1.20.2 and newer with the big content packs, while Fabric is lightweight and the home of Sodium and Lithium.
Should I add performance mods if my pack is small? Usually yes, because they cost you nothing in gameplay. FerriteCore cuts RAM usage by 30 to 40 percent on NeoForge, and Canary and ModernFix clear up loading time and overhead. Add them as your final block.
What is the easiest way to update my pack for players? An .mrpack via Modrinth: players import the new version and the launcher does the rest. With a zip file everyone has to empty their old mods folder themselves, and there is always someone left behind with an old mod who can no longer connect.