
Minecraft — одна из самых популярных игр всех времён. Это видеоигра-песочница, где нужно строить различные конструкции и отправляться в приключения.
В этом руководстве объясняется, как установить и настроить сервер Minecraft в Debian 9. Мы будем использовать Systemd для запуска сервера Minecraft и утилиту mcrcon для подключения к работающему экземпляру. Мы также покажем, как создать cron-задание для регулярного резервного копирования сервера.
Предпосылки
Пользователь, под которым вы вошли в систему, должен иметь привилегии sudo .
Установите пакеты, необходимые для сборки инструмента mcrcon :
sudo apt updatesudo apt install git build-essential
Установка среды выполнения Java
Для игры в Minecraft требуется, чтобы в системе была установлена Java 8 .
Мы установим версию JRE без графического интерфейса. Эта версия больше подходит для серверных приложений, поскольку имеет меньше зависимостей и потребляет меньше системных ресурсов:
sudo apt install openjdk-8-jre-headless
Проверьте установку, выполнив:
java -version
openjdk version "1.8.0_212" OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1~deb9u1-b01) OpenJDK 64-Bit Server VM (build 25.212-b01, mixed mode)
Создание пользователя Minecraft
Следующий шаг — создание нового системного пользователя и группы с домашним каталогом /opt/minecraft , которые будут запускать сервер Minecraft. Для этого выполните следующую команду:
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
У пользователя не будет пароля. Это хорошая мера безопасности, поскольку этот пользователь не сможет войти по SSH.
Установка Minecraft на Debian
Перед началом процесса установки убедитесь, что вы перешли на пользователя minecraft .
sudo su - minecraft
Создайте три новых каталога внутри домашнего каталога пользователя:
mkdir -p ~/{backups,tools,server}
- В каталоге
backupsбудет храниться резервная копия вашего сервера. Впоследствии вы сможете синхронизировать этот каталог с удалённым сервером резервного копирования. - В каталоге
toolsбудут храниться клиентmcrconи сценарий резервного копирования. - Каталог
serverбудет содержать сам сервер Minecraft и его данные.
Загрузка и компиляция mcrcon
RCON — это протокол, позволяющий подключаться к серверам Minecraft и выполнять команды. mcron — это клиент RCON, написанный на языке C.
Мы загрузим исходный код с GitHub и соберем двоичный файл mcrcon .
Начните с перехода в каталог ~/tools и клонируйте репозиторий Tiiffi/mcrcon из GitHub с помощью следующей команды:
cd ~/tools && git clone https://github.com/Tiiffi/mcrcon.git
Перейдите в каталог репозитория:
cd ~/tools/mcrcon
Запустите компиляцию утилиты mcrcon , выполнив:
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
После завершения вы можете протестировать его, введя:
./mcrcon -h
Вывод будет выглядеть примерно так:
Usage: mcrcon [OPTIONS]... [COMMANDS]... Sends rcon commands to Minecraft server. Option: -h Print usage -H Server address -P Port (default is 25575) -p Rcon password -t Interactive terminal mode -s Silent mode (do not print received packets) -c Disable colors -r Output raw packets (debugging and custom handling) -v Output version information Server address, port and password can be set using following environment variables: MCRCON_HOST MCRCON_PORT MCRCON_PASS Command-line options will override environment variables. Rcon commands with arguments must be enclosed in quotes. Example: mcrcon -H my.minecraft.server -p password "say Server is restarting!" save-all stop mcrcon 0.6.1 (built: May 19 2019 23:39:16) Report bugs to tiiffi_at_gmail_dot_com or https://github.com/Tiiffi/mcrcon/issues/
Загрузка сервера Minecraft
Существует несколько модов для серверов Minecraft, таких как Craftbukkit и Spigot , которые позволяют добавлять функции (плагины) на ваш сервер и дополнительно настраивать его параметры. В этом руководстве мы установим последнюю версию официального сервера Minecraft от Mojang.
Последняя версия файла архива Java сервера Minecraft (JAR) доступна для загрузки на странице загрузки Minecraft .
На момент написания статьи последняя версия — 1.14.1 . Прежде чем перейти к следующему шагу, проверьте страницу загрузки на наличие новой версии.
Выполните следующую команду wget , чтобы загрузить jar-файл Minecraft в каталог ~/server :
wget https://launcher.mojang.com/v1/objects/ed76d597a44c5266be2a7fcd77a8270f1f0bc118/server.jar -P ~/server
Настройка сервера Minecraft
После завершения загрузки перейдите в каталог ~/server и запустите сервер Minecraft:
cd ~/serverjava -Xmx1024M -Xms512M -jar server.jar nogui
При первом запуске сервера он выполняет некоторые операции и создает файлы server.properties и eula.txt , а затем останавливается.
[23:41:44] [main/ERROR]: Failed to load properties from file: server.properties [23:41:45] [main/WARN]: Failed to load eula.txt [23:41:45] [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/eula.txt
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula). #Sun May 19 23:41:45 PDT 2019 eula = true
Закройте и сохраните файл.
Затем включите протокол rcon и задайте пароль rcon, отредактировав файл server.properties :
nano ~/server/server.properties
Найдите следующие строки и обновите их значения, как показано ниже:
~/сервер/сервер.properties
rcon.port = 25575 rcon.password = strong-password enable-rcon = true
Не забудьте сменить strong-password на более надёжный. Если вы не хотите подключаться к серверу Minecraft из удалённых мест, убедитесь, что порт RCON заблокирован вашим брандмауэром.
Вы также можете изменить настройки сервера по умолчанию. Подробнее о возможных настройках см. на странице server.properties .
Создание файла модуля Systemd
Вернитесь к пользователю sudo, введя команду exit .
Откройте текстовый редактор и создайте файл с именем minecraft.service в каталоге /etc/systemd/system/ :
sudo nano /etc/systemd/system/minecraft.service
Вставьте следующую конфигурацию:
/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 -Xmx1024M -Xms512M -jar server.jar nogui ExecStop = /opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password stop [Install] WantedBy = multi-user.target
Измените флаги Xmx и Xms в соответствии с ресурсами вашего сервера. Флаг Xmx определяет максимальный объём выделяемой памяти для виртуальной машины Java (JVM), а Xms — начальный объём выделяемой памяти. Также убедитесь, что вы используете правильный порт rcon и пароль.
Сохраните и закройте файл и сообщите systemd, что мы создали новый файл модуля:
sudo systemctl daemon-reload
Запустите и включите сервер Minecraft, выполнив:
sudo systemctl start minecraftsudo systemctl enable minecraft
При первом запуске службы она сгенерирует несколько конфигурационных файлов и каталогов, включая мир Minecraft.
Проверьте состояние службы с помощью следующей команды:
sudo systemctl status minecraft
● minecraft.service - Minecraft Server Loaded: loaded (/etc/systemd/system/minecraft.service; disabled; vendor preset: enabled) Active: active (running) since Sun 2019-05-19 23:49:18 PDT; 9min ago Main PID: 7262 (java) Tasks: 19 (limit: 4915) CGroup: /system.slice/minecraft.service └─7262 /usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui
Настройка брандмауэра
Если ваш сервер защищен брандмауэром и вы хотите получить доступ к серверу Minecraft из-за пределов вашей локальной сети, вам необходимо открыть порт 25565 .
Чтобы разрешить трафик на порту Minecraft по умолчанию 25565 введите следующую команду:
sudo ufw allow 25565/tcp
Настройка резервного копирования
В этом разделе мы создадим скрипт резервного копирования и cronjob для автоматического резервного копирования сервера Minecraft.
Начните с переключения на пользователя minecraft :
sudo su - minecraft
Откройте текстовый редактор и создайте следующий файл:
nano /opt/minecraft/tools/backup.sh
Вставьте следующую конфигурацию:
/opt/minecraft/tools/backup.sh
#!/bin/bash function rcon { /opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-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 :
chmod +x /opt/minecraft/tools/backup.sh
Затем создайте cron-задание , которое будет запускаться автоматически один раз в день в фиксированное время.
Откройте файл crontab, введя:
crontab -e
Чтобы запускать скрипт резервного копирования каждый день в 23:00, вставьте следующую строку:
0 23 * * * /opt/minecraft/tools/backup.sh
Доступ к консоли Minecraft
Для доступа к консоли Minecraft можно использовать утилиту mcrcon . Синтаксис команды следующий: необходимо указать хост, порт RCON, пароль RCON и использовать ключ -t , который включает режим терминала mcrcon :
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t
Logged in. Type "Q" to quit! >
Чтобы получить доступ к консоли Minecraft из удаленного местоположения, убедитесь, что порт rcon не заблокирован.
Если вы регулярно подключаетесь к консоли Minecraft, вместо ввода этой длинной команды вы можете создать псевдоним bash .
Заключение
Вы успешно установили сервер Minecraft на свою систему Debian 9 и настроили ежедневное резервное копирование.
Если у вас возникла проблема или вы хотите оставить отзыв, оставьте комментарий ниже.
java minecraft debian Не используете Debian 9?
Выберите другую ОС: центос 7 убунту 18.04 убунту 20.04
Связанные руководства
- Как установить Apache Cassandra на Debian 10 Linux
- Как установить Tomcat 9 на Debian 10 Linux
- Как установить сервер Minecraft на Raspberry Pi
- Как установить Java на Debian 10 Linux
- Как установить Elasticsearch на Debian 9
- Как установить Apache Cassandra на Debian 9
- Как установить WildFly (JBoss) на Debian 9