Host Minecraft on Amazon Lightsail
Run a persistent Minecraft Java server with a static IP on Amazon Lightsail.
Introduction
30 Second Summary
Hosting a shared Minecraft world from your own computer ties every game session to that machine. Friends can only play while it stays online.
In this project, you will host a vanilla Minecraft: Java Edition 26.2 survival world on Amazon Lightsail. You will turn its first successful launch into a dependable server that friends can rejoin through one permanent address.
What You'll Build
After the cloud machine restarts, your Windows client reconnects to the same survival world through a permanent address.
By the end of this project, you'll have:
- A playable vanilla survival world that you can join from Minecraft on Windows. Your invited friends can use the same server address.
- A targeted game connection through TCP port 25565. You prove it works when your player enters the world.
- A static IPv4 address that survives instance restarts. Automatic startup through systemd brings the world back without a manual server launch.
- Secret Mission: Stop the server cleanly before capturing a manual Lightsail snapshot. Bring the same world back online through its permanent address.
Are there any prerequisites?
You need an AWS account that can create Lightsail resources plus Minecraft: Java Edition installed on Windows. The selected server plan is billed hourly up to $24.00 USD/month, with cleanup choices at the end of the project.
Before We Start
Before any hands-on work, this is your moment to commit to hosting a private vanilla Minecraft world for 2 to 5 invited players. Clarifying why you want to host it in AWS gives every server decision a clear purpose.
Launch and Prepare the Server
Your private world needs a computer that stays online when your Windows PC is off. Amazon Lightsail provides that virtual private server in AWS.
The machine needs a compatible Java runtime. It also needs the official server jar before it can produce anything visible.
A root launch script installs Amazon Corretto 25. It prepares the Minecraft: Java Edition 26.2 files for their first real start.
In this step, get ready to:
- Create the correctly sized Amazon Linux 2023 Lightsail instance.
- Automate the first boot with the complete launch script.
- Connect through browser-based SSH to verify the Java runtime and server files.
Configure the Lightsail instance
A nearby AWS Region keeps the network path shorter for your invited players. The selected plan supplies 4 GB of memory for the operating system plus your small shared world.
Why Lightsail for this server?
Amazon EC2 offers more instance choices. It also requires more networking setup.
Lightsail groups the core server controls into one console. That simpler path keeps this project focused on operating the Minecraft service.
- Sign in to the AWS Management Console with the AWS account you prepared for this project.
You'll see the AWS console home page after the sign-in completes.
- Use the console search bar to find Amazon Lightsail.
- Select Amazon Lightsail from the search results.
You'll see the Lightsail home page with the Create instance option.
- Choose Create instance.
- Select an AWS Region near your invited players.
The location section now shows the Region where Lightsail creates your server.
- Select Linux as the platform.
- Choose OS Only as the blueprint type.
The blueprint list now contains operating systems without bundled applications.
- Select Amazon Linux 2023 as the blueprint.
- Select the dual-stack option labelled (IPv4 and IPv6).
The instance configuration now shows Amazon Linux 2023 with dual-stack networking.
This instance starts paid usage
Creating this plan starts hourly billing up to $24.00 USD/month. The instance keeps accruing charges while stopped.
You stay in control because deleting the instance ends its instance charges.
- Select the Medium-4GB Linux with public IPv4 plan.
- Enter minecraft-java-server as the instance name.
The creation form now shows your 4 GB plan plus the minecraft-java-server name.
Automate the first boot
A launch script turns a blank Linux instance into a prepared game server during its first boot. Lightsail runs these commands as root, so the script does not need sudo.
- Choose Add launch script on the instance creation page.
- Paste the complete launch script below into the launch script field:
#!/bin/bash
MINECRAFTSERVERURL=https://piston-data.mojang.com/v1/objects/823e2250d24b3ddac457a60c92a6a941943fcd6a/server.jar
yum install -y java-25-amazon-corretto-headless
adduser minecraft
mkdir /opt/minecraft/
mkdir /opt/minecraft/server/
cd /opt/minecraft/server
wget $MINECRAFTSERVERURL
java -Xmx1024M -Xms1024M -jar server.jar nogui
touch start
printf '#!/bin/bash\njava -Xmx1024M -Xms1024M -jar server.jar nogui\n' >> start
chmod +x start
chown -R minecraft:minecraft /opt/minecraft/
What does this launch script do?
- The MINECRAFTSERVERURL variable holds the pinned download location for the Minecraft 26.2 server jar.
- The package installation adds Amazon Corretto 25 as the compatible Java runtime.
- The directory setup creates /opt/minecraft/server/ for the Minecraft files.
- The first server launch generates eula.txt with eula=false. It stops at the required license gate.
- The start helper preserves the official Java launch command for later runs.
- The final ownership change assigns /opt/minecraft/ to minecraft:minecraft.
This first boot can stay pending for several minutes. That delay is expected while the launch script prepares the server.
- Choose Create instance.
- Wait until minecraft-java-server finishes provisioning.
That's the paid resource created. Your minecraft-java-server instance now shows Running.
Instance not reaching Running?
- Confirm your AWS account has permission to create Lightsail resources.
- Wait several more minutes if provisioning is still in progress.
Ask for help if the instance remains stuck: help me troubleshoot why my Lightsail instance is not reaching the running state
Connect with browser SSH and verify the files
Browser-based SSH gives you a Linux terminal without requiring local SSH software. This terminal lets you confirm that the launch script completed inside the instance.
- Select the minecraft-java-server instance from the Lightsail home page.
- Choose the Connect tab on the instance page.
You'll see the browser connection options for your Linux instance.
- Choose Connect using SSH.
You'll see a Linux terminal connected to the instance as ec2-user.
Before you check, what would prove that both the Java installation and first server run completed?
- Check the active Java runtime by running this command:
java -version
What does this check prove?
This command asks the active Java runtime to identify itself. You should see openjdk version "25.0.4" 2026-08-18 LTS in the output.
That version confirms the launch script installed the Java major version required by Minecraft 26.2.
- Inspect the prepared server directory by running this command:
ls /opt/minecraft/server/
What do these files prove?
You should see server.jar, eula.txt, and start in the output.
- The server.jar file is the pinned Minecraft 26.2 server software.
- The generated eula.txt file proves the jar completed its first run. Its initial setting is eula=false.
- The executable start file contains the launch command you use in the next step.
Don't see the expected files?
- Wait several more minutes because the launch script may still be finishing.
- Reconnect through Connect using SSH if the browser terminal closed.
- Repeat the server directory check above after reconnecting.
Ask for help if the files remain missing: help me troubleshoot why the Minecraft server files were not created by my Lightsail launch script
✔️ Awesome, I've got everything!
Great. Amazon Corretto 25 is installed and your Minecraft server files are ready for the EULA step.
ⓧ I'd like to double check the full code
Your complete launch-script.sh should match this reference.
#!/bin/bash
MINECRAFTSERVERURL=https://piston-data.mojang.com/v1/objects/823e2250d24b3ddac457a60c92a6a941943fcd6a/server.jar
yum install -y java-25-amazon-corretto-headless
adduser minecraft
mkdir /opt/minecraft/
mkdir /opt/minecraft/server/
cd /opt/minecraft/server
wget $MINECRAFTSERVERURL
java -Xmx1024M -Xms1024M -jar server.jar nogui
touch start
printf '#!/bin/bash\njava -Xmx1024M -Xms1024M -jar server.jar nogui\n' >> start
chmod +x start
chown -R minecraft:minecraft /opt/minecraft/
The generated /opt/minecraft/server/start file should match this reference.
#!/bin/bash
java -Xmx1024M -Xms1024M -jar server.jar nogui
Your cloud server now has the correct Java runtime plus the official Minecraft files. Next, you'll turn those prepared files into a running Minecraft server.
Start the Server and Test Connectivity
Your Amazon Lightsail instance already contains the official Minecraft: Java Edition server files. The first run stopped at the EULA gate inside your browser-based SSH session.
A healthy game process proves the software can run on the instance. A player connection tests the separate path from Windows to that process.
In this step, get ready to:
- Review the Minecraft EULA. Accept its terms if you agree.
- Start the server. Watch for its readiness signal.
- Attempt a multiplayer connection from Windows. Use the result to diagnose the network path.
Accept the Minecraft EULA
The eula=false setting is the server's license gate. The server can continue only after that value records your acceptance.
Accept Only If You Agree
License acceptance is your decision. Change the setting only after you have read the agreement.
- Read the Minecraft End User License Agreement.
- Return to the browser SSH terminal from earlier.
- Open /opt/minecraft/server/eula.txt with elevated permissions by running this command:
sudo vi /opt/minecraft/server/eula.txt
What Does This Command Do?
- The sudo command gives the editor permission to save the server configuration.
- The vi editor opens the existing EULA file in the terminal.
- The server reads this file each time it starts.
- Press i to enter Insert mode.
- Use the arrow keys to place the cursor on false.
- Replace false with true.
- Press Esc to return to Normal mode.
- Type :wq.
- Press Enter to save the file.
Having Trouble Editing the File?
If typing moves the cursor or triggers commands, press i before changing the value. If :wq appears inside the file, press Esc before typing it again.
Ask for help with the exact editor behavior you see: help me update eula=false to eula=true with vi and save the file
Start the server and watch it load
The existing start helper runs the server jar as a foreground Java process. The SSH terminal becomes the live server console while that process runs.
- Start the server from /opt/minecraft/server/ by running these commands:
cd /opt/minecraft/server
sudo ./start
What Do These Commands Do?
- The cd command moves the terminal into the directory containing server.jar.
- The sudo ./start command runs the executable launch helper.
- The helper gives the Java process an initial heap of 1024M.
- The helper caps the Java heap at 1024M.
- The nogui option keeps the server inside the terminal.
- Wait until the server console reports Done.
That is the first live proof that your vanilla world is running.
Server Stops Before Reaching Done?
If the server returns to the license gate, reopen /opt/minecraft/server/eula.txt. Confirm the file contains eula=true.
If the launch helper cannot run, confirm your terminal is inside /opt/minecraft/server/. Help me troubleshoot why the Minecraft server does not reach Done
- Leave the browser SSH console running in the foreground.
Test the connection from Windows
Your current public IPv4 address is enough for this first reachability check. The open server console lets you compare client behavior with process health.
- Switch to the Lightsail instance page for minecraft-java-server.
- Record the current public IPv4 address as your current public IPv4 address.
- Press the Windows key to open the Windows search bar.
- Type Minecraft Launcher and press Enter to open it.
- Start Minecraft: Java Edition 26.2.
- Open the multiplayer screen.
- Enter your current public IPv4 address as the server address.
Before you connect, do you think a running server guarantees that the Windows client can reach it?
- Start the connection attempt.
The client cannot join the world. This is the intended shortfall in the first connectivity test.
- Switch back to the browser SSH console.
The server remains healthy in the foreground. No player connection reaches its console.
Why Does the Connection Fail?
Amazon Lightsail currently has no inbound firewall rule for Minecraft traffic. The client request never reaches the healthy server process.
The server needs gameplay traffic on TCP port 25565. Opening that single path is the next step.
You have proved that the server can be healthy while players remain blocked outside it. Next, you will allow only TCP port 25565 and join the world.
Open the Game Port and Join
Your Minecraft: Java Edition server already reaches Done in the SSH console. The failed join proved that a healthy process can still be unreachable when a firewall blocks its network path.
Amazon Lightsail still blocks incoming game traffic. A targeted rule for TCP port 25565 creates the missing path.
In this step, get ready to:
- Locate the IPv4 firewall controls for minecraft-java-server.
- Create an unrestricted custom TCP inbound rule for port 25565.
- Reconnect to the generated world through the current public IPv4 address.
Find the IPv4 firewall
Lightsail manages inbound network access from the instance's Networking tab. This is where you control which internet traffic can reach the running server.
- Return to the Amazon Lightsail console tab from earlier.
- Select Instances in the left navigation.
- Select minecraft-java-server.
- Select the Networking tab.
You should see the current inbound rules under IPv4 Firewall. This section decides which IPv4 traffic may reach the instance.
Add the game port rule
Keep the opening narrow
Opening an internet-facing rule can feel risky. This rule exposes only Minecraft's TCP game port. Your existing browser-based SSH access stays separate.
- Choose Add rule under IPv4 Firewall.
- Select Custom for Application.
- Select TCP for Protocol.
- Enter 25565 in the Port field.
- Keep the source unrestricted.
- Choose Create.
You should see a custom TCP rule for port 25565 under IPv4 Firewall. That security-sensitive change is now limited to the game port.
Why Only One Port?
The official Minecraft server uses port 25565 for Java Edition connections. Allowing this port gives players the route they need without exposing every TCP port.
The unrestricted source allows invited players to connect from changing home addresses. The port limit keeps the opening focused on gameplay.
Rule Missing From the Firewall?
- Confirm that you added the rule under IPv4 Firewall.
- Check that Application shows Custom.
- Check that Protocol shows TCP.
- Check that Port shows 25565.
Help me check why my Lightsail IPv4 firewall rule is missing or incorrect.
Join the world from Windows
The server is still running, so this retest isolates one change: network access. A successful connection proves the inbound rule completed the path from your Windows client to the Java process.
- Return to Minecraft: Java Edition 26.2 from earlier.
- Select Multiplayer.
- Select Direct Connection.
- Enter the same public IPv4 address from your failed test in the Server Address field.
Before you connect, form your prediction about whether the same address can now reach the server after changing only the firewall.
- Choose Join Server.
You should load into the generated vanilla world. That is the barrier cleared: your running server now accepts players through the targeted firewall rule.
- Move around inside the generated world.
- Return to the browser-based SSH console from earlier.
You should see a player connection entry in the server console. This confirms that the game client reached the Java process through port 25565.
Still Unable to Join?
- Confirm that the custom TCP rule for port 25565 appears under IPv4 Firewall.
- Check that the SSH console still shows the running server output after Done.
- Confirm that the Windows client uses Minecraft: Java Edition 26.2.
- Confirm that Server Address contains the instance's current public IPv4 address.
Help me troubleshoot why Minecraft: Java Edition cannot join my Lightsail server after I opened TCP port 25565.
Your world is now reachable through the instance's current address. Next, you'll attach a static IPv4 address so players keep one server address across restarts.
Attach a Permanent Address
Your targeted firewall rule now lets Minecraft traffic reach the server on Amazon Lightsail. The world is playable from Windows.
Players still use the instance's default public IPv4 address. That address can change after a stop or restart. A static IPv4 address gives the server one dependable destination.
In this step, get ready to:
- Create a static IPv4 address named minecraft-java-ip.
- Attach the address to minecraft-java-server.
- Reconnect to the same world through the permanent address.
Create the static IPv4 address
Lightsail keeps a static IPv4 address assigned to the same instance across stops or restarts. The address has no extra charge while it stays attached to your instance.
- Switch back to the Amazon Lightsail console tab from earlier.
- Choose Networking in the left navigation.
- Choose Create static IP.
- Select the same AWS Region as minecraft-java-server.
- Select minecraft-java-server as the Lightsail resource.
- Enter minecraft-java-ip as the static IP name.
- Choose Create.
Well done. minecraft-java-ip is now attached to your running Minecraft server.
Confirm the attached address
A blue pushpin is Lightsail's confirmation that the instance is using a static address. Recording the address gives you the value to enter in Minecraft.
- Return to the minecraft-java-server instance page from earlier.
- Choose the Networking tab.
- Confirm a blue pushpin appears beside the public IP address.
- Record the displayed address here: your static IPv4 address.
The blue pushpin proves that Lightsail has replaced the changeable endpoint with the attached static address.
Reconnect to the same world
The Minecraft process has stayed running throughout this change. Reconnecting now proves that the static address reaches the existing world.
Before you reconnect, picture whether the address change should lead to a new world or the world you already played.
- Switch back to Minecraft from earlier.
- Replace the old default public IPv4 address in your existing multiplayer connection with your static IPv4 address.
- Reconnect to the server.
- Return to the browser-based SSH console from earlier.
- Confirm the console logs your player connection.
You should load the same generated world through the static IPv4 address. The SSH console should show your player connection.
That is the permanent endpoint in place. Players can now reuse the same address after the instance stops or restarts.
Your server now has a permanent player-facing address. Next, you'll place the foreground Minecraft process under systemd so it returns after an instance restart.
Enable Automatic Startup
Your static address is now a reliable doorway into the same Minecraft world. Players can reconnect through that address after the instance changes state.
However, the server still depends on the Java process inside your browser-based SSH session. Closing that process or rebooting the Amazon Lightsail instance takes the world offline.
In this step, systemd takes ownership of the server process. It starts Minecraft during boot without waiting for you to run the start script.
In this step, get ready to:
- Retire the foreground Minecraft process.
- Create a systemd service for the server.
- Prove Minecraft returns automatically after a reboot.
Replace the foreground process with a service
A foreground process belongs to the terminal that started it. The existing process must stop before systemd can start another copy on the same game port.
- Stop the foreground Minecraft process in the SSH console from earlier by pressing Ctrl+C.
You will see the Minecraft server begin its shutdown. Your SSH prompt returns when the process has stopped.
- Confirm the Minecraft directory belongs to the dedicated server account by running:
ls -ld /opt/minecraft/
What should the ownership show?
The long listing shows the directory owner followed by its group. You should see minecraft minecraft in those two positions.
This ownership lets the service run as the minecraft account while reading the server files. The game process does not need the broader permissions of the root account.
- Create the service file with administrator permissions by running:
sudo vi /etc/systemd/system/minecraft.service
What does this command do?
The command opens /etc/systemd/system/minecraft.service in the vi editor. Files in this system directory require administrator permissions.
Editing in vi can feel fiddly at first. Its keyboard modes control whether your keys insert text or run editor commands.
- Enter Insert mode by pressing i.
- Paste this service definition into vi:
[Unit]
Description=Minecraft Server on start up
Wants=network-online.target
[Service]
User=minecraft
WorkingDirectory=/opt/minecraft/server
ExecStart=/opt/minecraft/server/start
StandardInput=null
[Install]
WantedBy=multi-user.target
How does the service work?
- The [Unit] section tells systemd that the server wants the network to be online.
- The [Service] section runs the existing start script as the minecraft user.
- The WorkingDirectory value puts the Java process beside server.jar.
- The [Install] section gives systemd the information it needs to enable startup during boot.
- Return to Normal mode by pressing Esc.
- Type :wq to save the file.
- Close the editor by pressing Enter.
- Register the new unit with systemd by running:
sudo systemctl daemon-reload
What does daemon-reload do?
The command makes systemd reread its unit files. Your new minecraft.service definition becomes available for service commands.
The prompt should return without an error. That confirms systemd accepted the unit-file structure.
Having trouble saving the service file?
Make sure you pressed i before pasting. Press Esc before entering :wq.
Check that each section header begins at the start of its own line. A missing header or path can prevent systemd from loading the unit.
Help me diagnose my Minecraft systemd unit file.
✔️ Awesome, I've got everything!
Your service file is saved. Systemd now recognizes the Minecraft unit.
ⓧ I'd like to double check the full code
Compare your service file with this exact version.
[Unit]
Description=Minecraft Server on start up
Wants=network-online.target
[Service]
User=minecraft
WorkingDirectory=/opt/minecraft/server
ExecStart=/opt/minecraft/server/start
StandardInput=null
[Install]
WantedBy=multi-user.target
What should match?
Every section name must match this reference. The user plus both absolute paths must also match exactly.
Your existing start helper should still contain this code.
#!/bin/bash
java -Xmx1024M -Xms1024M -jar server.jar nogui
Why does the start helper stay unchanged?
The service calls this executable file through ExecStart. The helper still launches the server with the same memory settings.
Your original launch script should still match this reference.
#!/bin/bash
MINECRAFTSERVERURL=https://piston-data.mojang.com/v1/objects/823e2250d24b3ddac457a60c92a6a941943fcd6a/server.jar
yum install -y java-25-amazon-corretto-headless
adduser minecraft
mkdir /opt/minecraft/
mkdir /opt/minecraft/server/
cd /opt/minecraft/server
wget $MINECRAFTSERVERURL
java -Xmx1024M -Xms1024M -jar server.jar nogui
touch start
printf '#!/bin/bash\njava -Xmx1024M -Xms1024M -jar server.jar nogui\n' >> start
chmod +x start
chown -R minecraft:minecraft /opt/minecraft/
Why keep the launch script?
This reference records how the instance received Java plus its Minecraft files. The new service builds on those existing artifacts.
Activate the service
Loading a unit makes systemd aware of it. Enabling the unit connects it to the boot sequence.
Before you run these commands, do you expect the service status to show a stopped process or a running process?
- Enable the service at boot, start it now, and inspect its state by running these commands:
sudo systemctl enable minecraft.service
sudo systemctl start minecraft.service
sudo systemctl status minecraft.service
What should the service report?
- The enable command links the service into the boot sequence.
- The start command launches Minecraft during the current session.
- The status command should show active (running).
- The process details should reference /opt/minecraft/server/start plus the Java server command.
That is the foreground terminal dependency removed. Systemd now owns the running Minecraft process.
Service not running?
Check that User=minecraft appears in the service file. Confirm that /opt/minecraft/server/start matches the existing executable path.
Confirm the earlier foreground process stopped before systemd tried to start its copy. Only one Minecraft process can listen on the game port.
Help me troubleshoot why minecraft.service is not active.
Prove automatic startup after a reboot
A running service proves the unit can launch Minecraft. A full instance reboot proves the boot sequence can launch it without your terminal.
Before you reboot, do you think the same world will return without another manual server start?
- Return to the Lightsail instance management page for minecraft-java-server.
- Choose Reboot.
- Choose Confirm when prompted.
The reboot can take a few minutes. Your current SSH connection closes while the instance restarts.
- Wait for the instance to return to the Running state.
- Return to the instance's Connect tab.
- Choose Connect using SSH.
- Check the automatically started service by running:
sudo systemctl status minecraft.service
What proves automatic startup?
The service should show active (running) after the reboot. You did not run the start script manually in this new SSH session.
Systemd launched /opt/minecraft/server/start during boot. That helper runs Java with -Xmx1024M plus -Xms1024M.
- Return to Minecraft: Java Edition 26.2 on Windows.
- Reconnect using the static IPv4 address attached to minecraft-java-ip.
You should load into the same generated world without starting the server from SSH. Your permanent address now leads to a server that recovers automatically after a reboot.
Minecraft still cannot reconnect?
Confirm that the instance has returned to the running state. Check that the service status still shows an active process.
Use the static IPv4 address attached to minecraft-java-ip. The existing TCP firewall rule must still allow port 25565.
Help me troubleshoot Minecraft after the Lightsail reboot.
You have turned a terminal-bound game process into a persistent Linux service. Your Minecraft world now starts with the instance and returns through the same static address.
Secret mission
Create a Recoverable World Backup
Stop the Minecraft service cleanly so its world files become still. Capture a manual snapshot named minecraft-world-backup. Start the instance again to prove the same world returns through its permanent address.
Clean Up Your Resources
Clean Up Your Resources
Your Minecraft world now lives on paid Amazon Lightsail resources. Decide whether to keep your resources running, pause them to come back later, or delete them entirely.
Cost warning
The Medium-4GB Linux with public IPv4 plan is billed hourly up to $24.00 USD/month. Standard instance charges continue while the instance is stopped.
The minecraft-world-backup snapshot costs $0.05 USD/GB-month. The minecraft-java-ip static IPv4 address has no extra charge while attached.
A static IPv4 address detached for more than one hour costs $0.005 USD/hour. Delete an unwanted detached address promptly.
Resources you used:
- One Medium-4GB Linux with public IPv4 Lightsail instance named minecraft-java-server. The plan is billed hourly up to $24.00 USD/month.
- One attached static IPv4 address named minecraft-java-ip. It has no extra charge while attached.
- One completed manual snapshot named minecraft-world-backup. It costs $0.05 USD/GB-month until deleted.
- One unrestricted custom IPv4 firewall rule that allows TCP traffic on port 25565.
Keep everything running
No action needed. Choose this if you want the world to remain available through its permanent address.
- Leave minecraft-java-server running to keep the world available to invited players.
- Keep minecraft-java-ip attached so the player-facing address stays unchanged.
- Retain minecraft-world-backup as a recovery point for future experiments.
- Budget for hourly instance charges up to the $24.00 USD monthly plan price.
- Budget for snapshot storage at $0.05 USD/GB-month.
Pause - I'll come back to this later
Stopping the instance makes the world unavailable to players. Its disk remains in place for your return.
Stopping the instance also closes your browser-based SSH session. Your paid instance continues accruing charges during the pause.
- Return to the Lightsail page for minecraft-java-server.
- Choose Stop.
You'll see the instance status change to stopped. The Minecraft world becomes unreachable through minecraft-java-ip.
- Choose Start on the same instance page when you are ready to return.
Your enabled service starts the server during boot. Players can reconnect through the same static IPv4 address.
Delete - I don't want to use this again
Deletion is the point of no return for the instance disk. Your manual snapshot can preserve a recovery path after the instance is gone.
The snapshot choice determines whether you keep paying for backup storage. Pick the outcome that fits your recovery plan.
Preserve the recovery snapshot
Keep the manual snapshot if you may recreate this world later. The snapshot remains available after the original instance is deleted.
- Leave minecraft-world-backup in your Lightsail account.
- Expect snapshot storage charges of $0.05 USD/GB-month until you delete it.
Delete the recovery snapshot
Removing the snapshot ends its storage charges. This also removes the recovery copy created during the Secret Mission.
- Return to the Lightsail page for minecraft-java-server.
- Select the Snapshots tab.
- Open the actions menu for minecraft-world-backup under Manual snapshots.
- Choose Delete snapshot.
- Confirm the snapshot deletion.
The backup no longer incurs snapshot storage charges.
Delete the paid instance:
- Return to Lightsail's Instances page.
- Open the actions menu for minecraft-java-server.
- Choose Delete.
- Confirm the instance deletion.
That is the largest ongoing charge removed. The custom TCP rule for port 25565 disappears with the instance.
Deleting the instance detaches minecraft-java-ip. The address begins accruing the detached-address fee if it remains unattached for more than one hour.
Delete the detached static address:
- Select Networking in the Lightsail left navigation.
- Open the actions menu for minecraft-java-ip.
- Choose Delete.
- Confirm the static IPv4 address deletion.
Your paid instance is now gone. The detached-address fee cannot begin.
Nice Work!
Nice Work!
You did it! Your vanilla Minecraft: Java Edition 26.2 world now runs on Amazon Lightsail for invited players.
You've learned how to:
- Deployed a vanilla Minecraft server on Amazon Linux 2023 with Amazon Corretto 25 through browser-based SSH.
- Diagnosed why a healthy server remained unreachable after it reached Done. Opened only TCP port 25565 for gameplay.
- Attached the permanent address minecraft-java-ip. Configured systemd to bring the same world online after an instance restart.
- Completed the optional Secret Mission by capturing the minecraft-world-backup snapshot while the world was safely stopped. Brought the same world back online through the static IPv4 address.
Ready to quiz yourself?