How Do I Create A Minecraft Server On Ubuntu 18.04

The author chosen the Tech Schooling Fund to obtain a donation as a part of the Write for DOnations program.


Minecraft is a popular sandbox video game. Originally launched in 2009, it permits players to construct, explore, craft, and survive in a block 3D generated world. As of early 2022, it was the perfect-promoting video game of all time. In this tutorial, you'll create your personal Minecraft server so that you and your folks can play collectively. Particularly, you will install the required software program packages to run Minecraft, configure the server to run, and then deploy the game.

Alternately, you may discover DigitalOcean’s One-Click Minecraft: Java Version Server as another set up path.

This tutorial uses the Java version of Minecraft. For those who purchased your version of Minecraft by the Microsoft App Retailer, you will be unable to hook up with this server. Most versions of Minecraft purchased on gaming consoles such as the PlayStation 4, Xbox One, or Nintendo Switch are also the Microsoft model of Minecraft. These consoles are additionally unable to hook up with the server constructed in this tutorial. You'll be able to obtain the Java model of Minecraft right here.


In an effort to comply with this guide, you’ll need:

- A server with a recent set up of Ubuntu 18.04, a non-root consumer with sudo privileges, and SSH enabled. You possibly can comply with this information to initialize your server and complete these steps. Minecraft can be useful resource-intensive, so keep that in thoughts when choosing your server size. If you are utilizing DigitalOcean and want more sources, you may at all times resize your Droplet so as to add extra CPUs and RAM.

- A replica of Minecraft Java Version installed on a neighborhood Mac, Windows, or Linux machine.

Step 1 - Putting in the required Software Packages and Configure the Firewall

Along with your server initialized, your first step is to put in Java; you’ll need it to run Minecraft. By default, Ubuntu 18.04 does not present a recent enough version of Java in order to run the latest releases of Minecraft. Happily, there are third-party maintainers who continue to build newer Java packages for older Ubuntu releases, and you can install them by including their PPA, or Private Package deal Archives, to your individual checklist of bundle sources. You'll be able to try this with the next command:

sudo add-apt-repository ppa:openjdk-r/ppa

Subsequent, update your package deal sources to mirror this addition:

sudo apt update

Lastly, install the OpenJDK version 17 of Java, particularly the headless JRE. This can be a minimal model of Java that removes the support for GUI purposes. This makes it ultimate for working Java functions on a server:

sudo apt set up openjdk-17-jre-headless

You also need to use a software program known as display screen to create detachable server periods. display screen lets you create a terminal session and detach from it, leaving the process began on it working. This is vital because for those who have been to start your server after which close your terminal, this may kill the session and cease your server. Install display screen now:

sudo apt install screen

Now that you have the packages put in we need to allow the firewall to allow visitors to are available in to our Minecraft server. In the preliminary server setup that you just performed you only allowed ssh traffic. Now you need to allow for traffic to come in through port 25565, which is the default port that Minecraft makes use of to permit connections. In some circumstances ufw will use named site visitors guidelines, comparable to for ssh, which always uses port 22 by default, but in much less frequent cases like this one, we’ll specify the port number manually. Add the required firewall rule by running the following command:

sudo ufw enable 25565

Now that you have Java installed and your firewall correctly configured, you will download the Minecraft server app from the Minecraft website.

Step 2 - Downloading the newest Version of Minecraft

Now it's essential to download the current version of the Minecraft server. You can do that by navigating to Minecraft’s Web site and copying the hyperlink that says Download minecraft_server.X.X.X.jar, where the X’s are the newest model of the server.

Now you can use wget and the copied hyperlink to obtain the server app to your server:


The server app will be downloaded as server.jar. Should you ever have to manage versions of Minecraft, or if you wish to improve your Minecraft server, it may be helpful to rename the downloaded server.jar to minecraft_server_1.18.1.jar, matching the highlighted version numbers to no matter version you just downloaded:

mv server.jar minecraft_server_1.18.1.jar

If you wish to obtain an older version of Minecraft, yow will discover them archived at However this tutorial will give attention to the current newest release. Now that you have your obtain, let’s begin configuring your Minecraft server.

Step 3 - Configuring and Running the Minecraft Server

Now that you've the Minecraft jar downloaded, you're able to run it.

First, begin a display screen session by operating the screen command:


Upon getting learn the banner that has appeared, press the Spacebar. screen will present you with a terminal session like regular. This session is now detachable, which implies that you’ll be in a position to begin a command right here and depart it working.

Now you can carry out your preliminary configuration. Do not be alarmed when the next command throws an error. Minecraft has designed its installation this way in order that customers should first consent to the company’s licensing agreement. You will do this subsequent:

1. java -Xms1024M -Xmx1024M -jar minecraft_server_1.18.1.jar nogui

Before inspecting this command’s output, let’s take a more in-depth look at all these command-line arguments, that are tuning your server:

