Deploying a Minecraft server in Yandex Cloud
Using the tutorial, you will deploy a Minecraft
To deploy a Minecraft server of the current version in Yandex Cloud:
- Prepare your cloud.
- Create a security group.
- Create a VM for the Minecraft server.
- Install the required utilities.
- Download and run the Minecraft server.
- Test the solution.
If you no longer need the resources you created, delete them.
Prepare your cloud
Sign up for Yandex Cloud and create a billing account:
- Go to the management console
and log in to Yandex Cloud or create an account if you do not have one yet. - On the Yandex Cloud Billing
page, make sure you have a billing account linked and it has theACTIVE
orTRIAL_ACTIVE
status. If you do not have a billing account, create one.
If you have an active billing account, you can go to the cloud page
Learn more about clouds and folders.
Required paid resources
The infrastructure support cost includes:
- Fee for continuously running VMs (see Yandex Compute Cloud pricing).
- Fee for using public IP addresses and outgoing traffic (see Yandex Virtual Private Cloud pricing).
Create a security group
Create a security group, with a rule allowing traffic to the 25565
port. This port is set by default in the server configuration file.
-
In the management console
, select your folder. -
In the list of services, select Virtual Private Cloud.
-
In the left-hand panel, select
Security groups. -
Click Create security group.
-
Under Name, enter
minecraft-sg
. -
Under Network, select the
default
network. -
Under Rules, create the following traffic management rules:
Traffic
directionDescription Port range Protocol Source /
Destination nameCIDR blocks Incoming any
25565
Any
CIDR
0.0.0.0/0
Outgoing any
25565
Any
CIDR
0.0.0.0/0
-
Click Save.
Create a VM for the Minecraft server
-
Create an SSH key pair:
ssh-keygen -t ed25519
We recommend leaving the key file name unchanged.
-
Create a VM with a public IP address:
Management console-
In the management console
, select the folder to create the virtual machine in. -
In the list of services, select Compute Cloud.
-
At the top right, click Create virtual machine.
-
Under General information:
- In the Name field, enter the VM name:
minecraft-server
. - Select an availability zone to place your VM in.
- In the Name field, enter the VM name:
-
Under Image/boot disk selection, go to the Operating systems tab and select the Ubuntu 22.04 LTS operating system image.
-
Under Disks, select an 18 GB HDD.
-
Under Computing resources, specify the recommended configuration for the Minecraft server:
- Platform: Intel Ice Lake
- Guaranteed vCPU performance: 100%
- vCPU: 2
- RAM: 2 GB
-
Under Network settings:
- Select the Subnet to which you want to connect the virtual machine. If you do not have the required subnet yet, create it in the same section.
- Under Public IP, keep the Auto value to assign your VM a random external IP address from the Yandex Cloud pool, or select a static address from the list if you reserved one in advance.
- In the Security groups field, select the
minecraft-sg
security group created earlier.
-
Under Access, specify the information required to access the VM:
-
In the Login field, enter the username of the user to be created on the virtual machine, e.g.,
ubuntu
.Alert
Do not use
root
or other names reserved by the operating system. To perform operations that require superuser permissions, use thesudo
command. -
In the SSH key field, paste the contents of the public key file.
-
-
Click Create VM.
Recommended virtual machine configuration:
Configuration Number of players vCPU RAM Disk size Minimum 1-4 2 1GB minimum 150MB HDD Recommended 5-10 2 2GB minimum 200MB HDD Ideal 10+ 4 4GB minimum 200MB SSD Warning
Note that this configuration table reflects the default settings defined in
server.properties
. The bigger the world grows, the higher the requirements, especially for RAM. The larger the rendered areas of the game world, villages, and other dynamic objects, the higher the virtual server requirements. -
Install the required utilities
-
Use SSH to connect to the created VM.
-
Install the necessary Java packages from the repository and the
screen
utility to run the terminal session in background mode:sudo add-apt-repository -y ppa:openjdk-r/ppa && sudo apt update -y && sudo apt install -y openjdk-17-jre-headless screen
Download and run the Minecraft server
-
Create a separate directory and navigate to it:
mkdir minecraft-server && cd minecraft-server
-
Follow the link
and copy the URL to download the distribution of the current server version. -
Download the distribution to the current directory using
wget
:wget -O minecraft_server_1.20.4.jar https://piston-data.mojang.com/v1/objects/8dd1a28015f51b1803213892b50b7b4fc76e594d/server.jar
-
Create the
eula.txt
file to automatically agree to the terms of the EULA :cat << EOF > eula.txt eula=true EOF
-
Run the background
screen
session:screen
-
In the background session, run the server:
java -Xms1024M -Xmx1024M -jar minecraft_server_1.20.4.jar nogui
Wait for the game world to be successfully completed.
[09:18:58] [Worker-Main-2/INFO]: Preparing spawn area: 81% [09:18:59] [Worker-Main-2/INFO]: Preparing spawn area: 82% [09:19:00] [Worker-Main-2/INFO]: Preparing spawn area: 83% ... [09:19:08] [Worker-Main-2/INFO]: Preparing spawn area: 97% [09:19:09] [Server thread/INFO]: Time elapsed: 75917 ms [09:19:09] [Server thread/INFO]: Done (92.666s)! For help, type "help"
-
(Optional) You can leave the
screen
session running in the background using thecontrol + a + d
hotkeys and return to the main terminal of the virtual machine.To return to the background session with the server running, if there is only one such background session, run the following command:
screen -r
If there are multiple background sessions, get a list of them by running the following command:
screen -list
Result:
There is a screen on: 24257.pts-0.mcft-test (02/28/2024 09:17:15 AM) (Detached) 1 Socket in /run/screen/S-username.
Then enter the session using its ID from the list:
screen -r 24257
-
After running the server, new directories and the necessary files for server operation and configuration will be created in the directory, including the logs:
4096 Mar 16 09:50 . 4096 Mar 16 09:52 .. 2 Mar 16 09:16 banned-ips.json 2 Mar 16 09:16 banned-players.json 10 Mar 16 09:48 eula.txt 4096 Mar 16 09:50 libraries 4096 Mar 16 09:16 logs 49150256 Dec 7 09:04 minecraft_server_1.20.4.jar 2 Mar 16 09:16 ops.json 1303 Mar 16 09:16 server.properties 2 Mar 16 09:16 usercache.json 4096 Mar 16 09:50 versions 2 Mar 16 09:50 whitelist.json 4096 Mar 16 09:13 world
Test the solution
-
Add the server to the list of servers in the Minecraft client. Give the server a name of your choice. In the Server address field, specify the public IP address assigned to our virtual machine when it was created.
-
In the list of servers, select the server you added and click
Connect
.
How to delete the resources you created
To stop paying for the resources you created: