Skip to content

Commit e80950b

Browse files
Merge pull request #3480 from anupras-mohapatra-arm/servers-and-cloud-computing
Minecraft on OCI LP review
2 parents 50e0631 + 8a5ef5b commit e80950b

4 files changed

Lines changed: 172 additions & 145 deletions

File tree

Lines changed: 58 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,71 @@
11
---
2-
title: Run a Minecraft server on OCI A1 Arm64 instances
2+
title: Run a Minecraft server on an Arm-based Oracle Cloud Infrastructure instance
33

4-
description: Provision an Arm64 instance on Oracle Cloud Infrastructure, install the Java runtime, and deploy a persistent Minecraft server for multiplayer gameplay.
5-
6-
draft: true
7-
cascade:
8-
draft: true
4+
description: Deploy a Minecraft Java Edition server on an Arm-based OCI A1 instance, open port `25565`, and connect from the Minecraft client.
95

106
minutes_to_complete: 10
117

12-
who_is_this_for: This is an introductory topic for developers who are new to OCI and want to provision an Arm64 instance and run a persistent Minecraft server on it.
8+
who_is_this_for: This is an introductory topic for developers who are new to Oracle Cloud Infrastructure (OCI) and want to provision an arm64 instance and run a persistent Minecraft server on it.
139

1410
learning_objectives:
15-
- Provision an OCI A1 Arm64 virtual machine instance suitable for running a Minecraft server
11+
- Provision an OCI A1 arm64 virtual machine instance suitable for running a Minecraft server
1612
- Deploy and configure Minecraft server software
17-
- Expose the Minecraft service from OCI by editing the network policy for the instance
13+
- Expose the Minecraft service from OCI by editing the network policy for the instance and the local firewall
1814
- Connect to the running Minecraft server from the Minecraft client application
1915

