Can I make a Minecraft server for free?

I enjoy playing Minecraft with my boyfriend and we usually just play LAN however we obviously can't do that when he goes away. I was wondering if there was a way for us to make a server for free, just for us to play in the way we would a LAN world. (We live in Australia if that makes any difference)

As long as your ISP allows personal, small-scale servers (check your ISP's AUP & ToS policies to minimize issues), you can run your own private server for free for the Java Edition. However, there's some prep work for this.

You can visit for more in-depth instructions.

1) Download the Minecraft Server software. -- Visit to download the latest edition (currently v1.12.2 at time of post… This will likely be updated to v1.13 in the near future as Mojang officially releases the new Aquatic Update). Please note that it'll be a Java file (.jar)

You will want to create a folder to store the server's JAR file & all the other files (& folders) it'll create on that first start up.

2) Double-click on the Server's JAR file to initialize the server -- The server software will run for a moment & create some files before it shuts itself down.

One of the critical files you'll see that's generated is the EULA.txt file. You will need to open it up & change "eula=false" to "eula=true" as an acknowledgement that you read & agreed to the contents of the EULA. Without this change, the server will automatically shut down shortly after starting up (since you didn't agree to the EULA).

3) Set up port-forwarding with your router -- This is required to host any online server on your network as your router needs to know which computer to route the game data to. You'll have to check your network information set this up. On Windows, you can pull up the command prompt (enter CMD after hitting the Windows key to pull this up). Afterward, you enter the command "ipconfig" to get a list of various network connection options (many will note as "Disconnected", but one will be connected) & there's two important items.

* Default Gateway -- This is the LOCAL IP address of your router.
* IPv4 Address -- This is the LOCAL IP address of your computer

To access your router settings, enter the router's IP address (typically 192.168.0.1 or 10.0.0.1) into your web browser & then enter the necessary login credentials (assuming they're were changed from the defaults. Otherwise, check the router itself for this info). Then select "Port Forwarding" (this may be considered an "Advance Setting"), Hit "add", then enter Port # 25565 (the default port for the server) & your local IP address as well as a server name (so you know what it's for) before saving.

IMPORTANT NOTE: Routers will assign LOCAL IP addresses automatically on a "First Come, First Serve" basis. Therefore, it's possible that your LOCAL IP address can change if your computer & other devices disconnect & later reconnects to the network in a different order.

You can have your router reserve a specific IP address for your computer (by it's Ethernet OR Wi-Fi card's MAC address) to reduce this issue. It's generally recommended to reserve an IP address that's further down the noted IP range to minimize issues. For example, if your router utilizes 10.0.0.1, you may want to use 10.0.0.100 or 10.0.0.200 for the reserved address to accommodate this (as it's unlikely you'll have 100 or 200 devices on your private network).

4) Configure your server -- This is done by opening up the server.properties file in Notepad OR your preferred text editor (like Notepad++) & adjust the settings for your server as desired. Items you'll likely want to modify would be…

* level-name=<WORLD NAME> -- This will name the server's world & create a folder for that world.

* motd=<PERSONAL MESSAGE> -- This will be listed underneath the server's (world's) name. Good to help provide info about the server. NOTE: Limited to 59 characters (best to keep it short)

Optional settings you may want to modify would be…

* level-seed=<DESIRED SEED> -- This will generate the server's world with a specific seed, similar to single-player mode.

* level-type=<DEFAULT / FLAT / LARGEBIOMES / AMPLIFIED / CUSTOM> -- This will set the type of world you to create for your server (again, similar to single-player mode)

* difficulty=<0-3> -- This sets difficult of the world. 0 = Peaceful, 1 = Easy (DEFAULT) , 2 = Medium, 3 = Hard

* gamemode =<0-3> -- This sets the default mode for the world. 0 = Survival (DEFAULT), 1 = Creative, 2 = Adventure (can use items, but not modify the world), 3 = Spectator (can't interact with the world)

* hardcore=<TRUE / FALSE> -- Engages Hardcode mode (Default is FALSE). If a player dies, they are automatically set to Spectator Mode (acting like a ghost, since they can't interact with the world)… Unless a server admin notes otherwise.

*pvp=<TRUE / FALSE> -- Allows "Player vs Player" damage. When disabled (Set to False), players can't hurt nor kill each other. Environmental Damage (from hazards or hostile mobs) still apply.

* max-world-size=<DESIRED RADIUS> -- This will set the "world border" to the desired radius, in blocks. This is recommended to help keep the world's file sizes to remain reasonable (& prevent an unruly player from traveling a far distance, causing the file sizes to get outrageously inflated). If you set it to a 5,000 block radius, the the world would be 10,000 x 10,000 blocks in area (from -5000, -5000 to 5000, 5000, as it's centered upon the world's origin point)

* max-players=<DESIRED PLAYERS> -- This will limit the number of players that can be on your server at one time, which is helpful if you want to keep it private. You may want to set it to like 5 to allow some controlled leadway here (with unplanned disconnections or whatnot), although you could lower it to 2 or 3 to keep things really private.

* white-list=TRUE -- This will require you to maintain a list of players who are permitted to connect to your server. You will need to enter the player's name into the whitelist.json file OR require you to use the "whitelist" command to make the necessary modifications.

One setting you may consider toggling would be…

* online-mode=FALSE -- This disables the Minecraft Account check (with Mojang's servers) & allows "hacked" or "unauthorized" users to join the server. This should ONLY be disable (set to FALSE) if there's issues with Mojang's servers (taking them offline for some reason). This will compromise any whitelist restrictions you have enabled, as anybody could use any username they wish (as there's no outside check to confirm this).

With this enabled (set to TRUE by default), your server will only allowed "authorized" Minecraft Accounts (those who actually purchased the game) to join. If you're running a whitelist, the Mojang servers will certify the player.

5) Launch the server, give your friend your IP address & enjoy! -- Just double-click the server JAR to start up the server. Then to join your server, you can use either you "localhost" as your server address if you're playing on the same system as the server OR use your Local IP address if you're playing on a different computer on your network.

If you're using a computer outside your network (like your friend), you will need to provide your "Public" IP address to your friend. You can find this by visiting OR by entering "What is my IP Address" in your Search Bar to obtain it. When your friend uses your Public IP address, your router will direct his connection (via the port forwarding you set up earlier) to your computer.

OPTIONAL: Setting up a Domain Name for your server -- If you're uncomfortable providing your IP address to others OR your ISP runs on a Dynamic IP assignment (which periodically changes), you can use a Dynamic Domain Name Service (DDNS) to get a domain name of your choice. Services like NO-IP ( http://www.noip.com ) can provide you a free domain name like "MyMinecraftServer.hopto.org" or whatever you prefer to use that you can link to your IP address.

You can do a search for "Free Dynamic DNS" to find alternatives to use. Just make sure you utilize their IP update tool to keep infomration update with your preferred provider & follow any restrictions they impose (some may require renewal every 30 days or so).

Hope this helps!

No, there isn't. You would need to host the server somewhere, and that means either paying for a server host or buying the equipment to do it yourselves.