Griefing a Pay-to-Win Minecraft Server's Spawn - Survivalmania (Part 2)
Оглавление:
- Предпосылки
- Установка Java Runtime Environment
- Создание пользователя Minecraft
- Установка Minecraft на CentOS
- Загрузка и компиляция mcrcon
- Загрузка Сервера Майнкрафт
- Настройка сервера Minecraft
- Создание файла Systemd Unit
- Настройка брандмауэра
- Настройка резервных копий
- Доступ к консоли Minecraft
- Вывод
Minecraft - одна из самых популярных игр всех времен. Это видеоигра с песочницей о размещении блоков и приключениях.
В этом руководстве мы рассмотрим шаги, необходимые для установки и настройки сервера Minecraft на CentOS 7. Мы будем использовать Systemd для запуска сервера Minecraft и утилиту
mcrcon
для подключения к работающему экземпляру. Мы также покажем вам, как планировать автоматическое резервное копирование сервера с помощью задания Cron.
Предпосылки
Пользователь, в который вы вошли, должен иметь права sudo для установки пакетов.
Установите пакеты, необходимые для сборки инструмента
mcrcon
:
sudo yum install git
sudo yum group install "Development Tools"
Установка Java Runtime Environment
Minecraft требует Java 8 или выше. Поскольку Minecraft Server не нуждается в графическом пользовательском интерфейсе, мы установим безголовую версию openjdk. Эта версия больше подходит для серверных приложений, поскольку имеет меньше зависимостей и использует меньше системных ресурсов.
Установка Java довольно проста, просто запустите:
sudo yum install java-1.8.0-openjdk-headless
Проверьте установку, напечатав версию Java:
java -version
openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
Создание пользователя Minecraft
Запускать сервисы под Minecraft под пользователем root не рекомендуется по соображениям безопасности.
Мы создадим новую систему пользователя и группу
minecraft
с домашним каталогом
/opt/minecraft
который будет запускать сервер Minecraft:
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
Мы не собираемся устанавливать пароль для этого пользователя. Это хорошая практика безопасности, потому что этот пользователь не сможет войти через SSH. Чтобы перейти к пользователю
minecraft
вам необходимо войти на сервер как пользователь root или пользователь с привилегиями sudo.
Установка Minecraft на CentOS
Перед началом процесса установки убедитесь, что вы переключаетесь на пользователя
minecraft
:
sudo su - minecraft
Создайте три новых каталога внутри домашнего каталога пользователя, используя следующую команду:
mkdir -p ~/{backups, tools, server}
- В каталоге
backups
будет храниться резервная копия вашего сервера. Позже вы можете синхронизировать этот каталог с вашим удаленным сервером резервного копирования. В каталогеtools
будут храниться клиентmcrcon
и сценарий резервного копирования. В каталогеserver
будет содержаться фактический сервер Minecraft и его данные.
Загрузка и компиляция mcrcon
RCON - это протокол, который позволяет подключаться к серверам Minecraft и выполнять команды. mcron - это клиент RCON, встроенный в C.
Мы
mcrcon
исходный код с GitHub и
mcrcon
двоичный файл
mcrcon
.
Начните с перехода в каталог
~/tools
и
Tiiffi/mcrcon
репозиторий
Tiiffi/mcrcon
из GitHub с помощью следующей команды:
cd ~/tools && git clone
Как только хранилище будет клонировано, перейдите в его каталог:
cd ~/tools/mcrcon
Создайте утилиту
mcrcon
используя компилятор GCC:
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
Когда закончите, проверьте это, набрав:
./mcrcon -h
Вывод будет выглядеть примерно так:
Usage: mcrcon…… 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
Загрузка Сервера Майнкрафт
Существует несколько серверных модов Minecraft, таких как Craftbukkit или Spigot, которые позволяют добавлять функции (плагины) на ваш сервер, а также настраивать и настраивать параметры сервера. В этом уроке мы установим последний официальный сервер Minecraft от Mojang.
Последний файл архива Java (JAR) сервера Minecraft доступен для загрузки со страницы загрузки Minecraft.
На момент написания статьи последняя версия
1.14.1
. Прежде чем перейти к следующему шагу, вы должны проверить страницу загрузки для новой версии.
Запустите следующую команду
wget
чтобы скачать jar-файл Minecraft в каталоге
~/server
:
wget https://launcher.mojang.com/v1/objects/ed76d597a44c5266be2a7fcd77a8270f1f0bc118/server.jar -P ~/server
Настройка сервера Minecraft
Перейдите в каталог
~/server
и запустите сервер Minecraft:
cd ~/server
java -Xmx1024M -Xms512M -jar server.jar nogui
При первом запуске сервера он выполняет некоторые операции, создает файлы
server.properties
и
eula.txt
и останавливается.
: Failed to load properties from file: server.properties: Failed to load eula.txt: 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
~ / Сервер / 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
Закройте и сохраните файл.
Затем откройте файл
server.properties
, включите протокол rcon и установите пароль rcon:
nano ~/server/server.properties
Найдите следующие строки и обновите их значения, как показано ниже:
~ / Сервер / server.properties
rcon.port=25575 rcon.password=strong-password enable-rcon=true
Не забудьте сменить надежный
strong-password
на более безопасный. Если вы не хотите подключаться к серверу Minecraft из удаленных мест, убедитесь, что порт rcon заблокирован брандмауэром.
Здесь вы также можете настроить свойства сервера по умолчанию. Для получения дополнительной информации о возможных настройках посетите страницу server.properties.
Создание файла Systemd Unit
Чтобы запустить Minecraft как сервис, мы создадим новый файл модуля Systemd.
Вернитесь к своему пользователю sudo, набрав команду
exit
.
Откройте ваш текстовый редактор и создайте файл с именем
minecraft.service
в
/etc/systemd/system/
:
sudo nano /etc/systemd/system/minecraft.service
Вставьте следующую конфигурацию:
/etc/systemd/system/minecraft.service
Description=Minecraft Server After=network.target 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 WantedBy=multi-user.target
Измените флаги
Xmx
и
Xms
соответствии с ресурсами вашего сервера. Флаг
Xmx
определяет максимальный пул выделения памяти для виртуальной машины Java (JVM), в то время как
Xms
определяет начальный пул выделения памяти. Также убедитесь, что вы используете правильный порт
rcon
и пароль.
Сохраните и закройте файл и сообщите systemd, что мы создали новый файл модуля:
sudo systemctl daemon-reload
Теперь вы можете запустить сервер Minecraft, выполнив:
sudo systemctl start minecraft
В первый раз, когда вы запускаете сервис, он генерирует несколько конфигурационных файлов и каталогов, включая мир Minecraft.
Проверьте статус службы с помощью следующей команды:
sudo systemctl status minecraft
● minecraft.service - Minecraft Server Loaded: loaded (/etc/systemd/system/minecraft.service; disabled; vendor preset: disabled) Active: active (running) since Sun 2019-05-19 23:49:18 PDT; 9min ago Main PID: 17356 (java) CGroup: /system.slice/minecraft.service └─17356 /usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui --noconsole
Включите сервис Minecraft для автоматического запуска во время загрузки:
sudo systemctl enable minecraft
Настройка брандмауэра
Если ваш сервер защищен брандмауэром для доступа к серверу Minecraft за пределами вашей локальной сети, вам нужно открыть порт
25565
:
sudo firewall-cmd --permanent --zone=public --add-port=25565/tcp
sudo firewall-cmd --reload
Настройка резервных копий
В этом разделе мы создадим скрипт резервного копирования и 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_%R).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
Откройте файл crontab и создайте cronjob, который будет запускаться один раз в день автоматически в определенное время:
crontab -e
Мы будем запускать скрипт резервного копирования каждый день в 23:00:
0 23 * * * /opt/minecraft/tools/backup.sh
Доступ к консоли Minecraft
Для доступа к консоли Minecraft вы можете использовать утилиту
mcrcon
.
Синтаксис следующий: вам нужно указать хост, порт rcon, пароль rcon и использовать ключ
-t
который включает
mcrcon
терминала
mcrcon
:
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t
Logged in. Type "Q" to quit! >
Вывод
Вы успешно установили сервер Minecraft в вашей системе CentOS 7 и настроили ежедневное резервное копирование.
Java Minecraft CentosКак установить сервер майнкрафт на Debian 9
Minecraft - одна из самых популярных игр всех времен. Это видеоигра с песочницей о строительстве различных сооружений и приключениях. В этом руководстве объясняется, как установить и настроить Minecraft Server в Debian 9.
Как установить сервер Майнкрафт на Raspberry Pi
В этом уроке мы познакомим вас с процессом установки и настройки сервера Minecraft на Raspberry Pi 3 или 4. Minecraft - одна из самых популярных игр всех времен.
Как установить сервер майнкрафт на Ubuntu 18.04
В этом руководстве рассказывается об установке и настройке последней версии Minecraft Server в Ubuntu 18.04. Мы будем использовать systemd для запуска сервера Minecraft и утилиту mcrcon для подключения к работающему экземпляру.