How to Create a Modded Minecraft Server: A Complete Setup Guide
Running a modded Minecraft server gives you and your friends access to entirely new gameplay systems — custom dimensions, new mobs, machinery, magic, and mechanics that the base game never shipped with. But setting one up involves more moving parts than a standard vanilla server, and the right approach depends heavily on how you want to play and what your hardware can handle.
What Makes a Modded Server Different
A vanilla Minecraft server runs Mojang's base game. A modded server runs a modified version of that game using a mod loader — software that sits between Minecraft and the mods themselves, allowing third-party code to run.
The two dominant mod loaders are Forge and Fabric. Forge has been the standard for over a decade and supports the largest library of mods, including major packs like Feed the Beast and All the Mods. Fabric is newer, lighter, and faster, but its mod ecosystem is smaller and not all mods are cross-compatible. You can't mix Forge and Fabric mods on the same server — you pick one and build around it.
Everyone connecting to your server needs to run the exact same mod loader version and mod list on their client. This is a hard requirement, not a suggestion.
Step 1: Choose Your Minecraft and Mod Loader Version
Before downloading anything, decide:
- Which Minecraft version you're targeting (e.g., 1.20.1, 1.19.2)
- Which mod loader — Forge or Fabric
- Which mods you want, and whether they're all available for that version
Mods are version-specific. A mod written for 1.19.2 Forge will not run on 1.20.1 Forge. Locking in your version first saves significant troubleshooting later.
Step 2: Install Java
Minecraft servers run on Java. The version of Java you need depends on the Minecraft version:
| Minecraft Version | Required Java Version |
|---|---|
| 1.17 and earlier | Java 8 or 11 |
| 1.18–1.20 | Java 17 |
| 1.21+ | Java 21 |
Download the correct version from a trusted source like Adoptium (Eclipse Temurin). Installing the wrong Java version is one of the most common causes of servers failing to launch.
Step 3: Download and Install the Mod Loader Server Files
For Forge:
- Go to the official Forge downloads site and select your Minecraft version
- Download the installer (not the universal jar)
- Run the installer with
java -jar forge-installer.jar --installServer - This creates the server files in your chosen directory
For Fabric:
- Download the Fabric server launcher from fabricmc.net
- Run it once to generate the necessary files
- It will automatically pull the correct Fabric loader version
Both processes generate a server.jar (or equivalent) that you'll use to launch the server.
Step 4: Add Your Mods 🧩
Once the server files are in place, you'll find a mods folder in your server directory. Drop your .jar mod files directly into this folder.
A few things to know:
- Dependencies matter. Many mods require library mods (like JEI, Patchouli, or Cloth Config) to function. Check each mod's page for listed dependencies.
- Server-side vs. client-side mods. Some mods only need to be on the server. Others need to be on both server and client. A small number are client-only and won't do anything on a server. Mod documentation usually specifies this.
- Modpacks are pre-assembled collections that handle version matching for you. Launchers like CurseForge and Modrinth let you export a modpack and import it directly as a server instance — significantly simplifying this step.
Step 5: Configure and Launch the Server
Before your first launch, accept the EULA by opening eula.txt and changing eula=false to eula=true.
Launch the server using a startup script. A basic command looks like:
java -Xmx4G -Xms2G -jar server.jar nogui The -Xmx and -Xms flags control maximum and minimum RAM allocated. This is one of the most important variables in modded server performance.
Modded servers are significantly more memory-hungry than vanilla:
| Server Type | Minimum RAM | Recommended RAM |
|---|---|---|
| Vanilla (small group) | 1–2 GB | 2–4 GB |
| Lightly modded | 3–4 GB | 4–6 GB |
| Large modpack (50+ mods) | 6–8 GB | 8–12 GB+ |
These are general benchmarks. Actual usage varies based on mod complexity, player count, and world size.
Step 6: Port Forwarding or Hosting 🌐
For friends outside your local network to connect, you'll need to either:
- Port forward your router to expose port
25565(Minecraft's default) — this works but exposes your home IP - Use a VPN tunnel service like Playit.gg or ngrok to avoid direct port exposure
- Rent a dedicated Minecraft host (providers like Apex, BisectHosting, or Shockbyte support modded servers and handle infrastructure for you)
Hosting locally on your own machine is free but ties up your hardware and internet bandwidth whenever the server runs. Rented hosting costs money but runs 24/7 independently of your PC.
The Variables That Shape Your Experience
Getting a modded server running is only part of the picture. How well it runs — and how smooth the experience feels — depends on several intersecting factors:
- Your hardware specs: CPU clock speed matters more than core count for Minecraft; RAM quantity determines how many mods and chunks can be loaded simultaneously
- Number of players: More players mean more active chunks, more entities, and higher server tick load
- Modpack complexity: A 200-mod tech-and-magic pack stresses a server far more than 10 quality-of-life mods
- World type and size: Modded world generation (like those added by Terralith or Oh The Biomes You'll Go) increases generation load
- Your network: Upload speed and latency affect how stable the connection feels for remote players
A setup that runs smoothly for two players on a modern desktop with 16 GB of RAM may be unplayable for eight players on older hardware — or perfectly fine on a rented server with the same mod list.
What that balance looks like for your situation depends on the specs you're working with and the experience you're trying to build.