How to Host a Modded Minecraft Server (Forge & NeoForge Guide)
Modded Minecraft is where the game gets really good — and where hosting gets really unforgiving. A vanilla server shrugs off a bad setting; a 300-mod pack punishes it with ten-minute boot loops. This guide covers the setup that works in 2026.
Forge vs NeoForge (vs Fabric)
- NeoForge is the continuation of Forge’s ecosystem for modern Minecraft versions — for new packs on recent versions, it’s the default choice.
- Forge still matters for the classics: 1.12.2, 1.16.5, and 1.20.x packs.
- Fabric is the lightweight option — dominant for performance mods and many newer technical packs.
You don’t really choose the loader — the modpack chooses it for you. Check the pack’s page first, then match your server to it exactly.
How much RAM do you actually need?
| Pack size | Examples | Server RAM |
|---|---|---|
| Light (< 100 mods) | Vault Hunters lite kits, small custom packs | 4–6 GB |
| Medium (100–250 mods) | Better MC, Prominence | 6–10 GB |
| Heavy (250+ mods) | All The Mods 10, DawnCraft | 10–12 GB |
| Expert / kitchen-sink | GT: New Horizons, MC Eternal | 12–16 GB |
Two rules that save you money and pain:
- More RAM doesn’t fix lag caused by mods. Past a pack’s sweet spot, extra RAM makes garbage-collection pauses worse, not better.
- Start at the pack’s recommended server RAM, not the max. Scale up only if you see out-of-memory errors — with pooled hosting you can add RAM by the gigabyte instead of doubling a plan.
Setting it up
The old-school way: download the pack’s server files, upload them over SFTP, install Forge/NeoForge to match, point the launch args at the right Java version, and debug from there. Budget an evening.
The way we’ve built it at FadeHost: pick Forge, NeoForge, or Fabric and the version in the panel, and the server installs itself — correct loader, correct Java (yes, including Java 25 for the newest versions), Aikar’s optimized JVM flags already applied. Upload the pack’s mods folder and go.
Either way, three things must line up: pack version = loader version = Minecraft version. Ninety percent of “server won’t start” posts are a mismatch between those three.
The crashes everyone hits (and the fixes)
Boot loop with no clear error — a client-only mod snuck into the server’s mods folder. Delete anything with “shaders”, “sound physics”, or minimap in the name and try again; the pack’s wiki usually lists server-safe mod exclusions.
OutOfMemoryError during world generation — worldgen is the hungriest phase. Pre-generate your world with Chunky (add 1–2 GB RAM just for that first hour), then usage settles well below the peak.
TPS drops after a week — usually chunk-loaders or mob farms left running. Install Spark, run /spark profiler, and it’ll name the offending chunk. This isn’t a hosting problem; no amount of hardware outruns a quarry farm loading 400 chunks.
“Server requires a newer Java” — newer Minecraft versions are strict about Java (26.1+ requires Java 25). On a good host this is a dropdown, not an SSH session.
Costs, concretely
A comfortable medium-pack server (8 GB) runs about $7.60/month on FadeHost’s pool pricing ($2 server slot + 7×$0.80 extra RAM), backups and DDoS protection included. Heavy packs at 12 GB land around $10.80.
If you want to test a pack before committing, spin one up on the 2-day free trial — $0 today, install your pack, invite two friends, and see the TPS for yourself.