Как развернуть мир Minecraft на сервере и сделать его бэкап в объектное хранилище
Пошаговое руководство по развертыванию сервера Minecraft на операционной системе Ubuntu и создание бэкапа через утилиту s3fs.
Minecraft — игра, которая привлекает множество игроков своим большим сообществом и возможностями для творчества. Владение собственным сервером здесь позволяет игрокам реализовать свои креативные идеи, играть вместе с друзьями и создавать сообщество единомышленников. Администратор сервера Minecraft имеет полный контроль над поведением игроков и поддерживает порядок в сообществе.
Создание и поддержка собственного сервера может показаться сложной задачей, особенно для новичков. Но с правильным подходом и пониманием процесса это может быть достаточно увлекательным опытом.
В данной статье мы рассмотрим основные шаги, необходимые для создания сервера Minecraft и его резервной копии, а также поделимся полезными советами и рекомендациями для создания стабильной и безопасной игровой среды.
Как создать сервер Minecraft
Аппаратные требования
Для развертывания сервера Minecraft необходимо подобрать определенную конфигурацию, чтоб изображение было плавное и без задержек.
- Многоядерный процессор с высокой тактовой частотой. Он обеспечит плавный игровой процесс и обработку большого количества запросов от игроков.
- Оперативная память с объемом от 4 ГБ и выше, особенно если вы планируете хостить сервер с большим количеством игроков и использовать дополнительные модификации.
- Место на жестком диске нужно рассчитывать для хранения игровых данных, текстур, модов и плагинов.
- Стабильное высокоскоростное интернет-соединение.
В структуре Selectel вы можете арендовать выделенный сервер или сервер облачной платформы для игры в Minecraft. Если вам понадобится помощь в выборе сервера, наиболее подходящего для решения ваших целей, пишите нам на sales@selectel.ru или звоните 8 800 555 06 75 — изучим задачу и подберем подходящее решение.
Развертывание сервера
В данной статье мы рассмотрим процесс развертывания сервера на операционной системе Ubuntu. Для начала необходимо подключиться к серверу. Обычно подключение выполняется по SSH, также вы можете воспользоваться web-консолью, если она подключена к вашему серверу.
После подключения в терминале выполняем команду:
sudo apt-get update
Данная команда обновляет список пакетов в Ubuntu, чтобы система могла получить информацию о новых версиях и зависимостях пакетов из официальных источников. Это важный шаг перед установкой новых программ или обновлением уже установленных.
Далее устанавливаем Java Development Kit (JDK). Это комплект разработчика для создания и запуска программ, созданных на языке программирования Java. Мы будем использовать JDK для запуска самого сервера, поскольку сервер Minecraft написан на Java.
Устанавливаем Java Development Kit командой:
sudo apt-get install openjdk-17-jdk
Создаем директорию, в которой будет располагаться сервер Minecraft, и сразу переходим в нее:
mkdir minecraft_server
cd minecraft_server
Теперь скачиваем утилиту wget, с помощью которой мы сможем загрузить серверный JAR-файл с последней версией Minecraft:
sudo apt-get install wget
JAR-файл (Java Archive) является исполняемым файлом, он содержит необходимые компоненты для запуска сервера Minecraft. В нем лежат код и ресурсы, обеспечивающие работу сервера. Формат JAR является стандартным форматом для дистрибуции и запуска Java-приложений.
Переходим на официальный сайт Minecraft и копируем ссылку при помощи правой кнопки мыши на актуальный файл JAR.
Скачиваем файл с помощью утилиты wget и скопированной ссылки:
wget https://piston-data.mojang.com/v1/objects/8dd1a28015f51b1803213892b50b7b4fc76e594d/server.jar
Настало время запустить установленный сервер и отправиться в путешествие по просторам виртуального мира! Запускаем сервер с помощью следующей команды:
java -Xmx1024M -Xms1024M -jar server.jar nogui
Упс! У вас тоже произошла ошибка?
Без паники. Ошибки возникли, потому что сервер не смог обнаружить файлы eula.txt (файл лицензионного соглашения конечного пользователя) и server.properties (файл конфигурации). Однако сервер уже автоматически создал их в текущей директории.
Открываем eula.txt с помощью редактора nano:
nano eula.txt
В открывшемся файле на первой строке представлена ссылка на пользовательское соглашение:
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://aka.ms/MinecraftEULA).
Ознакомьтесь с текстом по ссылке и замените в файле значение параметра eula с false на true. Таким образом вы принимаете условия пользовательского соглашения.
Далее выходим из редактора сочетанием клавиш Ctrl + X. Соглашаемся на сохранение файла, нажав на клавишу Y. И подтверждаем сохранение изменений в eula.txt клавишей Enter.
Снова пробуем запустить наш сервер командой:
java -Xmx1024M -Xms1024M -jar server.jar nogui
Теперь сервер запустился успешно!
Как приступить к игре
Изменение параметра online-mode
Автоматически при установке сервера в конфигурационном файле выставлен параметр online-mode = true. Это значит, что сервер Minecraft будет проверять подлинность учетных записей игроков через официальные серверы Mojang перед разрешением доступа к игровому миру. Для отключения проверки нам необходимо изменить значение параметра на false.
Останавливаем наш сервер командой:
stop
Открываем конфигурационный файл server.properties через редактор nano:
nano server.properties
На 23 строчке документа находим параметр online-mode и выставляем ему значение false:
Дополнительную информацию о параметрах, представленных в файле server.properties, вы можете узнать на Minecraft Wiki.
Далее выходим из редактора сочетанием клавиш Ctrl + X. Соглашаемся на сохранение файла, нажав на клавишу Y. И подтверждаем изменения в server.properties клавишей Enter.
Снова запускаем наш сервер:
java -Xmx1024M -Xms1024M -jar server.jar nogui
Ограничение доступа
При необходимости вы можете ограничить доступ к вашему серверу, использовав оператор whitelist — от английского «белый список». Когда функция whitelist активирована, только игроки, чьи имена присутствуют в списке, смогут подключиться и играть на сервере.
Для включения функции whitelist выполняем команду:
whitelist on
Добавить игрока можно по команде:
whitelist add <имя_игрока>
Ознакомиться с другими командами для изменения параметров игры можно в разделе «Командные консоли» на Minecraft Wiki.
Установка лаунчера и запуск игры
На локальный компьютер скачиваем лаунчер — это программа для запуска других приложений. В нашем случае будем использовать TLauncher.
Открываем лаунчер и внизу появившегося окна указываем имя, с которым будет запущена игра, а также актуальную версию игры — 1.20.4. Нажимаем кнопку Установить:
В открывшемся окне выбираем режим Multiplayer:
Добавляем наш сервер по кнопке Add Server:
Указываем наименование сервера в поле Server Name и адрес подключения в поле Server Address, после добавляем сервер по кнопке Done:
Замените <IP-адрес> на IP-адрес вашего сервера, на котором развернут и запущен Minecraft.
Наш сервер добавлен и теперь будет отображаться в разделе Multiplayer. Подключиться к запущенному серверу можно по кнопке Join Server:
Как создать бэкап мира в объектное хранилище
Бэкапы позволяют предотвратить потерю информации при неисправности оборудования, атаках вредоносного ПО, случайном удалении данных или ошибках по неосторожности. Если у вас есть резервная копия, вы можете восстановить данные и продолжить работу.
Почему объектное хранилище?
Создание бэкапа в объектное хранилище Selectel имеет несколько преимуществ.
- Масштабируемость. У вас нет ограничения на объем сохраняемых данных. Можете легко добавлять и удалять объекты из хранилища без значительного влияния на производительность.
- Вариативность доступа. Для работы с объектным хранилищем есть множество консольных и графических инструментов. Можно обращаться к объектам по разным уникальным идентификаторам и получать доступ к ним через API, что упрощает автоматизацию и интеграцию с другими системами.
- Отказоустойчивость. Каждый объект сохраняется в трех копиях, которые размещаются на отдельных серверах и располагаются в различных стойках. Такая система обеспечивает высокий уровень надежности хранения данных. В случае возникновения проблем с одним сервером или даже поломки всей стойки ваши данные будут в порядке.
- Стоимость. Плата списывается только за фактически использованное место.
Это может быть экономически выгодным вариантом по сравнению с традиционными решениями хранения данных. Стоимость хранения 1ГБ составит 2,29 ₽/мес.
Что нам понадобится
— Контейнер в Объектном хранилище.
— Сервисный пользователь.
— S3 ключи для авторизации.
Создание контейнера
Авторизуемся в панели управления my.selectel.ru и переходим в раздел Объектное хранилище. Затем кликаем по кнопке Создать контейнер.
Указываем параметры контейнера:
- Имя: наименование контейнера латинскими буквами с нижним регистром.
- Тип: Публичный.
- Класс хранения: Холодное хранение.
- Адресация: Virtual-Hosted адресация позволяет использовать CORS. Если она включена, ее больше нельзя отключить. Включается на ваше усмотрение.
И кликаем по кнопке Создать контейнер.
Создание сервисного пользователя
Сервисный пользователь — это пользователь с учетной записью для программного доступа к продукту через API и другие инструменты автоматизации.
Для создания сервисного пользователя переходим на страницу настроек профиля, кликнув по кнопке из выпадающего списка Профиль и настройки.
В разделе Управление пользователями переходим во вкладку Сервисные пользователи и нажимаем на кнопку Добавить пользователя.
Далее в параметрах при добавлении пользователя указываем роль Администратор объектного хранилища и проект облачной платформы, в котором находится наш контейнер. И затем создаем пользователя по кнопке Добавить пользователя.
Выдача S3 ключа
Переходим в карточку пользователя, нажав на его имя. В нашем случае Стив.
Для выдачи S3 ключа нажимаем кнопку Добавить ключ в разделе S3 ключи.
Указываем наименование ключа и проект, которому он будет привязан. Для создания нажимаем кнопку Сгенерировать.
В открывшемся окне вы увидите значения:
- Access key — Access Key ID, идентификатор ключа;
- Secret key — Secret Access Key, секретный ключ.
Обязательно сохраните значения созданного ключа, потому что после закрытия окна вы не сможете больше увидеть значение Secret key. В рамках панели управления будет отображаться только наименование ключа, проект, которому он принадлежит, и значение Access key.
Бэкап мира через утилиту s3fs
Рассмотрим создание бэкапа в объектное хранилище через утилиту s3fs. Это удобный инструмент для монтирования объектного хранилища в виде файловой системы.
Для начала устанавливаем утилиту s3fs командой:
sudo apt-get update sudo apt-get install s3fs
Далее создаем файл с данными для авторизации в домашней директории:
echo "<accessKeyId>:<secretAccessKey>" > .passwd-s3fs
Замените accessKeyId и secretAccessKey на ваши данные для авторизации, которые мы получали ранее через панель управления.
Теперь необходимо убедиться, что файл имеет ограниченные права доступа, для обеспечения безопасности ваших учетных данных:
chmod 600 ~/.passwd-s3fs
Создаем пустую директорию, которая будет использоваться для монтирования контейнера:
mkdir ~/minecraft_backup
Теперь монтируем контейнер командой:
s3fs <наименование_контейнера> <путь_к_каталогу монтирования> -o passwd_file=<путь_файлу_с_данными_авторизации> -o use_path_request_style -o endpoint=ru-1 -o url=https://s3.ru-1.storage.selcloud.ru
Подставим в команду данные, которые мы использовали ранее:
s3fs <наименование_контейнера> ~/minecraft_backup -o passwd_file=~/.passwd-s3fs -o use_path_request_style -o endpoint=ru-1 -o url=https://s3.ru-1.storage.selcloud.ru
Переносим все данные из директории, где хранятся данные нашего сервера minecraft_server, в примонтированный контейнер minecraft_backup через утилиту cp:
cp ~/minecraft_server ~/minecraft_backup
Готово!
Теперь вы умеете разворачивать сервер Minecraft и создавать его резервную копию. Играйте и не думайте о последствиях, ведь сервер всегда можно восстановить из резервной копии! Если, конечно, сохранить…