How to Make a Modded Minecraft Server
Updated July 28, 2026
To make a modded Minecraft server, install the Java version your game version requires, download your modpack’s server files (the “server pack” on CurseForge, or via the FTB app) or the server installer for Forge, NeoForge or Fabric, accept the eula.txt file, then run the start script with a sensible RAM allocation. All that remains is making the server reachable — forwarding port 25565 at home or renting a host — and your players join with the exact same modpack installed on their client.
None of this is rocket science, but the road is lined with classic mistakes: confusing plugin servers with mod servers, downloading the client pack instead of the server pack, launching a 1.20.1 pack on the wrong Java, or allocating RAM by guesswork. This guide walks through every step in order, from picking the loader to the first anti-lag settings, whether you host at home or rent a machine.
Pick your loader: Forge, NeoForge or Fabric — not Paper
First decision, and first trap: a modded server is not built on Paper or Spigot. Those servers load plugins (economy, land protection, minigames), which live only on the server; they cannot load Forge, NeoForge or Fabric mods, which add content to the game and must be present on both the server and every player’s client. For mods you need the matching loader: Forge for the huge historical catalog (1.7.10, 1.12.2, 1.16.5, 1.20.1…), NeoForge for most big recent packs (1.20.1 onward, including All The Mods 10), Fabric for lightweight and technical packs. In practice you rarely get to choose: the modpack dictates its loader and game version.
Hybrid servers exist — Mohist, Arclight and a few others — that try to run Forge/NeoForge mods and Bukkit plugins side by side. Tempting on paper, fragile by nature: compatibility is case by case, protection plugins behave unreliably around modded blocks, and most mod and plugin developers refuse support the moment a hybrid is involved. Mohist has additionally been criticized for redistributing modified copies of plugins. If you are starting out, stick to the pack’s pure loader; modded alternatives to plugins (FTB Chunks for claims, LuckPerms which ships as a mod…) cover most needs.
Installing a modpack server pack, step by step
Nearly every major modpack ships a “server pack”: a ready-to-run archive containing the loader, the server-side mods and the configs. This is the way to go — assembling a server mod by mod is slow and error-prone. On CurseForge, the server pack lives on the modpack’s page under the Files tab: each pack version offers its server files as a separate download (do not grab the main file, that is the client pack). FTB packs offer the equivalent through their own app, which can install a server instance directly.
- 1
Install the right Java version
Check the pack’s Minecraft version and install the matching Java — Java 8 up to 1.16.5, Java 17 for 1.18 through 1.20.4, Java 21 for 1.20.5 through 1.21.x, Java 25 from Minecraft 26.1 onward. Adoptium’s Temurin builds are free and dependable.
- 2
Download the server pack
On the modpack’s CurseForge page, open the Files tab, find the version your players will install and download its server files (“server pack” or “Download Server Files”) — not the client pack.
- 3
Extract the archive into a dedicated folder
Unzip into an empty folder, for example my-server/. You should see the loader jar, a mods/ folder, a config/ folder and usually a start script (start.bat, start.sh or run.bat).
- 4
Accept the EULA
Run the script once: the server stops after creating eula.txt. Open that file, change eula=false to eula=true and save — this is you accepting Mojang’s terms of use.
- 5
Set the RAM allocation
Open the start script (or user_jvm_args.txt on recent Forge/NeoForge packs) and set -Xms and -Xmx to the same value: 4 to 6 GB for a light pack, 8 to 10 GB for a big kitchen sink like All The Mods.
- 6
First boot and local test
Run the script again and let the first boot finish — several minutes on a big pack while the world generates. Once the console prints “Done”, connect from your modded client using the address localhost to confirm everything works.
Base configuration: server.properties, whitelist, operators
The server.properties file, created on first launch, holds the essential settings. The most useful early on: motd (the description shown in the server list), max-players, difficulty, view-distance and simulation-distance (more below), online-mode (leave it true — it verifies Mojang accounts, and turning it off invites impersonation), and white-list. Every change needs a restart — /reload covers some settings, but a restart is safer.
Turn the whitelist on from night one if the server is private: white-list=true in server.properties, then /whitelist add PlayerName for each player. Grant yourself admin rights with /op YourName from the console. Finally, get into the habit of backing up the world folder (world/) regularly: on a modded server, chunk corruption after a crash is nothing exotic, and yesterday’s backup beats a lost map.
Self-hosting or renting: two schools
Hosting at home costs nothing and works fine for playing with friends: you need a machine with enough RAM (the server runs on top of your client if you play on the same PC), and above all the port must be reachable. Concretely: give the machine a fixed local IP, then create a rule in your router forwarding TCP port 25565 to that IP — the famous port forwarding. Players then connect through your public IP. The limits are well known: your upload speed is the server’s bandwidth, the machine has to stay on, and your public IP is exposed (and often changes — a dynamic DNS service helps).
Renting from a host solves all three problems: a machine that never sleeps, proper connectivity, a stable address, automated backups and a management panel. Roughly speaking, expect a few dollars per month per 4 GB of RAM, keeping in mind that a serious modded server starts at 6-8 GB. Two criteria matter more than price: CPU clock speed (Minecraft remains largely single-threaded, so a recent high-frequency CPU beats sixteen slow cores) and the freedom to install your own files — check that the plan accepts uploading a full server pack and choosing the Java version, not just a menu of preinstalled packs.
First anti-lag settings
Before any miracle mod, two lines in server.properties do most of the work: view-distance (how far chunks are sent to clients) and simulation-distance (how far the world actually lives: crops, machines, mobs). On a modded server, view-distance=8 and simulation-distance=6 are a solid starting point — modern packs generate gorgeous but expensive terrain, and there is no reason to simulate it twenty chunks out.
Next, add the server-side performance mods that fit your loader, and install spark from day one: this profiler (Forge, NeoForge, Fabric) will tell you precisely which mod, machine or farm is dragging your TPS down instead of leaving you guessing. /spark tps gives the server’s health at a glance; /spark profiler runs a detailed analysis. Finally, schedule a daily restart: plenty of packs leak a little memory over time, and a 6 AM restart costs far less than a 9 PM crash.
Mods & Tools Mentioned
- Forge downloads ↗ — The official Forge installer site, from 1.1 up to Minecraft 26.x.
- NeoForge ↗ — Official site of the NeoForged project: installers and loader news.
- Fabric server ↗ — The official page for setting up a Fabric server.
- server.properties reference ↗ — Every key in the file explained, defaults included.
- Adoptium (Eclipse Temurin) ↗ — Free, certified OpenJDK builds: Java 8, 17, 21 and 25 for your servers.
- spark ↗ — The performance profiler to install on day one.
Frequently Asked Questions
› Can I use Paper or Spigot for a modded server?
No. Paper and Spigot load plugins, not mods: they cannot run Forge, NeoForge or Fabric. For a modpack, install the loader it requires. Hybrids like Mohist or Arclight mix both worlds, at the cost of shaky stability and near-zero support from developers.
› How much RAM does a modded server need?
Plan on 4 to 6 GB for a light pack and a handful of players, 8 to 10 GB for a big kitchen sink like All The Mods 10, a bit more past twenty players. Over-allocating backfires: garbage collector pauses grow with heap size.
› Do my players need to install anything?
Yes: the exact same modpack as the server, on the exact same version, through the CurseForge or FTB launcher. A vanilla client or a mismatched pack version is refused at connection. Pin the exact pack version in your Discord.
› Which Java version does my server need?
Whichever the pack’s Minecraft version requires: Java 8 up to 1.16.5, Java 16 for 1.17, Java 17 for 1.18 through 1.20.4, Java 21 for 1.20.5 through 1.21.x, and Java 25 from Minecraft 26.1. Too new is as fatal as too old: Forge 1.12.2, for instance, demands Java 8.
› Can I run a modded server for free?
Yes, by hosting it yourself on a machine that stays on — the server software, loaders and server packs are all free. Commercial free hosting tiers, on the other hand, are almost always too limited in RAM and CPU for a modpack; fine for a quick test, rarely for the long run.
› Can Bedrock players join my modded server?
No. Forge, NeoForge and Fabric mods only exist on Minecraft Java Edition, and modded content must be installed client-side. Bridges like Geyser, built for plugin servers, cannot transmit mod content.
Read Next
Ready to play? Find an active server in the rankings.
See the rankings