How to Host a Minecraft Server on Oracle Cloud Free Tier
Step-by-step guide to running a Minecraft server on Oracle Cloud Free Tier using an ARM instance with 4 cores, 24 GB RAM, and always-free eligibility.
What Oracle Cloud Free Tier Offers
Oracle Cloud Infrastructure (OCI) has one of the most generous free tiers of any cloud provider. The Always Free tier includes an ARM-based Ampere A1 instance with up to 4 OCPUs (equivalent to 4 cores) and 24 GB of RAM. That is more than enough for a Minecraft server handling 15 to 20 players, and the oracle cloud free minecraft server option costs nothing, forever, as long as you stay within the free tier limits.
The catch is that provisioning an ARM instance in popular regions can be difficult due to capacity limits. We will cover how to handle that below.
Creating Your Oracle Cloud Account
Sign up at cloud.oracle.com. You will need a credit card for verification, but the Always Free tier will not charge you. Choose a home region carefully, once set, it cannot be changed. Regions like Phoenix, Ashburn, Frankfurt, and Amsterdam tend to have the best ARM availability. Avoid regions with heavy demand like US East (Chicago) unless you are located nearby.
After account creation, wait for your account to be provisioned. This can take a few minutes to a few hours.
Provisioning the ARM Instance
Navigate to Compute > Instances > Create Instance. Configure it as follows:
- Image: Ubuntu 24.04 (Canonical) or Oracle Linux 9
- Shape: Ampere A1 Flex (ARM)
- OCPUs: 4 (maximum for free tier)
- RAM: 24 GB (maximum for free tier)
- Boot volume: 100 GB (included free, increase to 200 GB if needed, also free)
If you receive a "capacity not available" error, the region is temporarily out of ARM instances. You have two options: try again later (capacity frees up periodically), or write a script that retries the API call every 60 seconds. Oracle does not queue requests, so persistence is necessary. For an oracle cloud free minecraft server, the provisioning step is the hardest part.
Download the SSH private key during instance creation and save it securely. You will need it to connect.
Configuring Networking
By default, OCI blocks all inbound traffic except SSH (port 22). You need to open port 25565 for Minecraft.
Go to Networking > Virtual Cloud Networks > your VCN > Security Lists > Default Security List. Add an ingress rule:
- Source CIDR: 0.0.0.0/0
- Protocol: TCP
- Destination Port: 25565
Add a second rule for UDP 19132 if you plan to support Bedrock players via GeyserMC.
After updating the security list, also configure the OS firewall. SSH into your instance and run:
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 25565 -j ACCEPT
sudo iptables -I INPUT 7 -m state --state NEW -p udp --dport 19132 -j ACCEPT
sudo netfilter-persistent save
Installing Java and the Server
Connect via SSH using your private key:
ssh -i ~/oracle_key.pem ubuntu@YOUR_PUBLIC_IP
Install Java 21 and set up the server:
sudo apt update && sudo apt install -y openjdk-21-jre-headless
mkdir minecraft && cd minecraft
wget https://api.papermc.io/v2/projects/paper/versions/1.21.4/builds/LATEST/downloads/paper-1.21.4-LATEST.jar -O paper.jar
echo "eula=true" > eula.txt
Create a start script:
#!/bin/bash
java -Xms4G -Xmx16G -jar paper.jar nogui
The ARM Ampere A1 runs Java well, but check our ARM vs x86 guide for compatibility notes with specific plugins and mods.
Running as a Service
Use systemd to keep the server running after you disconnect and auto-restart on crash. Create /etc/systemd/system/minecraft.service:
[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=ubuntu
WorkingDirectory=/home/ubuntu/minecraft
ExecStart=/home/ubuntu/minecraft/start.sh
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
Enable and start it:
sudo systemctl enable minecraft
sudo systemctl start minecraft
Performance Expectations
The Ampere A1 with 4 OCPUs and 24 GB RAM handles 15 to 20 players on Paper comfortably. The ARM cores deliver solid single-thread performance, though about 10 to 15% lower than a modern desktop Ryzen for Minecraft workloads. With 24 GB of RAM, you have plenty of headroom for plugins, world data, and JVM overhead.
Storage is the weak point. OCI free tier boot volumes are not NVMe, they are networked block storage with moderate IOPS. Pre-generate your world using Chunky to avoid chunk generation lag. See our RAM optimization guide for JVM tuning tips that help on constrained instances.
See what optimized hardware feels like in game: Astroworld MC, IP play.astroworldmc.com, Java + Bedrock.
Limitations to Know
The oracle cloud free minecraft server setup works well, but be aware of these limits: the instance is ARM, so Forge mods may have compatibility issues (Paper and Fabric work fine). Oracle may reclaim idle Always Free instances after 7 days of very low CPU usage, so keep your server active or set up a simple cron job to prevent idle reclamation. Outbound data is capped at 10 TB/month, which is more than enough for any Minecraft server.