Oracle Cloud offers some free resources over the oracle cloud infrastructure. This can be used to create a powerful Free Minecraft server.
By the end of the post, you should be able to create a Minecraft server on the cloud for your kids and teens.
There may be other hostings that may provide free servers but generally, the configuration of those servers are pretty weak. Here we will create a server with the configuration of up to 4 CPU cores and 24 GB of RAM. Isn’t that great from Free from one of the best enterprise cloud providers in the world!
I will try to go as simple as possible so that newbies can also follow and set up a server successfully. If you are new to cloud computing read some articles on cloud computing basics and understand what is saas and paas.
Table of Contents
Why should you host on Free Oracle Cloud?
Oracle has partnered with leading vendors to provide Arm server-side development and provides options to create VM that uses Ampere arm chip. These VMs are better as compared to x86 systems. They provide better performance with workloads like web applications, AI Inferencing and more.
So the free Minecraft server on oracle cloud with Arm based computing will be more powerful compared to a Minecraft server not using Ampere arm chip.
High Level Flow Steps Diagram
Create an Account on Oracle Cloud
You will need to create a Free Oracle Cloud Account. If you already have You Can Skip this
Create Operating System VM
Create a VM for your preferred OS, Linux, Ubuntu etc.
Setup Virtual Networking
Setup VCN and Assing a Public IP for External Internet Access
Assign Incoming and Outgoing Traffic Rules
Create traffic rules to allow/disallow connection requests.
Install JAVA
Install the required Java Version on the VM
Install Minecraft
Install Minecraft from the Jar file available for download
Accept EULA
Accept End-user License Agreement
Start Minecraft Server
Start the VM Server you created
Connect from Minecraft Client
Test Connection from Minecraft Client
Enjoy The Game
After a successful connection, you can enjoy the game on a free Minecraft server.
Let’s Setup the Free Minecraft Server Step by Step
How to make a free Minecraft Server on oracle OCI ( Oracle cloud infrastructure) | Step by Step
Setup Time 1 hour
-
Sign Up for Always Free Oracle Cloud
If you already have an oracle cloud account, skip this else, create a free tier account at cloud.oracle.com/free, and click ‘Sign Up’ under Not an Oracle Cloud customer yet?
-
Enter Account Information
You’ll need to key in some information to sign up, starting with your first and last name and your email address. You’ll get an email to verify your email address.
-
Check Email for the Confirmation message
You will need to confirm your oracle cloud account by clicking the ‘click here’ button
-
Create login Passwords
Enter Passwords as per Oracle Cloud Password Policy. i.e min 8 characters 1 lower case 1 upper case 1 numeric and 1 special character
You can leave the optional fields.
Enter the Cloud Account Name and select the Home Region nearest to your geographical location.
Though selecting the home region to nearest geography is not mandatory, but it’s recommended for better performance. -
Enter Address information
Enter Mobile number and verify the number with OTP if prompted . Hit ‘Continue‘ to proceed
-
Enter Payment Verification
Click on the button Add payment verification method
-
Select the verification method
Currently, Credit card is the verification method provided. Click on ‘Credit Card‘ button. Don’t worry there won’t be any charges. There will be a test transaction that will be reversed.
-
Enter Your Card Details
Enter your card details and click finish.
PS: Rest Assured you will never be charged for the Always Free tier Account. Only when you manually upgrade your account to use more oracle cloud resources your billing happens.
-
Check for Confirmation
After verification select the Agreement Checkbox and click ‘Start the free trial’ button.
-
Verify your Card Transaction is Reversed
You will get messages from bank on your transactions credit and debit. Verify your transaction is reversed on your SMS message.
-
Receive your login link in your Email
After few minutes you will receive an email from oracle with the login link. [Get started Now with Oracle Cloud]
-
Check Access Details
The email content will have the access details. click on the button ‘Sign in to Oracle Cloud’
P.S Sometimes there may be a small delay in receiving this message as it takes some time in doing the provisioning, so just give some time.
-
Login with SSO
When you click on sign in it will take to SSO page where you can enter the username and password which you set previously.
-
Create VM (Virtual Machine)
Once you log in successfully you will see this landing page with quick actions. To create a Minecraft server or any server you need an operating system. So the first step after landing at the OCI console is to create an Operating system.
To do that Click on Create a VM instance.
-
Create the compute instance configuration
Give a name to you VM instance (e.g Minecraft Server). Note the Edit buttons , We will use this to edit the default configurations in next steps.
-
Change Image Shape
In the shape dialog, select the ‘Instance type’ of ‘Virtual Machine’ and then select ‘Ampere’ (ARM) under ’Shape series’. Choose the ‘VM.Standard.A1.Flex’ shape and choose the amount of CPU and RAM that you want to allocate to this server. For your “always free” ARM servers, you get up to 4 OCPU and 24 GB of RAM to allocate. This means that you can turn up one virtual machine with 4 OCPU and 24GB of RAM, or 4 servers each with 1 OCPU and 6GB of RAM (or any combination up to the limit). It just depends on what you want to dedicate to each VM!
-
Select Ampere image
Select Ampere image and note the OCPU =1 and Memory = 6 by default. We will change that in the next step
-
Increase CPU and RAM
– Select the ‘Instance type’ of ‘Virtual Machine’ and then
– Select ‘Ampere’ (ARM) under ’Shape series’.
– Choose the ‘VM.Standard.A1.Flex’ shape and
– Choose the amount of CPU and RAM that you want to allocate to this server.Click on the down arrow and move the OCPU and RAM Slider to the desired power. Here we are setting to 2 OCPU and 6 GB RAM.
The Free ARM server provides up to 4 OCPU and 24 GB of RAM. So you can allocate up to 4 Server machines and distribute the 24 GM as you want.
e.g 4 CPU with 6 GB RAM each OR
2 servers with 2 CPUs each with 12 GB RAM
or any combination based on your VM server requirement. -
Confirm the changes in VM
After the selection you have made confirm the configuration in VM is of 2 Core OCPU and 6 GB memory.
-
Configure Networking and Assign Public IP
The next step would be to create a network to which the VM server has to be connected. So choose a virtual cloud network (VCN). Give VCN name and enter subnet name. If there are any default values you can just accept the defaults.
Finally, make sure you check the radio button Assign a Public IP Address. This is a public IP address and can be accessed from external networks. This will be used for your partner players to connect over the internet.
-
Create Public Private SSH Key Pair
Save the keys to your local system and store them safely. you will need the private key to connect later.
Also if you already have a Public-Private key beforehand you can upload the public key using the upload public key files, or paste public keys radio buttons. -
Configure Boot Volume
Leave the boot volume as default
-
The Server provisioning Starts
It takes a few minutes to provision the server configuration .
-
Confirm a Running server
Once provisioned the icon changes to green and shows running . Note the Public IP and copy it somewhere.
-
Connect Using SSH to Public IP
Connect via ssh (in Windows 10) to the public IP you just copied from the local system. Select yes for the above message.
NB: SSH is a secure shell and is used to create secure connections. The commands to connect via ssh may be different for different operating systems (mac, ubuntu, Linux, windows etc).
This example is done for windows 10.
And if you face any issue on windows you can also try using Putty. Putty is software to create secure connections. you can download it from here. -
If using Putty Convert the key
Note that Putty doesn’t understand the key you downloaded so you need to convert the key.
You can use PuttyGen to convert the downloaded private key. When you install Putty , PuttyGen also gets installed . Run PuttyGen from the windows start search menu
Copy the converted key to .ssh folder in windows 10.
-
keep the private key in .ssh folder
The local windows default path is C:\Users\USER_NAME\.ssh
-
Open Putty
Now Connect the Public IP with putty. Enter public IP in Hostname as per image. Don’t hit Open yet. Hit Open after loading private key in next step
-
Connect using Private Key
go to SSH tab > Auth > browse for the local converted private key from .ssh folder ( or any folder you have kept) and hit the Open button
-
Login as opc
Once you come to command prompt login as :
enter opc and you would be connected. You can run any Linux command to test.
e.g
$ ls
$ ls -l -
Check for Java
Run the below command at $ prompt
$ yum list jdk*
This will list the available packages. Copy the Jdk filename of the latest version.
-
Install latest JDK
Copy the latest jdk file name from the above step and run the below command. Note the Jdk filename is appended
sudo yum install jdk-16.0.1.0.1.aarch64
confirm with y when asked for installation.
-
Monitor the installation
You will see a confirmation when jdk is successfully installed.
Enter $ java –version at the command prompt the confirmYou will see the version output as
java version “16.0.1.0.1” 2021-06-29
Java(TM) SE Runtime Environment (build 16.0.1.0.1+1-2)
Java HotSpot(TM) 64-Bit Server VM (build 16.0.1.0.1+1-2, mixed mode) -
Install MineCraft Server
So now we are ready to install the Minecraft server
Download the latest Minecraft jar file from Minecraft Server Download Page on to the VM server.Note that if you click on the link it will get downloaded to your local system which we do not need to do. Just copy the link and use the command in the next step on the server.
-
Copy the Jar File link
There is a jar file that needs to be downloaded and run on the server.
-
Run the Download Command (Wget) on cloud
wget https://launcher.mojang.com/v1/objects/0a269b5f2c5b93b1712d0f5dc43b6182b9ab254e/server.jar
This will download it to the Cloud VM server.
The next step is to install. -
Try Installing
Run below command
$ java -Xmx1024M -Xms1024M -jar server.jar nogui
This is supposed to fail and you may see this and we need to accept the licence agreement.[19:35:33] [main/ERROR]: Failed to load properties from file: server.properties
[19:35:33] [main/WARN]: Failed to load eula.txt
[19:35:33] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.EULA – End user license agreement.
-
Edit eula.txt
Edit eula.txt with Vi editor or nano editor whichever you are comfortable with. You can see the text from the command by typing
$ cat eula.txt
-
Set EULA to true
If using nano editor to save exit, type CTRL+C, ‘Y’ to accept changes, and then ENTER
If using Vi editor do the changes and press SHIFT+wq! -
After changes verify the EULA
Confirm EULA.txt is set to true
using the command
$ cat eula.txt -
Open Firewall and Security List Ports to Allow External Internet Access
Go to subnet in the VM server image
-
Edit Default Security list
Click on default security list
-
Enter Ingress Rule for TCP Protocol ( Incoming Traffic)
Enter CIDR for source type
Source CIDR as 0.0.0.0/0
PROTOCOL as TCP
and Destination PORT as 25565
25565 is the port where Minecraft server allows incoming connections -
Enter Ingress Rule for UDP protocol
Enter another ingress rule for UDP protocol with similar values
-
Open the ports on VM’s Firewall
Run the below commands
sudo firewall-cmd –permanent –zone=public –add-port=25565/tcp
sudo firewall-cmd –permanent –zone=public –add-port=25565/udp
sudo firewall-cmd –reloadIt should show ‘Success’ and the ports would be opened.
-
Now Start the Minecraft Server
Use the below command to start the Minecraft server. Note that this command failed earlier as EULA was not accepted.
$ java -Xmx1024M -Xms1024M -jar server.jar nogui
In a few minutes, the Minecraft server will be up and running! You can now connect up to your server using the public IP address and start playing on your own server!And in case you need to modify the server configuration for accepting more Load you can always do it by following the Tutorials/Setting up a server – Official Minecraft Wiki (fandom.com)
Conclusion
By following the above steps you can set up a powerful and flexible Free Minecraft Server on Oracle Cloud infrastructure. You can change the server configuration for more load as well.
FAQs
Is the server Really Free?
Yes, Unless you manually want to increase Compute configuration and agree to payments manually. For Minecraft server this is enough.
Is there any other payment method?
As of now only credit card is the option. You may try a debit card or any virtual gift cards from a bank and see if it works.
Can I install using mobile?
Yes . Just follow the step using a mobile Internet browser.
How to fix com.mojang.authlib.gameprofile Connection error?
If you get error like com.mojang.authlib.gameprofile@6cdbc4f2[id= try resetting the value of online-mode to false. This generally happens if the Minecraft version is modded or not registered. so be careful and understand the consequences.
Once connected to server from command prompt run ls -l (on linux vm)
[opc@minecraft-server-2021 ~]$ ls -l
total 79712
-rw-rw-r–. 1 opc opc 2 Jul 6 06:27 banned-ips.json
-rw-rw-r–. 1 opc opc 2 Jul 6 06:27 banned-players.json
-rw-rw-r–. 1 opc opc 180 Jun 30 06:12 eula.txt
drwxrwxr-x. 2 opc opc 4096 Jul 6 06:27 logs
-rw-rw-r–. 1 opc opc 2 Jul 6 06:27 ops.json
-rw-rw-r–. 1 opc opc 43621201 Jun 8 11:03 server.jar
-rw-rw-r–. 1 opc opc 37962360 Jan 14 16:09 server.jar.1
-rw-rw-r–. 1 opc opc 1038 Jul 6 06:27 server.properties
-rw-rw-r–. 1 opc opc 109 Jul 6 06:28 usercache.json
-rw-rw-r–. 1 opc opc 2 Jun 30 06:29 whitelist.json
drwxrwxr-x. 12 opc opc 4096 Jul 6 06:42 world
then do $cat server.properties
This will show the file contents
……………………
……….
max-players=20
resource-pack-sha1=
spawn-protection=16
online-mode=false
enable-status=true
allow-flight=false
max-world-size=29999984
[opc@minecraft-server-2021 ~]$ vi server.properties
Here you can edit(use vi or nano editor) the file to set the value of online-mode to false. After changing try connecting again.
Why you are not able to ping the Public IP of Cloud VM?
By default, ping is not allowed on the public IP of VM. You need to enable ICMP in the ingress rule on the cloud subnet to enable pinging the IP. See example
How to keep the Minecraft server Running 24×7?
You can keep the Minecraft server running in background by installing screen
Run
$sudo yum install screen
Once installed create a screen
$ screen minecraftscreen
$java -Xmx1024M -Xms1024M -jar server.jar nogui
To exit the screen, hit CTRL+A and then click on your “d” key afterward.
this will make the server run in the background.
To reattach the screen enter
screen -r
How to add more RAM to the Minecraft server?
Just change the memory parameter while starting.
java -Xmx****M -Xms****M -jar server.jar nogui
e.g java -Xmx2048M -Xms2048M -jar server.jar nogui for 2 GB Ram
You may be interested to know what is ping spoofing in minecraft.
More on Cloud Computing