How to make a modded Minecraft server (step by step)
How to make a modded Minecraft server your friends can join any time: use the pack's server pack or install NeoForge, remove client-only mods, then host.
· 5 min readThe short answer
To make a modded Minecraft server, download the modpack's server pack from its CurseForge or Modrinth page, or install the same NeoForge version with the server installer and copy in the pack's mods and configs. Remove client-only mods, accept the EULA, set the server's memory, then open port 25565 or rent a host.
Your group has a modpack it loves, but the world only exists while one person is playing. A server fixes that: it keeps the world running so anyone can hop on at any time. You don't need to be a sysadmin to make one. You need the right files, a few minutes with a text editor, and somewhere for it to run.
Start with a server pack, if there is one
Many modpacks publish a ready-made server pack: the pack's mods and settings, already set up for a server, with client-only mods taken out. It's the easiest route by far.
- CurseForge: open the modpack's page, go to its Files tab and look for server files attached to the version you play. Pack authors upload them as an extra file alongside each release.
- Modrinth: check the pack's description and versions for a server download. Not every pack has one.
The server pack has to match the version your friends play, exactly. Most come with their own start script and a short readme: follow it, then skip to let the server use enough memory. No server pack? Build one yourself.
Make your own server with NeoForge
These steps are for NeoForge on Minecraft 1.21.1, which is what most current modpacks use.
- Install Java 21. Minecraft 1.20.5 and newer need Java 21. Check with
java -versionin a terminal. - Make an empty folder for the server, somewhere with plenty of space.
- Download the NeoForge installer for the same NeoForge version as your pack. You'll find it in your launcher's profile settings.
- Run the installer in server mode from inside that folder:
java -jar neoforge-<version>-installer.jar --installServer. This creates arun.bat(Windows) andrun.sh(Mac and Linux). - Start it once with
run.bator./run.sh. It stops by itself on the first run. - Accept the EULA. Open
eula.txtand changeeula=falsetoeula=true. That means you agree to Minecraft's licence. - Copy in the pack. From your own game folder for the pack, copy
mods,configand any other folders the pack ships (such askubejsordefaultconfigs) into the server folder. - Remove client-only mods (see the next section), then start the server again.
Take out client-only mods
Some mods only make sense on a player's screen: minimaps, shader loaders, menu and HUD tweaks, sound and zoom mods. They use parts of the game a server doesn't have, so a server with them installed often crashes while starting.
- On Modrinth, each mod's page says whether it runs on the client, the server or both.
- If the server crashes, the crash report usually names the mod. Remove it from the server only. Players keep it.
- Never remove a mod that adds blocks, items or mobs. Those must be on both sides, or players get turned away with a mismatched mod channel list.
Let the server use enough memory
Open user_jvm_args.txt in the server folder. It's where NeoForge reads the server's memory setting. Add a line such as -Xmx6G to give it 6 GB. A server needs more memory as the pack grows and more players explore at once. Our guide to how much RAM a modpack needs has numbers to start from.
Let your friends in
If the server runs on your own computer, friends on your home Wi-Fi can join with your computer's local address. Friends elsewhere need a way in from the internet:
- Allow Minecraft's port, 25565, through your computer's firewall.
- Set up port forwarding for 25565 on your router, pointing to the computer running the server.
- Friends add your public IP address in Multiplayer → Add Server.
Port forwarding works, but it shows your home connection to the whole internet, and bots scan for open Minecraft servers. Keep it safe:
- Turn on the whitelist (
/whitelist on, then/whitelist add <name>) so only your friends can join. - Keep
online-mode=trueinserver.properties, so players must have real accounts. The whitelist relies on it. - Close the port when you stop hosting.
Or rent a host
If you don't want your computer on all day, or can't change your router, rent a server from a hosting company. You upload the same files and the world stays up when you log off. Look for one that lets you:
- pick NeoForge and the exact version your pack uses;
- upload your own mods and configs, or install your pack's server pack;
- choose enough memory for your pack;
- take backups of the world.
How Packspire helps
On paid plans, Packspire makes a server pack from the same mod list as the player pack, minus client-only mods, so the two can't drift apart. During the build, the real game client joins a server running the pack, so problems with joining show up before anyone downloads it. And the pack page says how much memory players and the server need.
Plan a pack for your server, or see how to play modded Minecraft with friends for the other ways to play together.
Frequently asked questions
How do I make a CurseForge server?
Open the modpack's page on CurseForge and check the Files tab for server files for your version. If there aren't any, install the same NeoForge version with --installServer, copy in the pack's mods and config folders, and remove client-only mods.
Is it free to host a modded Minecraft server?
Hosting on your own computer is free, but the world is only up while that computer is on, and friends outside your home need port forwarding. Rented servers cost money but stay online.
Why does my modded server crash on startup?
Most often it's a client-only mod, like a minimap or shader loader, in the server's mods folder. The crash report usually names it. Also check that you're using Java 21 and the pack's exact NeoForge version.
Do my friends need the same mods as the server?
Yes, for every mod that adds content. Everyone should install exactly the pack version the server runs, or the server turns them away.
Sources
- NeoForge user guide: installing a server, for the installer, run scripts,
eula.txt,user_jvm_args.txtand port 25565 - NeoForge user guide: Java, for which Java version each Minecraft version needs
- Minecraft Wiki: setting up a Java Edition server, for the default port, whitelist, online mode and closing ports
- CurseForge: server packs tutorial, on how pack authors attach server files to a release
- Modrinth modpack format, on mods marked client-only
