Skip to content

How do I start a Minecraft server with friends for free?

Hey friend! Have you and your buddies been looking for a way to play Minecraft together privately, without needing Realms or joining chaotic public servers? Well you‘re in luck – starting your own free Minecraft server is totally doable!

In this guide, I‘ll walk you through step-by-step how to setup a Minecraft server for you and your friends to play on for free. I‘ll also share some pro tips I‘ve learned from running servers for over 5 years to help optimize performance, deal with issues, and enhance the experience.

Let‘s get started!

An Introduction to Minecraft Servers

For anyone new to Minecraft multiplayer, here‘s a quick overview of how it works:

  • Minecraft servers are separate programs that create a persistent world and multiplayer functionality.

  • Players connect to the server with Minecraft on their computers or devices.

  • The server computer needs to be on and accessible for others to connect.

  • You can play together and progress is saved on the server.

So by hosting your own server, you create a world that you and your friends can keep coming back to while the server is online.

Why Host Your Own Server?

Here are some of the key benefits of making your own Minecraft server versus just using Realms or a public server:

  • It‘s free – You can host a server at no cost using your own computer. No monthly fees required!

  • You have control – You get to set the rules, install mods, and configure gameplay exactly how you want.

  • Private world – It‘s just you and your friends playing together. No more random people messing with your stuff!

  • Learn new skills – Hosting your own server teaches valuable skills like networking, administration, file management, and more!

Of course, running your own server also takes effort and comes with responsibility. But the perks often make it worthwhile.

Server Requirements to Know

Before we get to the steps, here are some requirements and recommendations to be aware of:

  • A computer to act as the host – This can be your own PC, an old laptop, or a dedicated server if you have access to one.

  • At least 3 Mbps upload speed – Faster is better! Upload speed allows more players to connect smoothly.

  • Port forwarding enabled on router – This opens the 25565 port so people can connect outside your home network.

  • At least 4GB of RAM – Memory allows the server to cache world data and handle more players efficiently.

  • Decent CPU – A modern multi-core processor helps spread the load with many players exploring.

As long as you can meet those prerequisites, you should be able to host a smooth Minecraft server for you and your buddies!

Step 1: Download the Minecraft Server JAR

The first step is to download the actual Minecraft server software from Mojang‘s website.

Head to and look for the server JAR that matches your Minecraft version. It will likely be called something like server.1.19.3.jar.

Save the JAR file somewhere easy to access on your computer like your desktop or downloads folder. This single file contains everything needed to boot up a Vanilla Minecraft server.

Later if you upgrade to a new Minecraft version, you would just download an updated server JAR file.

Step 2: Setup Your Server Folder

Next, create a new folder somewhere on your computer that will contain all the server files. I like to make mine right on the desktop for easy access.

You can name the folder anything you want. mcserver is simple but gets the point across!

Move the Minecraft server JAR you downloaded into this new folder.

Then create a text file called eula.txt and open it in any plain text editor.

Copy this line into eula.txt:


Save and close eula.txt. This eula file just indicates your agreement to Mojang‘s End User License Agreement.

At this point, your server folder should contain just the JAR and eula text file.

Step 3: Launch the Server for the First Time

Now it‘s time to actually launch the server for the very first time!

Open up a command prompt or terminal window on your computer, and navigate it to inside your server folder.

Type this command to launch the server:

java -Xmx1024M -Xms1024M -jar server.1.19.3.jar nogui

Let‘s quickly break this down:

  • java launches it as a Java program

  • -Xmx1024M -Xms1024M allocates 1GB of RAM (you can set higher)

  • server.1.19.3.jar should match your actual JAR file name

  • nogui prevents it from opening a pointless window

Press Enter and your Minecraft server will boot up for the very first time! This first startup takes a little while as the main world and settings are initialized.

Once it finishes loading, you‘ll see a final message like:

Done (30s)! For help, type "help"

To safely stop the server for now, type stop and hit Enter.

Step 4: Accept EULA and Configure Server Properties

We‘re almost ready to start playing, but a couple quick config tweaks first.

Open the eula.txt file in your server folder again. Change eula=false to eula=true to accept Mojang‘s EULA.

Next, open the file. This contains all the core settings for controlling your server.

Find and edit these properties at minimum:

  • server-port – Change from default 25565 (standard port for Minecraft servers)

  • server-ip – Set to your server computer‘s local IP address

  • enable-rcon – Set to true to enable remote console access via RCON protocol

  • rcon.password – Choose a strong password to use when remotely controlling the server console

There are tons of other settings you can tweak later – but this will get you started!

Step 5: Optimize with More RAM and a Batch File

To help your server run smoothly, it‘s smart to allocate as much RAM as you can afford to Minecraft.

Create a new start.bat file in your server folder and paste this:

@echo off  
java -Xmx4096M -Xms4096M -jar server.1.19.3.jar nogui

This will assign 4GB of RAM to the server when launched. But feel free to tweak this number depending on your system!

Save start.bat and use it to launch your server going forward by double clicking it. So much easier than typing the java command each time!

Pro tip: launch the JAR via start.bat, NOT by double clicking it.

