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

Обзор развертывания Сервера 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-скрипта, который автоматизирует настройку зависимостей и контейнера сервиса:

  1. Обновите системные пакеты для обеспечения совместимости.

  2. Загрузите скрипт установки с адреса https://script.mcsmanager.com/setup_cn.sh в /root/setup_cn.sh.

  3. Выполните скрипт следующей командой:

    /bin/bash setup_cn.sh
    

  4. Скрипт устанавливает 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

  • Команда развертывания:

    cd /root/nginx
    docker compose up -d
    

Прокси-серверы

Nginx действует как обратный прокси-сервер и сервис завершения SSL-сессий для Сервера Minecraft Java Edition.

  • SSL/TLS: Управляется автоматически через Certbot внутри Docker-контейнера.

  • Сертификаты: Хранятся в /etc/letsencrypt/live/<prefix><Server ID>.hostkey.in/

  • Конфигурация: Конфигурация Nginx слушает внешние порты и пересылает трафик на внутренние порты служб.

  • Возможности:

  • Поддержка переключения протокола WebSocket

  • Максимальный размер тела клиента установлен на 10240М

  • Буферизация прокси отключена

  • Пересылка реального IP через заголовок X-Forwarded-For

Конфигурация определяет два блока серверов:

  1. Основной сервис: Слушает внешний порт для стандартного трафика.

  2. Демон-сервис: Слушает внешний порт демона для специфических операций демона.

Оба блока используют одно и то же доменное имя и конфигурацию 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:

  • Запуск служб:

    cd /root/nginx
    docker compose up -d
    

  • Остановка служб:

    cd /root/nginx
    docker compose down
    

  • Обновление служб: Для обновления образа и конфигурации загрузите последние изменения и перезапустите:

    cd /root/nginx
    docker compose pull
    docker compose up -d
    

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×