How to create a cloud based Minecraft server

Complete guide with all the relevant SSH commands.


Minecraft is one of those games which is most enjoyed when played with your friends and family members. Of course, this is achieved by playing on a server that is always available for everyone to join!

There are several ways to create a Minecraft server using the official Minecraft server file, but that is used to host the server from your personal computer, which may need more memory or a faster internet connection to provide a smooth gameplay experience for everyone.

On top of that, once you, or whoever is hosting the game, shuts down their PC, the server is gone. If a friend wants to rejoin the server later, the host player must turn their PC and the server on, making it highly inconvenient for everyone.

The best way to overcome this problem is to create a cloud-based Minecraft server that runs 24/7 and does not use your PC resources. That way, anyone can join at any time without worrying about hosting issues.

In this guide, I walk you through every step needed to create your own cloud-based Minecraft server. We go through all the required details, including the Java installation, firewall access, ports, remote access, and SSH commands for the terminal.

We will create this server using a server management tool called PufferPanel for better accessibility and to make managing it easier. I created a server for the latest version of Minecraft 1.20.1. However, this same method will apply to all the future versions as well. You will only have to change the build and version number (see PufferPanel & Server Setup). Let's begin.

Oracle Cloud Server

Oracle Cloud and Amazon's Web Services (AWS) are two of the most popular cloud server providers. We will use Oracle Cloud, which allows us up to 24 GB of memory and 4 CPUs as a free user with no expiry date. This comes under Oracle Cloud's Always Free Eligible scheme, so you won't have to pay even a single cent. This is enough to host up to 20 people on a server without lag.

Creating VM Instance

First, head over to Oracle Cloud's official website and sign up for a free account. You will be asked to add your credit card information. But you won't be charged as long as you choose all the 'Always Free' services. They ask for the credit card information to verify you only created one account and not multiple.

Click on the 'Start for free' button to sign up.

Once you've successfully logged in, you will land on the 'Get Started' page where you can view several different options. One of them is 'Create a VM Instance' which stands for a Virtual Machine Instance. The instance in this case is our Minecraft server. Click on it.

You can also see at the top of the page it says that we're using a 'Free Tier' account.

When you click on the option, you will begin the process of creating your Oracle Cloud VM instance. In the 'Name' slot, you can name it whatever you like. We've just named it 'Minecraft Server' to keep things simple.

The compartment will be chosen for you by default.

Leave placement as is since Oracle allocates a domain for you by default. You don't have to change anything here.

For me it was AD-1 domain.

Next, you need to select the shape and image. This is one of the most important steps, as the image you choose determines whether you can use PufferPanel. PufferPanel is compatible with Ubuntu, so we must choose a compatible image. If you do not plan on using PufferPanel, you can use the default selection, Oracle Linux 8.

Click on the 'Change Shape' or 'Change Image' option to see your 'Always Free' eligible options.

For the image, select Ubuntu and the Canonical Ubuntu 20.04 option from the list below

Leave 'Image Build' as is, it chooses the latest build by default.

For the shape, select Ampere. Increase the number of OCPUs to 4 and the memory to 24 GB.

Ignore the limit warning as it is just a prompt telling you about the limit as a 'Free Tier' user.

For Networking, click the 'Edit' button and leave everything on default. If it is your first time creating the instance, it will automatically create a virtual cloud network. I am using an existing virtual cloud network, which I've already created earlier. The only thing you must ensure is that 'Assign a public IPv4 address' is selected.

You can leave the primary network and subnet options as default.

The next step is to create a SSH key which will allow you to access the server and modify it as needed. Under the 'Add SSH keys' select 'Generate a key pair for me' and click on 'Save private key.'

Keep this key safe somewhere in a folder as this will always be used to access your server as an admin (root).
Generated key will look like this.

Under 'Boot volume,' select 'Use in-transit encryption,' which further secures your data transfer.

It may be selected by default.

Once done, go to the bottom of the page and you should see an option to create. When you click on the create button, you will be redirected to the instance page.

Instance page.

The initial status of the instance will be 'provisioning,' but after a few seconds, it will turn green and say 'running.'

The status color is orange during 'provisioning.'

Once the instance is running, you can see all your important information, including the public IP address. Keep note of the public IP, which will be used for everything, from remote access to letting your friends join your server.

The username is also given under the public IP. It should be 'ubuntu.'

Adding Ingress Rules

Next, we will add some ingress rules to ensure all important and relevant ports are open. To do that, click on the subnet link under Primary VNIC section.

This will redirect you to the subnet page.

When you land on the subnet information page, click on the 'Default security list.'

Default security list as seen on the subnet page.

From here, we can start adding the ingress rules. There are three ports we need to add for both TCP and UDP. 25565 is the main port used by the official Minecraft servers, 8080 is the main port used to access PufferPanel, and 5657 port to access the server files using Secure File Transfer Protocol (SFTP).

Click on the 'Add ingress rule' to start adding.

Let's add a 25565 port. First, type 0.0.0.0/0 under Source CIDR. After that change, select TCP as the IP Protocol. Finally, type 25565 as the Destination Port Range.

Once you're done, click 'Add ingress Rules' at the bottom of the page to continue adding. You must repeat the same, but change the IP Protocol to UDP this time.

That completes the process for port 25565. Now, you must repeat the same for 8080 and 5657 ports.

When you're done, your list should look like this.

That completes our Oracle Cloud server setup. Now, we can move on to remote access.


Related Topics

5 Comments

Your email address will not be published. Required fields are marked *

    1. It is pretty easy to set up and is so enjoyable. I got one going a few weeks ago.

  1. I ran a Minecraft server back in 2011 and had so much fun with it. I might have to give this a try.

Hassan Sajid

Hassan Sajid // Articles: 694

Gaming has been a part of Hassan’s life for as long as he can remember, and he has an excellent grasp of all types of games. Hassan is best known for his the in-depth written and video guides that he produces for Xfire. He graduated with a degree in engineering from the National University Science & Technology (formerly known as Caledonian College of Engineering). The research and technical writing skills he earned throughout his time in the university have allowed him to contribute to the gaming community by creating guides. Find Hassan on LinkedIn or find him gaming on Steam.
Comparison List (0)