Step 6: Port Forward on Your Router

One very important step is to configure port forwarding on your router. This opens the 25565 port allowing external connections to your Minecraft server.

Log into your router‘s admin page and look for port forwarding or gaming sections. Forward port 25565 TCP and UDP to the local IP address of your server computer.

With port forwarding setup correctly, your friends can join using your public IP address, instead of needing to be on your WiFi.

You can find your public IP by Googling "what is my IP". Share this with friends so they can connect.

Step 7: Join Your Server and Start Playing!

You did it! Your very own Minecraft server is now ready for you and your friends to start playing on!

Have everyone add your server to their Minecraft client with your public IP as the address, like so:

Connect to server image

Once connected, you‘re ready to play together and start building. Feel free to experiment with server commands too like:

  • /gamemode creative – Switch to creative mode
  • /op <player> – Make a player an admin
  • /ban <player> – Ban or kick troublesome players
  • /seed – View world seed
  • /gamerule – Change game rules

The server will persistently run and save all progress as long as the computer hosting it stays on. Have fun!

Optimizing Performance for the Best Experience

Now that your server is up and running smoothly, let‘s go over some tips to optimize performance.

  • Update the server JAR frequently – As new Minecraft versions release, update the JAR to match. Announce restarts.

  • Make regular backups – World data can become corrupted. Back up the world folder occasionally to somewhere safe.

  • Install plugins and mods – Want anti-griefing or minigames? Install server plugins! Just make sure client mods match.

  • Monitor computer resources – Keep an eye on RAM, CPU, and disk usage. If consistently high, lower view-distance or upgrade the server computer.

  • Reboot weekly – Regularly rebooting your hosting computer clears out issues like memory leaks.

  • Watch connection quality – Ensure players have low ping and minimal lag/packet loss.

With good admin habits, you can optimize server performance for an awesome play experience.

Dealing with Misbehaving Players

On a small private server with friends, you hopefully won‘t have to deal with griefers destroying stuff or intentionally causing chaos. But immature behavior can still happen. Here‘s how to handle it smoothly:

  • Establish clear rules – Write down rules in a rules.txt file that all players must follow. Update as needed.

  • Use anti-griefing plugins – Helpful plugins like CoreProtect log all activity and let you rollback damage.

  • Make frequent backups – Even with protections, backups allow restoring chunks if needed.

  • Ban only when necessary – Banning or kicking should be a last resort for toxic players. Explain reasons.

Having explicit rules and the right tools helps minimize headaches from troublesome players on an otherwise friendly server.

Scaling Up Your Server for More Players

A basic computer may eventually choke once your playercount grows beyond 5-10 regular players. You‘ll likely notice rubberbanding, lag, and constant 100% CPU/RAM usage.

When this happens, it‘s time to start upgrading your server hardware for better performance. Here are some potential upgrades to look at:

More CPU coresA modern multi-core processor helps spread load across cores. Go for at least 4 cores.
Faster CPU speedAim for at least 3.0+ GHz boost speed to help the main server thread.
More RAMAdd up to 16-32GB RAM to cache a larger world efficiently.
SSD storageFast solid state storage improves chunk loading times. Use at least 500GB+.
Better internet uploadUp to 100 Mbps or even gigabit upload allows more concurrent players.

At some point, you may outgrow what‘s possible with home computer hardware. When you need to support 30+ players concurrently, renting a hosted Minecraft server may become the better option.

Exploring Free Minecraft Server Hosting Options

Running your own Minecraft server on a home computer has major perks like total control and customization. But it also takes effort and responsibility to manage.

If you decide self-hosting no longer makes sense as your needs grow, there are a few free server hosting providers to check out:

AternosAternos offers completely free Minecraft server hosting. You just have to contend with limited resources and daily usage limits before the server sleeps. But hey, you can‘t beat free!
MinehutAnother popular choice, Minehut provides free servers that do sleep after 90 minutes of inactivity. You also get 500MB of storage and plugin support. Decent starter option!
Oracle Cloud Free TierOracle Cloud gives always-free, basic cloud server resources. But you‘d have to setup and manage everything yourself.
Hostinger free trialMany paid hosts like Hostinger offer temporary free trials for a week or two. These trials provide full access to more robust hosting resources.

The tradeoff of third-party hosts is less control versus handling the obligations of self-hosting. But if you‘ve reached your server admin limit, free hosts are worth looking into!

Closing Thoughts

And there you have it – everything you need to know to create your own Minecraft server for playing with friends privately and for free!

The major steps we covered include:

  • Downloading the server JAR and setting up folders
  • Configuring server settings
  • Opening port 25565 for external connections
  • Optimizing performance and dealing with issues
  • Scaling up server hardware as needed
  • Exploring free remote server hosting options

While it takes some effort up front, having your own Minecraft server pays off through complete control over your experience with friends. No more public chaos!

Hopefully this guide gives you a friendly, but detailed overview of the entire process. I wish you the best of luck getting your own Minecraft server running smoothly. Game on!



Michael Reddy is a tech enthusiast, entertainment buff, and avid traveler who loves exploring Linux and sharing unique insights with readers.