How to Set Up a Modded Minecraft Server: the Complete 2026 Guide
To set up a modded Minecraft server: pick a loader (NeoForge for new modpacks, Fabric for light servers), run the official server installer, agree to the EULA, give it enough RAM, drop mods into the
modsfolder, and open port 25565. Your friends must install the same loader and the same mods on their own game before they can join.
Pick a loader for your server first
Everything else in this guide follows from the loader you choose, because the server files, the mods, and your friends’ clients all have to match it. There are three real options in 2026.
| Loader | Best for your server | Minecraft versions | Server installer |
|---|---|---|---|
| NeoForge | New modpacks and content mods | 1.20.5 and up, including 26.3 | Official installer with “Install server” |
| Forge | Older packs that never moved to NeoForge | 1.20.1 and below | Official installer with “Install server” |
| Fabric | Light, fast servers and performance packs | 1.14 up to current | Installer “Server” tab, or the Fabric server launcher jar |
If you are starting a new server in 2026, the choice is between NeoForge and Fabric. Use NeoForge when your mods are NeoForge or Forge mods on 1.20.5 or newer, which includes Minecraft 26.3. Use Fabric when you want a lean server running mods like Lithium and FerriteCore, or when the modpack you like is a Fabric pack. Keep Forge only for old 1.20.1-era packs that never migrated. Our Forge vs Fabric vs NeoForge comparison goes deeper into which mods live where.
Grab the installer for your loader below. Both links are the direct files from the official Maven repos, and clicking either one starts the download immediately.
Minecraft 26.3 · NeoForge · v26.3.0.97 · Official download
Fabric · v1.1.2 · Official download
Install the server files
The steps below use NeoForge, which is the most common choice for a new modded server. The Fabric path is almost identical and is covered right after.
- Install Java 21. Minecraft 1.20.5 and everything newer, including 26.3, runs on Java 21. Older Java versions will not start a NeoForge 26.x server. Download it from Adoptium and run the installer.
- Run the NeoForge installer. Double-click the jar you downloaded above. In the installer window, choose “Install server”, not “Install client”. Point it at an empty folder, for example
C:\MC-Server. Click OK and wait for it to finish. - Set the RAM. Open the server folder and edit
user_jvm_args.txt. It contains-Xmx3Gby default. Change that to-Xmx4Gfor a light pack,-Xmx6Gfor a medium one. Save the file. - Run it once. Double-click
run.baton Windows orrun.shon Linux/Mac. The server starts, generates some files, then stops itself. This is normal. - Accept the EULA. Open the new
eula.txtfile in the server folder. Changeeula=falsetoeula=trueand save. Mojang requires this before any server runs. - Run it again. Double-click
run.bat/run.sha second time. The world generates and the server stays up. When you see “Done” in the console, your server is running.
On Fabric, the installer has a Server tab instead: pick your Minecraft version and loader version, choose the server folder, and install. You then start the server with the launcher jar it downloads, for example java -Xmx4G -jar fabric-server-mc.26.3-loader.0.17.3-launcher.11.0.14.jar nogui. Our step-by-step NeoForge install guide covers the client side in detail, which your friends will need next.
Put mods on the server
The installer created a mods folder inside your server folder. Mod installation is just copying files:
- Download the mod
.jarfiles you want from CurseForge or Modrinth. - Copy them into the server’s
modsfolder. - Restart the server. That is the whole process.
Three rules keep you out of trouble. First, every mod must match your loader and Minecraft version exactly: a NeoForge 26.3 mod will not load on a Fabric server, and a 1.21.1 mod will not load on 26.3. Second, some mods need dependencies (a library mod like Architectury), and the server log will name the missing one if you forget it. Third, and this is the one that breaks most first servers, not every mod belongs on the server:
| Mod type | Goes on the server? | Goes on the players’ clients? |
|---|---|---|
| Content mods (new mobs, blocks, dimensions) | Yes | Yes, same files |
| Server-side performance mods (Lithium, FerriteCore) | Yes | No, optional |
| Client-side mods (Sodium, minimap mods) | No, they can crash the server | Yes |
For anything that changes gameplay, the rule is simple: the client and the server must have the same mods. When a friend gets an “incompatible mods” error joining, the fix is almost always to copy your server’s exact mods folder contents to their client mods folder. If the server itself crashes on startup after adding a mod, work through our mod crash troubleshooting guide before removing anything at random.
Self-host or rent a server
Running the server on your own PC costs nothing, but your PC has to stay on and awake the whole time anyone wants to play, and your upload speed limits how many players can join smoothly. A paid host keeps the server online 24/7 and usually installs NeoForge or Fabric for you in one click.
| Self-hosted on your PC | Paid host | |
|---|---|---|
| Cost | Free | Roughly $5-12/month for 4 GB of RAM |
| Uptime | Only while your PC is on | Always on |
| Setup | Manual, as described above | One-click NeoForge/Fabric install on most panels |
| Best for | 2-8 friends, testing a pack | 10+ players, public servers, always-on worlds |
Reputable hosts with proper modded support include Shockbyte, Apex Minecraft Hosting, and BisectHosting. All three let you pick NeoForge or Fabric and a Minecraft version from the control panel instead of uploading installer jars by hand. Whichever route you take, keep your own backup of the world folder: download it from the host’s file manager or copy it from your PC regularly.
Let friends join: port forwarding
Players on your own Wi-Fi can join with your PC’s local IP. Players anywhere else need your public IP and an open port:
- Find
server-ip=inserver.propertiesand leave it blank. Findserver-port=25565; that is the default port. - Log in to your router (usually at 192.168.1.1 or 192.168.0.1) and find the port forwarding section.
- Forward TCP and UDP port 25565 to your PC’s local IP address.
- Give friends your public IP (search “what is my ip”) plus
:25565, for example203.0.113.42:25565.
Two warnings from experience. Some ISPs use carrier-grade NAT, which makes home port forwarding impossible; if the port shows as closed from outside no matter what you try, that is usually why, and a paid host or a tunneling service is the practical answer. And a public IP on the open internet attracts login bots within hours, so set a whitelist: whitelist=true in server.properties, then /whitelist add PlayerName in the console for each friend.
If you play on Bedrock
None of the above applies to Bedrock (phones, consoles, Windows Bedrock app). Bedrock has no Forge, Fabric, or NeoForge. The official option is the Bedrock Dedicated Server, a free download from minecraft.net: unzip it, run bedrock_server.exe on Windows or the Linux binary on Ubuntu, and it behaves like the Java server’s simpler cousin.
“Mods” on Bedrock are add-ons: behavior packs and resource packs (.mcpack files) that you install per world rather than through a loader. They can add mobs, blocks, and mechanics, but they cannot rewrite the game the way Java mods do. If you want a hosted Bedrock server with zero setup, Realms Plus is Mojang’s own paid option. Java and Bedrock players cannot join the same server in a basic setup like this one.
Fix the problems you will probably hit
The server stops right after the first run
You skipped the EULA step. Open eula.txt, set eula=true, and run the server again.
“You need to run the server with a different version of Java”
Your Java is too old. NeoForge for Minecraft 26.x needs Java 21. Install it from Adoptium and make sure java -version reports 21 before running run.bat.
“Failed to bind to port”
Something is already using port 25565: another server instance you forgot to close, or a different program. Close the extra instance, or change server-port in server.properties to something like 25566 and give friends the new port.
A friend gets “incompatible mods” when joining
Their client mods folder does not match the server’s exactly. Same loader, same Minecraft version, same mod files. Zip your server’s mods folder and send it to them; it removes all guesswork.
The server starts but behaves like vanilla
The mods folder is empty or in the wrong place, or you ran the client installer instead of “Install server”. Re-run the installer, choose “Install server” into the same folder, and check the mods folder has your jars in it.
Download server files from official sources only. NeoForge comes from neoforged.net and maven.neoforged.net, Fabric from fabricmc.net, the Bedrock server from minecraft.net, and Java from Adoptium. Never download a server jar or installer from a random mirror or a “free server files” site: repackaged jars are a classic way to spread malware and token stealers. Mods themselves come from CurseForge and Modrinth, never from repost sites.
FAQ
Can my friends join without installing any mods?
Only if every mod on the server is server-side (like performance mods). For any mod that adds blocks, mobs, or items, each player needs the same loader and the same mods on their client, or the game cannot render what the server sends.
How much RAM does a modded server need?
4 GB (-Xmx4G) handles a light pack for a few friends. Medium packs with 100+ mods want 6 GB, and big kitchen-sink packs want 8 GB. The server’s RAM setting lives in user_jvm_args.txt for NeoForge installs.
Can I turn my singleplayer world into the server world?
Yes. Copy the world folder from your client’s saves folder into the server folder, then set level-name in server.properties to that folder’s name (the default is world). Delete or rename the server’s generated world folder first so there is no conflict.
Does this work on a Mac?
Yes. Install Java 21 for macOS, run the installer jars the same way, and start the server with run.sh from the Terminal. Port forwarding works the same regardless of operating system.
Can console and mobile players join my modded server?
No. This guide builds a Java Edition server, and Bedrock clients (console, mobile, Windows Bedrock app) cannot connect to it. Bedrock players need a Bedrock Dedicated Server, covered in the Bedrock section above.
