If you’ve played Minecraft, then it’s easy to see how much fun it can be. Running your own server lets you bring all of your friends into the same game, and you can play with rules you get to make or break. It’s the ultimate in an already addictive game!
We’ve already shown you How To Get Started with Minecraft, a Game Geeks Love. What’s better than single player? Multiplayer, of course! You can join one of hundreds of servers at minecraftservers.net to get started, or search around for more exclusive ones, but ultimately you’re bound by their rules and discretion. Running your own server lets you and your friends can play together with your own set of rules, and it’s really easy to do.
What Do You Need to Run a Minecraft Server?
A basic, un-modded Minecraft server can be run on any modern PC, and probably even the old computer that has been sitting in your closet diligently collecting dust. If you don’t ask too much of it, you can even run a Minecraft Server on a Raspberry Pi. At a minimum you’ll want:
If you plan on running a modded server or hosting a server that will have numerous players, you’ll need a beefier system.
- 10+ GB of free RAM
- A hexacore CPU that can run at 4 GHz or higher
- 50 GB of SSD storage space for short-term backups, and as much extra as possible for long-term backups
- A modern Java Installation
The more players you add, the more your CPU, RAM, and storage demands will grow. RAM requirements tend to grow the fastest with additional players — large servers can readily utilize more than 20 GB of RAM.
The CPU demands don’t quite scale so nicely. Minecraft has had limited support for multiprocessing while now, but it still can’t take advantage of all the cores (eight or more) you find on mid-range CPUs in 2023.
If you’re building a computer to run a dedicated Minecraft server, remember: CPU speed is more important than having a million cores. Octa-core CPUs are just fine for Minecraft. Only get more if you plan on running additional servers or virtual machines.
Storage requirements are a bit harder to predict, but they’re mostly based on world size and backup frequency. There are two big considerations here.
- Additional players (especially if you’re running a modded server) increase your chance of experiencing a crash or bug that forces you to roll back. You’ll probably want more frequent backups to account for that. More backups equate to more storage space.
- More players also tend to generate the world more — if everyone ran in separate directions for an hour, the world alone (not including player data) could easily be a few gigabytes. If you create a backup once an hour while players are on, you could easily accumulate a few hundred gigabytes per month in just backups.
It is important to keep an eye on your backups and their collective size. Don’t be afraid to delete the oldest backups you’ve got hanging around. Odds are no one will miss them.
Get the Minecraft Server Download
Head on over to the Minecraft Download page and go down to the “Server Software” section. This tutorial focuses on the Java Edition, so click “Java Edition Server.”
On the next page, look through the text until you find the line that directly links the Minecraft Server JAR file. Click the “minecraft_server.1.19.3.jar link and wait for the download to finish.
At the time of writing, the current game version is 1.19.3, but it might be different depending on when you read this. If you need an older version of the Minecraft Server, visit MCVersions.net.
How to Make a Minecraft Server
Create a Minecraft Server folder somewhere convenient, like your desktop, then move “server.jar” into that folder.
Everything is now ready for us to launch the server for the first time! Click the address bar at the top, clear what is there, type “powershell,” then press the Enter key.
Why did we do that? You can open some programs, like Command Prompt or PowerShell, by typing their name into File Explorer’s address bar. The convenient part is that Command Prompt and PowerShell also open with their directory set to the folder you were in when you ran the command. That is critical for this next step.
Now, copy and paste (or write out) the following command in the PowerShell window, then press Enter:
java -Xmx2G -Xms2G -jar server.jar
If you want to devote more (or less) RAM to your server, change the 2G to something else, like 4G. The first number is the maximum amount of RAM it can use (in gigabytes), and the second number is the minimum. Since everything is in Java, you should have at least a few gigs of RAM to devote to Minecraft. Whatever amount of RAM you choose, keep the two numbers the same. Things can get unruly with a decent amount of people playing, especially when you start to do crazy stuff like blowing up huge caverns with massive amounts of TNT.
You’ll see a huge wall of text appear as the server JAR fetches files and unpacks them in the PowerShell window. And then, it’ll stop running and offer you a warning.
Don’t worry, that is entirely normal. You must sign the End User License Agreement (EULA) before you can launch your server. The last few lines in the PowerShell window explain as much.
The server also didn’t find the configuration files it needs, so it made them. When you open your Minecraft Server Folder, you’ll find several new files and folders.
Open eula.txt in any plain text editor, like Notepad. Change the third line,
eula=true, then save and close the document.
Your server is now ready to start with all of the default settings. However, if you’d like to customize your server a bit first, read the next section carefully before you run the server again. Otherwise, you can just re-run the Java command we gave you previously.
Edit Your Minecraft Server’s Properties
Open up the server.properties file in Notepad. You’ll see something like this:
There are a ton of things you can customize, but here are some important options:
- level-name: This is the name of your Minecraft world. If you change this name, the server will look for a folder with a matching name, and if none is found, it will generate a new level with this name.
- spawn-monsters: If set to false, monsters such as zombies, skeletons, and creepers will not spawn. Often turned off for “op” or “creative” servers, where everyone builds and survival is not the focus of gameplay.
- spawn-animals: If set to false, animals such as wolves, cows, sheep, and chickens will not spawn.
- pvp: If set to false, players will not be able to harm one another, although you can still inflict damage by pushing other players off of ledges.
- white-list: If set to true, the server will only allows the usernames in the “white-list.txt” file to successfully connect and play.
For a complete description of all of the options, check out the Minecraft Wiki’s page on server.properties. Once you’re done changing things to what you want, save the file.
Since it’s your server, be sure to add your Minecraft username in the “ops.json” file with Notepad. That way, you’ll be an “operator” with full admin rights. You can generate any item you want, ban players, make other players ops, and change the in-game time.
When you’re ready, start up the server again. A new window will pop up showing you the connected players, the server’s chat, and the server’s memory use.
stop in the Minecraft Server window or the PowerShell window to save and exit the server.
nogui to the end of the Java command if you want to prevent the Minecraft Server window from appearing. It’ll then be:
java -Xmx2G -Xms2G -jar server.jar nogui instead.
Playing On A Minecraft Server
After you start Minecraft, click “Multiplayer” to connect to a multiplayer server.
You have two choices. You can directly join a server by entering the URL or IP address, or you can add a server to your list. If you plan on playing on a server regularly, use the “Add Server” function — it’ll save you time.
First, give the server a nickname you will be able to easily remember. If you’re playing on the same computer as your server, you can just type “localhost” (without the quotes). Otherwise, plug in your server’s IP address and click “Done.”
Select the server you just added from the list and click “Join Server.”
You may need to press “Refresh” for it to appear on the list.
Hit T to bring up the chat console.
You’ll see all of the public messages by users, system messages, and commands that you’ve executed. Notice narrow grey text bar that appears along the bottom of the screen. Typing something and hitting Enter will send a message to all other players in a group chat. You can execute commands here, too, and they always start with a forward slash (/).
As an op, you should be able to type “/list” and hit Enter to list all of the connected players. You can also give items to any player (including yourself), ban and pardon specific users, and change the system time. If you’re unsure of a specific command’s requirement, you can type “/help” to get more info. For the full list of server commands, check out the Minecraft Wiki’s Server Commands page.
How to Port Forward Minecraft
Any server you run on your local PC will be available to other computers on your local area network. However, it won’t be accessible to players from the Internet. For that, you’ll need to do some port forwarding.
The first thing you should do is assign a static IP address to your PC, or the PC that is hosting the Minecraft server. When you forward a port on your router, the rule is applied to a specific device on your local area network — however, sometimes, the IP address assigned to your device can change. If that happens, the port forwarding rule you’ve created will cease to apply, and you’ll suddenly find your server can’t be accessed from the Internet. You’re better off preempting this problem before it happens because it will eventually.
The easiest way to prevent that is to assign a static IP address to the PC you use to host the Minecraft server. You can assign a static IP address from within Windows, or you can set a static IP address via your router. In this case, it is better to assign the static IP using your router, since you’ll need to access your router to do some port forwarding anyway.
You can access most routers by entering “192.168.0.1” or “10.0.0.1” into the address bar of a browser. If neither of those work, open PowerShell, then run “ipconfig” and note the “Default Gateway” address. That is your router’s IP address.
Once you’ve assigned the host computer a static IP address, all you need to do is create the port forwarding rule itself. Unfortunately, how this is done varies wildly between routers. For example, Comcast’s XFi Gateways require that you use the Xfinity app to forward ports. In most other cases, you can access your router’s settings by typing the router’s IP address into a browser’s address bar. However you do it, your firewall rule must meet two basic requirements:
- Apply to the host computer
- Forward the port 25565 over TCP and UDP
Here is an example of what a port forward for Minecraft might look like:
You can change the port Minecraft uses in the server.properties file we mentioned earlier. You don’t typically need to do that unless you’re hosting multiple Minecraft servers on one device or something else is utilizing the 25565 port.
Now go and tell all of your friends to join! There’s nothing that beats building massive structures, exploring the vast landscape, and mining into mountains, except doing it with your best friends.