2016
prerequisites:
2117
- An Oracle Cloud Infrastructure (OCI) account
22-
- A copy of the [Minecraft Java edition client](https://www.minecraft.net/en-us/download) installed, and [a license](https://www.minecraft.net/en-us/store/minecraft-java-bedrock-edition-pc) for the game
18+
- A copy of the [Minecraft Java Edition client](https://www.minecraft.net/en-us/download) installed, and [a license for the game](https://www.minecraft.net/en-us/store/minecraft-java-bedrock-edition-pc)
19+
- A Microsoft account for starting a Minecraft client application
20+
21+
# START generated_summary_faq
22+
generated_summary_faq:
23+
template_version: summary-faq-v3
24+
generated_at: '2026-07-09T20:00:42Z'
25+
generator: ai
26+
ai_assisted: true
27+
ai_review_required: true
28+
model: gpt-5
29+
prompt_template: summary-faq-v3
30+
source_hash: d04787946bee50f6b196f22d0b9c890a69df2ed32a0b9769f5f6320912c925a6
31+
summary_generated_at: '2026-07-09T20:00:42Z'
32+
summary_source_hash: d04787946bee50f6b196f22d0b9c890a69df2ed32a0b9769f5f6320912c925a6
33+
faq_generated_at: '2026-07-09T20:00:42Z'
34+
faq_source_hash: d04787946bee50f6b196f22d0b9c890a69df2ed32a0b9769f5f6320912c925a6
35+
summary: >-
36+
You'll provision an Arm-based Ampere A1 virtual machine (VM) on Oracle
37+
Cloud Infrastructure (OCI), install the required Java runtime, and deploy a Minecraft Java Edition
38+
server. First, you'll set up the OCI VM instance and update security ingress rules. Then, you'll configure a persistent terminal session so the server continues running after
39+
SSH disconnects. With the server running, you'll update the server-side local firewall, start the Minecraft Java Edition
40+
client, and connect to the server to validate the deployment.
41+
faqs:
42+
- question: Which OCI shape and image should I choose for the server?
43+
answer: >-
44+
Create an Arm-based Ampere A1 instance with Oracle Linux 9.
45+
- question: Which Java package should I install on the Arm instance?
46+
answer: >-
47+
For Minecraft 26 or earlier, install Java 25 OpenJDK for aarch64. Use: `sudo dnf install
48+
java-25-openjdk.aarch64 -y`.
49+
- question: How do I keep the Minecraft server running after I close my SSH session?
50+
answer: >-
51+
Use `tmux` to create a persistent terminal session and start the server inside that session.
52+
You can disconnect and later reattach to the `tmux` session without stopping the server.
53+
- question: Which port do I need to open on the VM, and how?
54+
answer: >-
55+
Open TCP port `25565` in the Linux firewall. Run: `sudo firewall-cmd --permanent --add-port=25565/tcp`
56+
and `sudo firewall-cmd --reload`.
57+
- question: I opened the VM firewall but the client still can't connect. What should I check?
58+
answer: >-
59+
Verify the OCI network policy for the instance allows inbound TCP traffic on port `25565`
60+
to the VM. Update the OCI security settings if needed, then try connecting again.
61+
# END generated_summary_faq
2362

2463
author: Dave Neary
2564

65+
generate_summary_faq: false
66+
rerun_summary: false
67+
rerun_faqs: false
68+
2669
### Tags
2770
skilllevels: Introductory
2871
subjects: Web
@@ -35,10 +78,6 @@ operatingsystems:
3578
- Linux
3679

3780
further_reading:
38-
- resource:
39-
title: How To Setup And Run A Free Minecraft Server In The Cloud
40-
link: https://blogs.oracle.com/developers/how-to-setup-and-run-a-free-minecraft-server-in-the-cloud
41-
type: blog
4281
- resource:
4382
title: How to create a powerful Minecraft Server for free using Oracle Cloud
4483
link: https://www.youtube.com/watch?v=0kFjEUDJexI
@@ -47,6 +86,10 @@ further_reading:
4786
title: Deploy Arm instances on Oracle Cloud Infrastructure (OCI) using Terraform
4887
link: /learning-paths/servers-and-cloud-computing/oci-terraform/
4988
type: learning-path
89+
- resource:
90+
title: Getting started with Oracle Cloud Infrastructure
91+
link: /learning-paths/servers-and-cloud-computing/csp/oci/
92+
type: learning-path
5093

5194

5295
### FIXED, DO NOT MODIFY
@@ -55,3 +98,4 @@ weight: 1 # _index.md always has weight of 1 to order corr
5598
layout: "learningpathall" # All files under learning paths have this same wrapper
5699
learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content.
57100
---
101+
Lines changed: 19 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,79 +1,42 @@
11
---
2-
title: Connect the Minecraft client
3-
description: Configure security lists and OS-level firewalls to open port 25565, and connect to the Minecraft server.
2+
title: Connect to the server from the Minecraft client
3+
description: Open TCP port 25565 in the Oracle Linux firewall and connect to the OCI Minecraft Java Edition server from the Minecraft client.
44
weight: 4
55

66
### FIXED, DO NOT MODIFY
77
layout: learningpathall
88
---
99

10-
## Connect the Minecraft client to the server
10+
## Update Linux firewall to open port 25565
1111

12-
### Opening the port for the Minecraft server
12+
Update the instance's local firewall to allow connections to port `25565`.
1313

14-
Before you connect to the Minecraft server, change the network policy to allow clients to connect to the Minecraft server over TCP port number 25565. To do this, you need to modify the networking settings for your instance in the OCI dashboard.
15-
16-
1. On the OCI Instances page, choose your Minecraft server instance.
17-
2. In the **Networking** tab, click on the subnet name:
18-
![OCI Networking panel displaying instance subnet configurations#center](oci_instance_networking.webp "Open the networking panel in OCI")
19-
3. On the **Security** tab of the subnet page, choose the security list which is active for the instance
20-
(by default, this is called "Default Security List for vcn-xxxxxxxx")
21-
![OCI Subnet Details page highlighting the Default Security List#center](subnet_security_list.webp "Select the Default Security List on the Subnet Details page")
22-
4. Under **Security rules**, add a new Ingress rule (this means the rule applies to incoming traffic
23-
from outside the instance). Set **Source CIDR** to the public IP address (or range) of the
24-
players who will connect to your server. For example, if your home IP address is `203.0.113.45`,
25-
set the Source CIDR to `203.0.113.45/32` to allow only that address. You can add multiple
26-
ingress rules if players connect from different networks.
27-
28-
{{% notice Warning %}}
29-
Avoid using `0.0.0.0/0` as the Source CIDR. This opens the port to the entire internet and
30-
exposes your server to unauthorized access attempts. Always restrict access to only the IP
31-
addresses that need to connect.
32-
{{% /notice %}}
33-
34-
Set the **Destination Port Range** field to 25565.
35-
![OCI Ingress Rules dialog with source CIDR and destination port #center](open_minecraft_port.webp "Configure an Ingress rule to open port 25565")
36-
37-
You can find your current public IP address by searching "what is my IP address" in a web browser
38-
from the network you will use to connect.
39-
40-
You will also need to update the instance's local firewall to allow connections to port 25565 on your instance. Run the following commands:
14+
Run the following commands:
4115

4216
```console
4317
sudo firewall-cmd --permanent --add-port=25565/tcp
4418
sudo firewall-cmd --reload
45-
```
19+
```
4620

47-
You should now be able to run your Minecraft server on the OCI instance, then start your client on your laptop or desktop. You will first be asked to log in with your Microsoft or Mojang account.
21+
## Start a Minecraft client and connect to the server
4822

49-
Use the credentials you created for your Microsoft account.
23+
Run your Minecraft server on the instance, then start your client on your laptop or desktop.
5024

51-
### Connecting to the server from the Minecraft client
25+
To start a client and connect to the server, follow these steps:
5226

53-
1. Before connecting to the server with the client for the first time, you will need to
54-
[register for a Microsoft account](https://signup.live.com/).
55-
2. Start your Minecraft client and log in with your Microsoft account credentials.
56-
3. Start the "Minecraft Java edition" client from the launcher.
57-
![Minecraft launcher screen](minecraft_launcher.webp)
58-
4. Choose **Multiplayer** mode - read and click through the warning that third party servers are not operated by Mojang.
59-
5. To add your server to the menu of available servers, choose **Add server**, name your server
60-
something meaningful ("My OCI server" for example) and put the IP address of your instance into the
61-
**Server Address** field:
62-
![Minecraft multiplayer server dialog showing Server Name and Server Address fields filled in#center](configuring_new_minecraft_server.webp "Add your OCI instance public IP address to the Server Address field")
27+
1. Start your Minecraft client and log in with your Microsoft account credentials.
28+
2. Start the **Minecraft Java Edition** client from the launcher.
29+
![Minecraft Launcher with Minecraft: Java Edition selected and the Play button visible#center](minecraft_launcher.webp "Start Minecraft Java Edition from the launcher")
30+
3. Choose **Multiplayer** mode - read and click through the warning that third party servers aren't operated by Mojang.
31+
4. To add your server to the menu of available servers, choose **Add server**. Name your server something meaningful (for example, **My OCI server**) and put the IP address of your instance into the **Server Address** field:
32+
![Minecraft Edit Server Info dialog with an OCI server name and the OCI instance public IP address entered in the Server Address field#center](configuring_new_minecraft_server.webp "Add your OCI instance public IP address to the Server Address field")
6333

6434
You can now join the server and start building!
6535

66-
![Minecraft game client showing successful connection to the custom multiplayer server#center](connecting_to_server.webp "Connect to the custom Minecraft server")
67-
68-
### What you've accomplished
69-
70-
In this guide, you successfully:
36+
![Minecraft Play Multiplayer screen showing the OCI server listed with connection bars and the Join Server button available#center](connecting_to_server.webp "OCI server available in the Minecraft multiplayer list")
7137

72-
- Provisioned an Arm-based VM instance on Oracle Cloud Infrastructure.
73-
- Installed Java and deployed the Minecraft server software.
74-
- Configured OCI security ingress rules and server-side firewalls to expose the port.
75-
- Added and connected to the server using the Minecraft client application.
38+
## What you've accomplished
7639

77-
### Next steps
40+
You've now updated the instance's local firewall to open port `25565`, then started a client and connected it to the Minecraft server.
7841

79-
Now that your server is running, you can share the IP address with friends for multiplayer play. You can also explore automated startup scripts to ensure the server automatically recovers from reboots.
42+
Now that your server is running, you can share the IP address with friends for multiplayer play. You can also explore automated startup scripts to ensure the server automatically recovers from reboots.
Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,90 +1,94 @@
11
---
2-
title: Install the Minecraft server
2+
title: Install the Minecraft server on an Arm-based virtual machine
33
description: Install the Java Runtime Environment, download the Minecraft server files, and launch the server application.
44
weight: 3
55

66
### FIXED, DO NOT MODIFY
77
layout: learningpathall
88
---
99

10-
## Installing the Minecraft server
10+
## Install the Java Runtime Environment
1111

12-
### Installing the Java Runtime Environment
12+
Before you install the Minecraft server, install necessary dependencies. For Minecraft 26 or earlier, you'll need to install Java 25.
1313

14-
Before you install the Minecraft server, you need to install the required software. For the Minecraft 26 server or earlier, you will need Java 25.
15-
16-
Connect to your instance using SSH as described in the previous step. You can install Java 25 on Oracle Linux 9 with:
14+
After connecting to your VM instance over SSH, install Java 25:
1715

1816
```console
1917
sudo dnf install java-25-openjdk.aarch64 -y
2018
```
2119

22-
### Keeping the server running after disconnecting
20+
## Create a persistent terminal session for the server
2321

2422
The Minecraft server runs in the foreground of your terminal session. If you close your SSH
2523
connection, the server process will stop. To keep the server running after you disconnect, use
2624
`tmux` to create a persistent terminal session.
2725

28-
While still connected to your instance via SSH, install `tmux` on Oracle Linux 9:
26+
Install `tmux` on the VM instance:
2927

3028
```console
3129
sudo dnf install tmux -y
3230
```
3331

34-
Start a new `tmux` session named "minecraft":
32+
Start a new `tmux` session named `minecraft`:
3533

3634
```console
3735
tmux new -s minecraft
3836
```
3937

40-
You are now inside a `tmux` session. Any commands you run here will continue running even after you
41-
disconnect from SSH. You will start the Minecraft server inside this session in the next section.
38+
You're now inside a `tmux` session. Any commands you run here will continue running even after you
39+
disconnect from SSH. You'll start the Minecraft server inside this session.
4240

4341
When you need to disconnect, press `Ctrl+B` then `D` to detach from the session. The server
4442
continues running in the background.
4543

46-
To reattach to the session later (for example, after reconnecting via SSH):
44+
To reattach to the session later (for example, after reconnecting to the instance via SSH), run:
4745

4846
```console
4947
tmux attach -t minecraft
5048
```
5149

52-
### Downloading and installing the Minecraft server
50+
## Download and install the Minecraft server
5351

54-
You can find the link for the latest version of the Minecraft server
55-
[on the Minecraft website](https://www.minecraft.net/en-us/download/server).
52+
For the latest version of the Minecraft server, see
53+
[the Minecraft website](https://www.minecraft.net/en-us/download/server).
5654

57-
On that page, right-click the `minecraft_server.x.x.x.jar` link and copy the URL. Then run the following command on your OCI instance to download it:
55+
Copy the `minecraft_server.x.x.x.jar` URL from that page. Then, run the following command on the instance to download `server.jar` from the Mojang website:
5856

59-
```console
57+
```bash
6058
wget <paste URL to server.jar here>
6159
```
6260

63-
This will download `server.jar` from the Mojang website, and you will have a `server.jar` file on your OCI instance. To make it easier to keep track of different server versions, rename the `server.jar` file to a more meaningful name:
61+
You'll have a `server.jar` file on your OCI instance. To make it easier to keep track of different server versions, rename the `server.jar` file to something more meaningful
6462

65-
```console
63+
For example:
64+
65+
```bash
6666
mv server.jar minecraft_server.26.2.jar
6767
```
6868

69+
## Start the Minecraft server
70+
6971
To start the Minecraft server, run the command:
7072

71-
```console
73+
```bash
7274
java -Xmx8G -Xms8G -jar minecraft_server.26.2.jar nogui
7375
```
7476

75-
This runs the server without a graphical user interface, and allocates 8GB of memory to it.
77+
This runs the server without a graphical user interface, and allocates 8 GB of memory to it.
7678

77-
The first time you do this, the start-up will fail and a file called `eula.txt` is created in the local folder.
79+
The first time you do this, the startup will fail and a file called `eula.txt` is created in the local folder.
7880

79-
Before you start the server, you first need to accept its terms of use.
81+
Before starting the server again, accept the End User License Agreement.
8082

8183
Open `eula.txt` and change `eula=false` to `eula=true`, or run:
8284

8385
```console
8486
sed -i 's/eula=false/eula=true/' eula.txt
8587
```
8688

87-
Running the server again after doing this will succeed, and you should see the following messages on the terminal, showing that the process has completed successfully (timestamps will be different at the start of the lines):
89+
After accepting terms of use, you'll be able to run the server successfully with the same command as earlier.
90+
91+
The output is similar to:
8892

8993
```output
9094
[00:40:50] [Server thread/INFO]: Starting minecraft server version 26.2
@@ -107,10 +111,8 @@ Running the server again after doing this will succeed, and you should see the f
107111
[00:41:04] [Server thread/INFO]: ThreadedAnvilChunkStorage: All dimensions are saved
108112
```
109113

110-
### What you've accomplished
111-
112-
You installed the open-source Java Runtime Environment on your instance, downloaded the Minecraft server files, accepted the End User License Agreement, and started the game server.
114+
## What you've accomplished and what's next
113115

114-
### Next step
116+
You've now installed the open-source Java Runtime Environment on your instance, downloaded the Minecraft server files, accepted the End User License Agreement, and started the game server.
115117

116-
With the server successfully running in the cloud, you will now open the necessary network ports to allow the Minecraft client to connect to your instance.
118+
Next, you'll connect a Minecraft client to the server.

0 commit comments

Comments
 (0)