Oracle Cloud’s free tier gives you enough compute power to run a Minecraft server 24/7 without spending a dime. It’s one of the most generous free offerings out there, but the setup process isn’t exactly straightforward if you’ve never touched a Linux terminal before.
What You Get with Oracle Cloud Free Tier
Oracle Cloud’s Always Free tier includes two AMD-based Compute VMs with 1/8 OCPU and 1GB memory each, or you can combine them into a single ARM-based Ampere A1 instance with 4 OCPUs and 24GB RAM. For a Minecraft server, the ARM instance is what you want—it’s powerful enough to handle 10-15 players comfortably with proper optimization.
Here’s the quick answer: Setting up a Minecraft server on Oracle Cloud Free Tier involves creating an Oracle Cloud account, launching an ARM-based compute instance with Ubuntu, configuring firewall rules, installing Java, downloading the Minecraft server software, and keeping it running with a service manager. The entire process takes about 30-45 minutes.
Creating Your Oracle Cloud Instance
First, sign up for an Oracle Cloud account. You’ll need a credit card for verification, but Oracle won’t charge you for free tier resources. The verification process can take a few minutes to an hour.
Launching the Compute Instance
Once you’re in the Oracle Cloud console, navigate to Compute > Instances and click “Create Instance.” Here’s where most people make their first mistake—they stick with the default x86 shape instead of switching to ARM.
- Click “Change Shape” and select “Ampere” under the VM.Standard.A1.Flex option
 - Set OCPUs to 4 and memory to 24GB (this maxes out your free tier allocation)
 - Choose Ubuntu 22.04 as your operating system image
 - Download the SSH private key—you’ll need this to access your server
 
Under networking, make sure “Assign a public IPv4 address” is checked. Oracle assigns you a static IP automatically, which is perfect for a game server.
Configuring Security Lists and Firewall Rules
Oracle Cloud uses two layers of network security: security lists (cloud-level) and iptables (instance-level). Both need configuration or players won’t be able to connect.
In your instance details, click on the subnet name, then “Default Security List.” Add an ingress rule:
- Source CIDR: 0.0.0.0/0
 - IP Protocol: TCP
 - Destination Port Range: 25565
 
If you’re running a Bedrock server instead, use UDP protocol and port 19132.
Installing and Configuring Minecraft Server
Connect to your instance using SSH. On Windows, use PowerShell or PuTTY. On Mac or Linux, open Terminal:
ssh -i /path/to/private-key ubuntu@your-instance-ip
Setting Up the Server Environment
Ubuntu’s default firewall blocks the Minecraft port. Open it with these commands:
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 25565 -j ACCEPT
sudo netfilter-persistent save
Install Java 17, which is the recommended version for Minecraft 1.18 and newer:
sudo apt update
sudo apt install openjdk-17-jre-headless screen -y
Downloading and Running Minecraft Server
Create a dedicated directory for your server files:
mkdir minecraft-server && cd minecraft-server
Download the official server jar from Minecraft.net. At the time of writing, version 1.20.4 is current:
wget https://piston-data.mojang.com/v1/objects/[version-hash]/server.jar
Run it once to generate the EULA file:
java -Xmx20G -Xms20G -jar server.jar nogui
Edit the EULA file to accept the terms:
nano eula.txt
Change eula=false to eula=true, then save with Ctrl+X, Y, Enter.
Optimizing Server Performance
The default server.properties file needs tweaking for optimal performance on ARM architecture. Open it with nano server.properties and adjust these settings:
- view-distance=8 (lower than default to reduce CPU load)
 - simulation-distance=6 (keeps mob processing manageable)
 - max-players=15 (realistic limit for free tier specs)
 - network-compression-threshold=512 (reduces bandwidth usage)
 
For better performance, consider using Paper or Purpur server software instead of vanilla. These optimized server implementations reduce lag significantly without requiring client-side mods.
Keeping Your Server Running 24/7
Running the server directly means it stops when you disconnect from SSH. Use screen or create a systemd service for persistence.
Using Screen (Quick Method)
Start a screen session:
screen -S minecraft
Launch your server with optimized flags:
java -Xmx20G -Xms20G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -jar server.jar nogui
Detach from screen with Ctrl+A, then D. Reattach anytime with screen -r minecraft.
Creating a Systemd Service (Proper Method)
For automatic restarts after crashes or reboots, create a service file:
sudo nano /etc/systemd/system/minecraft.service
Paste this configuration:
[Unit] Description=Minecraft Server After=network.target [Service] User=ubuntu WorkingDirectory=/home/ubuntu/minecraft-server ExecStart=/usr/bin/java -Xmx20G -Xms20G -XX:+UseG1GC -jar server.jar nogui Restart=always [Install] WantedBy=multi-user.target
Enable and start the service:
sudo systemctl enable minecraft
sudo systemctl start minecraft
Common Issues and Solutions
Players Can’t Connect
This is almost always a firewall issue. Double-check both Oracle Cloud security lists and instance-level iptables rules. Run sudo iptables -L to verify the port 25565 rule exists. Also confirm your server is actually listening with sudo netstat -tulpn | grep 25565.
Server Runs Out of Memory
The 24GB allocation is generous, but poorly optimized worlds or too many plugins can cause issues. Monitor memory usage with htop. If you’re consistently hitting limits, reduce view-distance further or switch to a lightweight server software like Paper.
Oracle Reclaims Your Instance
Oracle occasionally reclaims inactive free tier instances. Keep your server active with regular player activity, or set up a simple cron job that restarts the service weekly to show usage.
When Free Tier Isn’t Enough
Oracle’s free tier works great for small friend groups, but it has limitations. You’re sharing CPU resources with other tenants, which can cause occasional lag spikes. Network bandwidth is also limited compared to dedicated hosting.
If you’re planning to grow beyond 15 players or want guaranteed performance without the technical setup hassle, managed Minecraft hosting from GameTeam.io starts at $1/GB with 20% off for new customers. You get instant setup, automatic backups, and support when things break—no SSH required.
Frequently Asked Questions
How many players can Oracle Cloud free tier support?
Realistically 10-15 players with proper optimization. Performance depends on your world size, loaded chunks, and installed plugins. Vanilla Minecraft runs better than heavily modded servers.
Will Oracle charge me for exceeding free tier limits?
Not unless you manually upgrade resources beyond the Always Free allocation. The 4 OCPU and 24GB RAM configuration stays free permanently. Oracle won’t surprise you with charges.
Can I run modded Minecraft on Oracle Cloud?
Yes, but resource requirements increase significantly. Forge and Fabric servers need more RAM and CPU. You might need to reduce player count to 5-8 for stable performance with popular modpacks.
What happens if my instance gets terminated?
Always Free instances should remain active indefinitely, but Oracle can reclaim them for policy violations or extended inactivity. Keep regular backups of your world folder with rsync or SCP to your local machine.
Is Oracle Cloud faster than other free hosting options?
Oracle’s ARM-based Ampere processors outperform most free alternatives significantly. You’re getting legitimate enterprise hardware, not repurposed desktop computers. Network latency varies by region—choose the data center closest to your players.
Running a Minecraft server on Oracle Cloud free tier gives you legitimate hosting power without monthly costs. The setup requires some Linux knowledge, but once configured, it runs reliably for small communities. Just remember to keep backups and monitor resource usage as your world grows.
			
												