Перейти к содержанию

Сервер Minecraft Java Edition

В этой статье

Информация

Minecraft Server - это серверное программное обеспечение, позволяющее запустить многопользовательский сервер Minecraft для игры в режиме онлайн.

Основные возможности

  • Многопользовательская игра - сервер позволяет подключаться и играть одновременно до 255 игрокам;
  • Настраиваемый игровой мир - администратор может создавать уникальные миры, устанавливать плагины и модификации;
  • Управление правами доступа - возможность назначать разные права игрокам в разных частях мира;
  • Защита от гриферов - инструменты защиты мира от вандализма игроков;
  • Резервное копирование - автоматическое сохранение мира сервера для предотвращения потери данных;
  • Множественные миры - опционально можно запустить несколько разных миров на одном сервере;
  • API - набор интерфейсов для взаимодействия сервера с другими приложениями;
  • Мониторинг - отслеживание онлайна, активности, логов событий;
  • Производительность - оптимизация для работы на выделенном сервере с большим количеством игроков.

Особенности сборки

ID Совместимые ОС VPS BM VGPU GPU Мин. ЦПУ (Ядер) Мин. ОЗУ (Гб) Мин. HDD/SDD (Гб) Доступно
65 Ubuntu 22.04 + + + - 1 1 - Нет
  • Автоматическая установка MCSMManager - сервис управления кластерами Minecraft servers, который позволяет:
    • Автоматически запускать, останавливать и перезапускать серверы Minecraft;
    • Мониторить состояние серверов и получать оповещения;
    • Управлять плагинами, модами, конфигурациями на серверах;
    • Обновлять версии серверов и плагинов;
  • Балансировать нагрузку между серверами в кластере;
  • Делать бэкапы миров и данных серверов;
  • Восстанавливать серверы из бэкапов;
  • Масштабировать кластер, добавляя или удаляя серверы.
  • После установки MCSMManager создается следующая структура каталогов в /opt/mcsmanager/:
  • daemon/ - каталог демона-службы, включающий:
    • data/Config/global.json - файл глобальных настроек сервиса.
  • web/ - каталог веб-интерфейса;
  • start-daemon.sh - скрипт запуска демона;
  • start-web.sh - скрипт запуска веб-интерфейса;
  • usage.txt - документация по использованию.
  • Для настройки HTTPS и управления сертификатами используются дополнительные каталоги и файлы:
  • /var/lib/docker/volumes/nginx_secrets - хранилище секретов, таких как ключи и сертификаты для Nginx, организованное через Docker Volumes;
  • /data/nginx - основной каталог для хранения конфигурации Nginx и связанных файлов;
    • user_conf.d/ - подкаталог для пользовательских конфигураций Nginx;
    • nginx-certbot.env - файл окружения, содержащий переменные для автоматической работы Certbot с Nginx;
  • /root/nginx - каталог, в котором могут находиться резервные копии или дополнительные настройки Nginx, управляемые вручную.

Примечание

Если не указано иное, по умолчанию мы устанавливаем последнюю релиз версию программного обеспечения с сайта разработчика или репозиториев операционной системы.

Системные требования

Требования Minecraft к ресурсам возрастают с увеличением количества игроков на сервере. В больших игровых группах потребуется больше оперативной памяти и дискового пространства. Рекомендуемые системные требования для сервера Minecraft:

  • Процессор (CPU): 2 ядра или больше, желательно 2 ГГц или выше;
  • Оперативная память (RAM): минимум 2 Гб для 1-2 игроков, 5 Гб для 3-6 игроков, 8 Гб для 6 и более игроков;
  • Операционная система: Minecraft доступен для всех популярных ОС, но ОС требует дополнительных ресурсов;
  • Дисковое пространство: минимум 2 Гб для 1-2 игроков, 18 Гб для 3-5 игроков, 35 Гб для более чем 6 игроков.

Начало работы после развертывания Minecraft Server

После оплаты заказа на указанную при регистрации электронную почту придет уведомление о готовности сервера к работе. В нем будет указан IP-адрес VPS, а также логин и пароль для подключения. Управление оборудованием клиенты нашей компании осуществляют в панели управления серверами и APIInvapi.

Данные для авторизации, которые можно найти или во вкладке Информация >> Тэги панели управления сервером или в присланном e-mail:

  • Ссылка: в теге webpanel;
  • Логин и Пароль приходят в письме на вашу электронную почту при готовности сервера к работе после развертывания ПО.

Управление учетной записью и игровым сервером в MCSMManager

При первом переходе по ссылке из тега webpanel вам будет предложено настроить панель управления и создать учетную запись администратора. Процесс первоначальной настройки состоит из следующих шагов:

  1. В открывшемся окне нажмите кнопку Начать.

  2. Создайте учетную запись администратора, заполнив необходимые поля.

  3. Укажите свой статус пользователя:

    • Новый пользователь (первое использование системы)
    • Существующий пользователь
  4. Выберите тип приложения для развертывания (например, игровой сервер Minecraft Bedrock Edition).

  5. Укажите целевую машину для установки приложения.

  6. Определите способ развертывания:

    • Быстрая установка Minecraft
    • Развертывание через Docker-образы
    • Другие доступные варианты
  7. Выберите версию программного обеспечения:

    • Minecraft 1.21.1
    • Minecraft 1.20.1
    • Forge 1.20.6
    • Другие доступные версии.
  8. Дождитесь завершения установки.

Примечание

Подробная информация по основным настройкам MCSMManager содержится в документации разработчиков.

Настройка обратного прокси для HTTPS

