Обзор развертывания Сервера Minecraft Java Edition¶
Предварительные требования и базовые условия¶
Перед развертыванием сервера Minecraft Java Edition необходимо выполнить следующие требования:
-
Операционная система: Ubuntu (версия, совместимая со скриптом установки)
-
Права доступа: Для установки и конфигурации требуются права root или привилегии
sudo -
Домен: Зона
hostkey.inнастроена для управления доменами -
Сеть: Сервер должен иметь доступ к Интернету для загрузки скрипта установки и SSL-сертификатов
Полное доменное имя (FQDN) конечной панели¶
Полное доменное имя (FQDN) для доступа к серверу Minecraft Java Edition имеет следующий формат:
-
<prefix><Server ID>.hostkey.in:<внешний_порт> -
Пример структуры:
minecraft<Server ID>.hostkey.in:12333 -
Демон-сервис использует диапазон портов
12444для своей специфичной конечной точки.
Структура файлов и каталогов¶
Файлы приложения и конфигурации организованы в следующих местах на хост-системе:
-
Каталог конфигурации Nginx:
/root/nginx -
Конфигурация пользователя Nginx:
/data/nginx/user_conf.d/<prefix><Server ID>.hostkey.in.conf -
Файл Docker Compose:
/root/nginx/compose.yml -
SSL-сертификаты: Хранятся в Docker-томе
nginx_secrets, примонтированном на/etc/letsencryptвнутри контейнера -
Конфигурация окружения:
/data/nginx/nginx-certbot.env
Процесс установки приложения¶
Приложение устанавливается с помощью предоставляемого shell-скрипта, который автоматизирует настройку зависимостей и контейнера сервиса:
-
Обновите системные пакеты для обеспечения совместимости.
-
Загрузите скрипт установки с адреса
https://script.mcsmanager.com/setup_cn.shв/root/setup_cn.sh. -
Выполните скрипт следующей командой:
-
Скрипт устанавливает Docker и переходит к настройке обратного прокси-сервера и служб приложения.
Docker-контейнеры и их развертывание¶
Развертывание сервера использует Docker Compose для управления обратным прокси-сервером Nginx и сертификатами SSL.
-
Образ:
jonasal/nginx-certbot:latest -
Политика перезапуска:
unless-stopped -
Режим сети:
host -
Тома:
-
nginx_secrets(внешний) примонтирован на/etc/letsencrypt -
/data/nginx/user_conf.dпримонтирован на/etc/nginx/user_conf.d -
Переменные окружения: Определены в
/data/nginx/nginx-certbot.envиCERTBOT_EMAIL -
Команда развертывания:
Прокси-серверы¶
Nginx действует как обратный прокси-сервер и сервис завершения SSL-сессий для Сервера Minecraft Java Edition.
-
SSL/TLS: Управляется автоматически через Certbot внутри Docker-контейнера.
-
Сертификаты: Хранятся в
/etc/letsencrypt/live/<prefix><Server ID>.hostkey.in/ -
Конфигурация: Конфигурация Nginx слушает внешние порты и пересылает трафик на внутренние порты служб.
-
Возможности:
-
Поддержка переключения протокола WebSocket
-
Максимальный размер тела клиента установлен на 10240М
-
Буферизация прокси отключена
-
Пересылка реального IP через заголовок
X-Forwarded-For
Конфигурация определяет два блока серверов:
-
Основной сервис: Слушает внешний порт для стандартного трафика.
-
Демон-сервис: Слушает внешний порт демона для специфических операций демона.
Оба блока используют одно и то же доменное имя и конфигурацию SSL-сертификатов.
Настройки разрешений¶
Права доступа к файлам и каталогам устанавливаются следующим образом во время развертывания:
-
/root/nginx:0755(владелец: root, группа: root) -
/data/nginx/user_conf.d/<prefix><Server ID>.hostkey.in.conf:0644(владелец: root, группа: root) -
/root/nginx/compose.yml:0644(владелец: root, группа: root) -
Скрипт установки
/root/setup_cn.sh: Права на исполнение (o+x)
Расположение файлов конфигурации и данных¶
Ключевые файлы конфигурации и данные находятся по следующим адресам:
-
Основная конфигурация Nginx:
/data/nginx/user_conf.d/minecraft<Server ID>.hostkey.in.conf -
Docker Compose:
/root/nginx/compose.yml -
Переменные окружения SSL:
/data/nginx/nginx-certbot.env -
Скрипт установки:
/root/setup_cn.sh
Доступные порты для подключения¶
Следующие порты настроены для внешнего и внутреннего взаимодействия:
| Тип порта | Номер порта | Описание |
|---|---|---|
| Внешний (Основной) | 12333 | Публичный порт для основного сервиса Minecraft |
| Внутренний (Основной) | 23333 | Внутренний порт, используемый контейнером приложения |
| Внешний (Демон) | 12444 | Публичный порт для демон-сервиса |
| Внутренний (Демон) | 24444 | Внутренний порт, используемый демон-сервисом |
Запуск, остановка и обновление¶
Управление службами осуществляется с помощью команд Docker Compose, выполняемых в каталоге /root/nginx:
-
Запуск служб:
-
Остановка служб:
-
Обновление служб: Для обновления образа и конфигурации загрузите последние изменения и перезапустите: