Как развернуть мир Minecraft на сервере и сделать его бэкап

Как развернуть мир 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:

Параметр online-mode в файле.

Дополнительную информацию о параметрах, представленных в файле 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:

Кнопка Add Server.

Указываем наименование сервера в поле Server Name и адрес подключения в поле Server Address, после добавляем сервер по кнопке Done:

Окно с кнопкой Done.

Замените <IP-адрес> на IP-адрес вашего сервера, на котором развернут и запущен Minecraft.

Наш сервер добавлен и теперь будет отображаться в разделе Multiplayer. Подключиться к запущенному серверу можно по кнопке Join Server:

Кнопка 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 и создавать его резервную копию. Играйте и не думайте о последствиях, ведь сервер всегда можно восстановить из резервной копии! Если, конечно, сохранить…