Настройка обратного прокси для HTTPS важна для обеспечения безопасности, производительности и удобства управления сервером. Она шифрует трафик, предотвращая перехват данных, а также маршрутизирует запросы, обеспечивая балансировку нагрузки и отказоустойчивость. Прокси централизует управление SSL-сертификатами, упрощает настройку серверов и может кэшировать данные, улучшая производительность. Однако, если система не требует высокой безопасности, нагрузки или сложной инфраструктуры (например, для локальных тестов или небольших проектов), можно обойтись без настройки обратного прокси.

Шаг 1: Подготовка SSL сертификатов

Если у вас уже есть SSL сертификат (например, самоподписанный или от внешнего удостоверяющего центра), вы можете использовать его. В противном случае, следуйте этим шагам:

  1. Получение сертификата:
  2. Для самоподписанного сертификата используйте команду:
    openssl req -x509 -newkey rsa:4096 -keyout /data/nginx/ssl/domain.key -out /data/nginx/ssl/domain.crt -sha256 -days 365
    
    Если сертификат был получен от Let's Encrypt или другого удостоверяющего центра, убедитесь, что файлы .crt и .key находятся в директории /data/nginx/ssl/.

Примечание

Процесс выпуска SSL-сертификатов для сервера в MCSMManager построен на использовании Docker-контейнера и инструмента Certbot для автоматического получения сертификатов от Let’s Encrypt. Подробнее процесс моментального получения и обновления SSL-сертификатов от Let's Encrypt описан в статье Free Domain Certbot

  1. Подготовка директории для хранения сертификатов:
  2. Убедитесь, что сертификаты находятся в безопасной директории, например:
    mkdir -p /data/nginx/ssl
    cp /путь/к/сертификату/domain.crt /data/nginx/ssl/
    cp /путь/к/сертификату/domain.key /data/nginx/ssl/
    

Шаг 2: Подготовка конфигурации Nginx

  1. Создание конфигурации для демона:

    В директории, где находятся конфигурационные файлы Nginx (/data/nginx/user_conf.d или аналогичной), создайте конфигурационный файл для демона.

    Пример конфигурации для демона (daemon_https.conf):

    server {
       listen 12444 ssl http2;
       listen [::]:12444 ssl http2;
    
       ssl_certificate /data/nginx/ssl/domain.crt;
       ssl_certificate_key /data/nginx/ssl/domain.key;
    
       location / {
           proxy_pass http://127.0.0.1:24444;
           proxy_set_header Host $host;
           proxy_set_header X-Real-Ip $remote_addr;
           proxy_set_header X-Forwarded-For $remote_addr;
           proxy_set_header REMOTE-HOST $remote_addr;
       }
    }
    

    Создание конфигурации для панели:

    Пример конфигурации для панели (web_https.conf):

    server {
       listen 12333 ssl http2;
       listen [::]:12333 ssl http2;
    
       ssl_certificate /data/nginx/ssl/domain.crt;
       ssl_certificate_key /data/nginx/ssl/domain.key;
    
       location / {
           proxy_pass http://127.0.0.1:23333;
           proxy_set_header Host $host;
           proxy_set_header X-Real-Ip $remote_addr;
           proxy_set_header X-Forwarded-For $remote_addr;
           proxy_set_header REMOTE-HOST $remote_addr;
       }
    }
    

  2. Активировать конфигурации:

    Чтобы Nginx использовал эти конфигурации, создайте символические ссылки в директории /data/nginx/user_conf.d/ (или другой, где хранятся активные конфигурации):

    ln -s /data/nginx/user_conf.d/daemon_https.conf /etc/nginx/sites-enabled/
    ln -s /data/nginx/user_conf.d/web_https.conf /etc/nginx/sites-enabled/
    

    Или, если вы хотите добавить конфигурации напрямую в файл nginx.conf, откройте его и добавьте блоки конфигурации перед последней закрывающей скобкой }:

    nano /etc/nginx/nginx.conf
    

Шаг 3: Проверка и перезапуск Nginx

  1. Проверка конфигурации:

    Перед перезапуском Nginx, убедитесь, что конфигурация правильная, используйте команду:

    sudo nginx -t
    

    Если всё в порядке, вы увидите сообщение:

    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    

  2. Перезапуск Nginx:

    После успешной проверки конфигурации перезапустите Nginx для применения изменений:

    sudo systemctl reload nginx
    

Шаг 4: Настройка автоматического перенаправления с HTTP на HTTPS

Для того чтобы все HTTP-запросы автоматически перенаправлялись на HTTPS, создайте дополнительную конфигурацию для перенаправления:

  1. Конфигурация перенаправления HTTP на HTTPS:

    В конфигурации Nginx добавьте сервер, который будет слушать порт 80 (HTTP) и перенаправлять все запросы на HTTPS:

    server {
       listen 80;
       server_name your-domain.com;
    
       location / {
           return 301 https://$host$request_uri;
       }
    }
    

Шаг 5: Подключение и проверка

  1. Подключение через HTTPS:

    После перезагрузки Nginx, проверьте доступность ваших сервисов через HTTPS:

    • Панель управления: https://your-domain.com:12333/
    • Демон: https://your-domain.com:12444/
  2. Настройка WebSocket:

    Если ваше приложение использует WebSocket для взаимодействия с демонами, убедитесь, что ваши конфигурации прокси правильно поддерживают WebSocket:

    В конфигурации для Nginx добавьте:

    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    

  3. Проверка подключения:

    Если всё настроено верно, вы должны увидеть корректно работающие HTTPS-соединения. Для панели будет доступна страница входа, а для демона — статус "OK".

    Примечание

    Подробная информация по настройке обратного прокси для HTTPS содержится в документации разработчиков.

Заказ Minecraft Server с помощью API

Для установки данного ПО с использованием API следуйте этой инструкции.