- Xms1024M - This configures the server to start operating with 1024MB or 1GB of RAM running. You can increase this restrict in order for you your server to begin with extra RAM. Both M for megabytes and G for gigabytes are supported options. For example: Xms2G will start the server with 2 gigabytes of RAM.

- Xmx1024M - This configures the server to make use of, at most, 1024M of RAM. You can raise this limit if you need your server to run at a bigger measurement, permit for extra players, or if you are feeling that your server is operating slowly. Java packages are distinctive in that they all the time require you to specify the maximum quantity of memory they'll use.

- jar - This flag specifies which server jar file to run.

- nogui - This tells the server to not launch a GUI since this can be a server, and also you don’t have a graphical person interface.

The primary time you run this command, which normally begins your server, you will obtain this output:

These errors have been generated as a result of the server couldn't find two mandatory files required for execution: the EULA (End Person License Settlement), found in eula.txt, and the configuration file Since the server was unable to find these information, it created them in your present working directory. mc list does this deliberately to make sure that you've got learn and consented to its EULA.

Open eula.txt in nano or your favorite text editor:

nano eula.txt

Inside this file, you will note a link to the Minecraft EULA. Copy the URL:

Open the URL in your web browser and read the agreement. Then return to your textual content editor and find the last line in eula.txt. Here, change eula=false to eula=true. Then, save and close the file. In nano, this means urgent “Ctrl+X” to exit, then when prompted to avoid wasting, “Y”, then Enter.

Now that you’ve accepted the EULA, you can configure the server to your specifications.

In your present working directory, you will also discover the newly created file. This file accommodates the entire configuration options to your Minecraft server. You could find an in depth checklist of all server properties on the Official Minecraft Wiki. You must modify this file together with your most popular settings earlier than starting your server. This tutorial will cover some fundamental settings:


Your file will seem like this:

Let’s take a better take a look at some of a very powerful properties on this listing:

- problem (default straightforward) - This sets the difficulty of the game, similar to how a lot injury is dealt and the way the weather affect your player. The options are peaceful, easy, regular, and arduous.

- gamemode (default survival) - This units the gameplay mode. The options are survival, creative,journey, and spectator.

- degree-name (default world) - This units the name of your server that can appear within the client. Special characters comparable to apostrophes may have to be preceded by a backslash. This is understood is escaping characters, and is common follow when particular characters may not in any other case be parsed correctly in context.

- motd (default A Minecraft Server) - The message that's displayed in the server checklist of the Minecraft consumer.

- pvp (default true) - Allows Participant versus Participant combat. If set to true, gamers will probably be in a position to engage in fight and harm one another.

Upon getting set the options that you really want, save and shut the file.

Now you possibly can successfully start your server.

Like final time, let’s start your server with 1024M of RAM. This time, you should also grant Minecraft the power to make use of as much as 4G of RAM if needed. Remember, you are welcome to regulate this quantity to suit your server limitations or person wants:

1. java -Xms1024M -Xmx4G -jar minecraft_server_1.18.1.jar nogui

Give the initialization a number of moments. Soon your new Minecraft server will start producing an output just like this:

Once the server is up and working, you will see the following output:

Your server is now operating, and you've got been introduced with the server administrator control panel. Attempt typing help:


Output like this may seem:

From this terminal you may run administrator commands and control your Minecraft server. Now you’ll be taught to make use of screen to keep your Minecraft server running after you log out of the terminal. Then you may connect to your Minecraft consumer and start a new game.

Step 4 - Maintaining the Server Working

Now that you've your server up, you need it to remain running even after you disconnect out of your SSH session. Since you used screen earlier, you may detach from this session by pressing Ctrl + A + D. You must see that you’re back in your original shell:

Run this command to see all of your display screen classes:

display -listing

You’ll get an output with the ID of your session, which you’ll have to resume that session:

To resume your session, cross the -r flag to the display command after which enter your session ID:

display -r 3626

When you are ready to log out of the terminal once more, make sure you detach from the session with Ctrl + A + D after which log out.

Step 5 - Connecting to Your Server from the Minecraft Shopper

Now that your server is up and working, let’s hook up with it through the Minecraft shopper. Then you possibly can play!

Launch your copy of Minecraft Java Edition and select Multiplayer in the menu.

Subsequent, you will want so as to add a server to connect to, so click on on the Add Server button.

Within the Edit Server Data screen that reveals up, give your server a name and kind within the IP handle of your server. This is the same IP deal with that you simply used to attach via SSH.

Once you have entered your server title and IP handle, you’ll be taken again to the Multiplayer display where your server will now be listed.

From now on, your server will all the time appear on this record. Choose it and click on Join Server.

You might be in your server and able to play!

You now have a Minecraft server running on Ubuntu 18.04 for you and all of your mates to play on! Have enjoyable exploring, crafting, and surviving in a crude 3D world. And remember: be careful for griefers.