This is for running the bedrock version of Minecraft, as used on Android, Apple and Windows 10.
Set up an AWS instance, lightsail is a simplified version which should be enough.
1. Create an Amazon Lightsail account
This tutorial is free tier eligible.
Once you've created a Lightsail account, sign into the Lightsail console.
Already have an account? Sign-in
2. Launch your Lightsail instance
b. Choose Change Region and Availability Zone to create your instance in another location.
Select the closest Region to you so that you have good latency when playing.
c. Choose Linux as your platform, and select Ubuntu as your Blueprint.
When choosing your Blueprint, ensure you are selecting from the subsection, OS Only, not Apps + OS.
To learn more about Lightsail Blueprints, see Choose an Amazon Lightsail instance image.
d. Choose your instance plan.
Select the $5/month instance plan.
Note: The $3.50 Instance type is enough for a small server with a few friends, but if you expect to build a large world with more players, consider choosing a more powerful instance.
e. Enter a name for your instance.
f. Double-check everything and then click Create instance.
3. Configure and connect to your server
a. Once your server is ready, select it, and click the Networking tab.
b. In the Networking tab, add a firewall rule to allow port 19132.
This is the default port used by the Bedrock Minecraft network protocol.
c. Open port 19132, protocol UDP to enable Minecraft clients to connect to the server.
d. Navigate to the Connect tab, and select Connect using SSH.
e. SSH to your Lightsail instance from your browser by using the public IP address. You will need this Public IP address later in the tutorial, too.
f. This will open a browser popup with a browser window for you to run commands on your Lightsail instance. Once connected, run:
Start server with a start script, so create one with:
Then make it runnable:
chmod +x run.sh
You might want to edit server.properties before starting the server - see https://minecraft.gamepedia.com/Server.properties
Then run this in the background so it doesnt stop when your shell dies:
nohup ./run.sh &
Connect from Minecraft
Read more at https://minecraft.gamepedia.com/Bedrock_Dedicated_Server
https://aws.amazon.com/getting-started/hands-on/run-your-own-minecraft-server/ ( this is for the Java version of Minecraft)