How to make a free minecraft server with mods without losing your mind

How to make a free minecraft server with mods without losing your mind

You want to play Pixelmon or maybe some heavy industrial pack like GregTech with your friends, but you don't want to cough up fifteen bucks a month to a hosting company. I get it. The reality of learning how to make a free minecraft server with mods is that most "free" options are either incredibly laggy or they turn off the second you stop looking at them. It's frustrating. You spend three hours configuring a CurseForge profile only for the server to crash because it ran out of "free" RAM.

Here is the truth: you have two real paths. You either use a "freemium" hosting provider that handles the hardware but limits your control, or you use your own computer as the host. Both have massive pros and cons that most tutorials gloss over because they're trying to sell you a referral link.

The Aternos and Oracle Cloud reality check

Most people start with Aternos. It is the big name in the space for a reason. It is genuinely free. No credit card, no nonsense. However, if you are trying to run a modpack with 200+ mods, Aternos is going to struggle. They use shared resources. This means when the "server neighborhood" gets busy, your tick rate drops. You'll see the dreaded "Can't keep up!" message in the console constantly.

Then there is the "pro" free way: Oracle Cloud.

Oracle offers a "Always Free" tier that gives you up to 24GB of RAM on an ARM-based Ampere A1 Compute instance. That is insane. It's better than many paid hosts. But there is a catch. You need to know Linux. You have to be comfortable with SSH, IPTables, and punching holes in a virtual cloud network firewall. If the word "sudo" scares you, Oracle might not be the move, even if it is technically the most powerful way to run a modded environment for $0.

Setting up your own machine: The most powerful "free" option

If you have a decent gaming PC with at least 16GB of RAM, hosting the server yourself is actually the best way to handle how to make a free minecraft server with mods. You aren't competing with anyone else for CPU cycles.

First, you need the right Java version. This is where everyone messes up.

📖 Related: Why the Connections Hint December 1 Puzzle is Driving Everyone Crazy

  • For Minecraft 1.12.2 (the classic modding era), you need Java 8.
  • For 1.17, you need Java 16.
  • For 1.18 and 1.20+, you need Java 17 or 21.

If you try to run a 1.20.1 Forge server on Java 8, it won't even start. It’ll just spit out a "Class-version error" and die. Go to Adoptium and grab the LTS (Long Term Support) version of Java that matches your game version.

Picking your mod loader

You have to choose between Forge, Fabric, or Quilt. Forge is the old guard. It has the big, world-changing mods. Fabric is the new kid—it's lightweight, fast, and great for "Vanilla Plus" styles. You cannot mix them. If your favorite mod is for Fabric, your server must be Fabric.

Once you download the installer from the official Forge or Fabric sites, run the ".jar" file and select "Install Server." Pick a folder on your desktop. It’s going to download a bunch of libraries.

Now, the EULA. Minecraft won't run until you agree to the End User License Agreement. Open the eula.txt file that appeared in your folder and change eula=false to eula=true. It’s a legal thing. Save it.

The Port Forwarding Nightmare

This is the part where most people quit. If you want your friends to join from their houses, you have to tell your router to let them in. You need to access your router’s settings (usually 192.168.1.1 in your browser) and find "Port Forwarding."

Open port 25565 for both TCP and UDP. Point it to your local IP address (find this by typing ipconfig in your command prompt).

👉 See also: Why the Burger King Pokémon Poké Ball Recall Changed Everything

Warning: Don't give your public IP address to strangers. Only give it to friends you trust. Your public IP is basically your digital home address. If you're worried about security, use a tool like Playit.gg or Ngrok. These create a "tunnel" that lets people join your server without you having to touch your router settings or expose your home IP. It’s much safer and honestly way easier for beginners.

Managing the RAM (The 4GB Rule)

Modded Minecraft is a memory hog. If you give it too little, it crashes. If you give it too much, the "Garbage Collector" (Java’s way of cleaning up memory) will cause huge lag spikes every few seconds.

For a small group of 3 to 5 players on a standard modpack, 4GB to 6GB is the sweet spot.

You control this with a "start.bat" file. Create a new text document in your server folder and paste this:

java -Xmx4G -Xms4G -jar server.jar nogui
pause

The -Xmx4G tells the server it can use up to 4 gigabytes. Rename that text file to run.bat. Now, instead of double-clicking the jar file, you double-click this bat file. It opens a command window so you can see exactly what the server is doing.

✨ Don't miss: Why the 4th of July baseball Google Doodle 2019 is still the best game they’ve ever made

Mods on the server vs. Mods on the client

One major point of confusion when learning how to make a free minecraft server with mods is what goes where.

There are "Server-side" mods and "Client-side" mods.

  • Server-side: Things like new ores, biomes, or machines. Both the server and the players MUST have these installed.
  • Client-side: Things like mini-maps, performance boosters (Sodium/Optifine), or inventory organizers. These usually only need to be on the player's computer.

If you put a "Client-side only" mod (like a zoom mod) into the server's mods folder, the server might crash on startup. If you forget to give your friends the "Server-side" mods, they’ll get a "mismatched mod list" error and won't be able to connect.

The easiest fix? Build a custom modpack on the CurseForge App or Prism Launcher, export it as a .zip, and send it to your friends. They just import the zip, and everything matches perfectly.

Performance Tweaks you actually need

Don't just throw mods in and hope for the best. Modded servers are heavy.

  1. Pre-generate your world: Use a mod like Chunky. Lag happens when players fly into new territory and the server has to calculate new terrain, trees, and structures all at once. If you pre-generate a 5000x5000 area while nobody is playing, the server just has to load existing files. It’s a night-and-day difference.
  2. Use FerriteCore and Starlight: These mods optimize how Minecraft handles memory and lighting updates. They are essentially mandatory for modern modded play.
  3. Check your "View Distance": In the server.properties file, set view-distance to 6 or 8. Modern Minecraft defaults to 10, which is often too much for a free or home-hosted modded server.

Actionable Next Steps

To get your server up and running right now, follow this specific sequence:

  • Download the "Server Installer" for your specific version of Forge or Fabric. Do not just download the standard mod loader.
  • Run the installer into a dedicated folder, accept the EULA, and run it once to generate the mods folder.
  • Install Playit.gg if you want to skip the headache of router port forwarding. It provides a simple .exe that gives you a joinable address like funny-potato.playit.gg.
  • Sync your mod folders. Copy every mod from your local %appdata%/.minecraft/mods folder into the server’s mods folder, but delete any "client-only" mods like Iris Shaders or Controlling from the server side.
  • Test the connection. Join using the IP localhost to make sure the server works, then have a friend try the public address.

If the server won't start, look at the logs/latest.log file. Scroll to the bottom. It will usually tell you exactly which mod is missing a dependency or which Java version is causing the conflict. Expert hosting isn't about never having errors; it's about getting used to reading the logs when things inevitably break.