Это руководство по настройке выделенного сервера Minecraft 1.19.2 в Linux. Он будет работать практически с любым вариантом Linux с небольшими изменениями или без них.
Этот сервер будет автоматически запускать игру и иметь доступ к удаленному администрированию через rcon.
Понадобится:
Для начала необходимо заказать сервер с перечисленными параметрами. Рекомендуем сделать тут: Заказать VPS. В качестве операционной системы используем Debian (или Ubuntu). На дистрибутивах Linux игровые серверы будут работать быстрее, чем на Windows (в подавляющем большинстве случаев все серверы работают на Linux из за его стабильности и меньшем потреблении ресурсов, по сравнения с Windows).
После покупки сервера Вы получите доступы к серверу: логин (root) и пароль. Зайдите на сервер через ssh. Если работаете на windows, то используйте клиент PuTTY. Если вы работаете на дистрибутивах Linux, то откройте консоль и используйте команду «ssh [email protected]_адрес_сервера«, чтобы подключиться к серверу с логином root.
После получения доступа к серверу необходимо первым делом выполнить команду для обновления уже установленного программного обеспечения от лица root пользователя и добавить стандартные пакеты:
sudo apt update
sudo apt install git build-essential
sudo apt install openjdk-17-jre-headless
Проверьте установку
java -version
openjdk version "17.0.4" 2022-07-19
OpenJDK Runtime Environment (build 17.0.4+8-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 17.0.4+8-Ubuntu-120.04, mixed mode, sharing)
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
sudo su - minecraft
mkdir -p ~/{backups,tools,server}
git clone https://github.com/Tiiffi/mcrcon.git ~/tools/mcrcon
cd ~/tools/mcrcon
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
Проверьте установку
./mcrcon -v
mcrcon 0.7.2 (built: Sep 13 2022 19:27:19) - https://github.com/Tiiffi/mcrcon
Bug reports:
tiiffi+mcrcon at gmail
https://github.com/Tiiffi/mcrcon/issues/
wget https://download.getbukkit.org/craftbukkit/craftbukkit-1.19.2.jar -P ~/server
cd ~/server
java -Xmx1024M -Xms1024M -jar craftbukkit-1.19.2.jar nogui
[17:35:14] [main/ERROR]: Failed to load properties from file: server.properties
[17:35:15] [main/WARN]: Failed to load eula.txt
[17:35:15] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
Соглашаемся с лицензионным соглашением Minecraft, . Откройте файл eula.txt и замените eula=false на eula=true :
nano ~/server/eula.txt
Закройте и сохраните файл.
Затем откройте файл server.properties включите протокол rcon и установите пароль rcon:
nano ~/server/server.properties
rcon.port=25575
rcon.password=password
enable-rcon=true
exit
sudo nano /etc/systemd/system/minecraft.service
[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=minecraft
Nice=1
KillMode=none
SuccessExitStatus=0 1
ProtectHome=true
ProtectSystem=full
PrivateDevices=true
NoNewPrivileges=true
WorkingDirectory=/opt/minecraft/server
ExecStart=/usr/bin/java -Xmx4096M -Xms1024M -jar craftbukkit-1.19.2.jar nogui
ExecStop=/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p password stop
[Install]
WantedBy=multi-user.target
Измените флаги Xmx и Xms соответствии с ресурсами вашего сервера. Флаг Xmx определяет максимальный пул распределения памяти для виртуальной машины Java (JVM), а Xms определяет начальный пул распределения памяти. Также убедитесь, что вы используете правильный порт rcon и пароль.
sudo systemctl daemon-reload
sudo systemctl start minecraft
Проверьте установку
sudo systemctl status minecraft
● minecraft.service - Minecraft Server
Loaded: loaded (/etc/systemd/system/minecraft.service; enabled; vendor preset: ena>
Active: active (running) since Mon 2022-09-26 11:21:28 UTC; 7h ago
Main PID: 692 (java)
Tasks: 21 (limit: 988)
Memory: 1.9G
CGroup: /system.slice/minecraft.service
└─692 /usr/bin/java -Xmx4096M -Xms1024M -jar craftbukkit-1.19.2.jar nogui
sudo systemctl enable minecraft
sudo ufw allow 25565/tcp
sudo su - minecraft
nano /opt/minecraft/tools/backup.sh
#!/bin/bash
function rcon {
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p password "$1"
}
rcon "save-off"
rcon "save-all"
tar -cvpzf /opt/minecraft/backups/server-$(date +%F-%H-%M).tar.gz /opt/minecraft/server
rcon "save-on"
## Delete older backups
find /opt/minecraft/backups/ -type f -mtime +7 -name '*.gz' -delete
chmod +x /opt/minecraft/tools/backup.sh
crontab -e
0 23 * * * /opt/minecraft/tools/backup.sh
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p password -t
exit
Создали сервер Minecraft на Ubuntu 20.04.3 и настроили ежедневное резервное копирование.
Теперь можем запустить клиент Minecraft и подключиться к серверу в Minecraft.