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

Обзор развертывания Palworld на сервере

Предварительные требования

Для корректной работы системы должны быть соблюдены следующие условия:

  • Операционная система: Ubuntu.

  • Права доступа: Права суперпользователя (root) для установки системных пакетов и Docker.

  • Доменное имя: Наличие зарегистрированного домена в зоне hostkey.in.

  • Порты: Должны быть открыты следующие порты:

  • 80/TCP — для проверки SSL-сертификатов (HTTP).

  • 443/TCP — для доступа к веб-панели управления (HTTPS).

  • 12444/TCP — для работы демона через защищенное соединение (WSS).

  • 8211/UDP — игровой порт сервера Palworld.

  • 25575/TCP — RCON порт.

FDQN итоговой панели на домене hostkey.in

Для управления сервером используется выделенный поддомен. Шаблон формирования адреса представлен в таблице:

Параметр Значение
Префикс palworld
Домен hostkey.in
Полный шаблон palworld{Server_ID}.hostkey.in

Структура файлов и каталогов

Все основные данные и конфигурации распределены по следующим директориям:

  • /opt/proxy — системные файлы прокси-сервера (Nginx, SSL сертификаты).

  • /opt/mcsmanager-web-data — данные веб-панели управления.

  • /opt/mcsmanager-web-logs — логи веб-панели.

  • /opt/mcsm/daemon/data — рабочие файлы и конфигурации демона.

  • /opt/mcsmanager-daemon-logs — логи демона.

Процесс установки приложения

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

  1. Подготовка окружения: Установка Docker, плагина docker-compose и необходимых системных библиотек Python.

  2. Создание структуры данных: Подготовка директорий для работы веб-интерфейса и демона управления с установкой прав доступа (UID/GID 1000).

  3. Развертывание компонентов управления: Запуск контейнеров веб-панели и демона MCSManager.

  4. Настройка проксирования и SSL: Развертывание Nginx для обеспечения безопасного соединения через Let's Encrypt (Certbot) и настройка перенаправления трафика на внутренние порты панели и демона.

  5. Автоматическая инициализация:

  6. Создание учетной записи администратора через API.

  7. Автоматическое связывание локального демона с веб-панелью.

  8. Создание игрового экземпляра Palworld с заданными параметрами (пароль, порт, ресурсы).

Права доступа и безопасность

  • Пользователь: Все данные в директориях /opt/mcsmanager принадлежат пользователю с UID 1000.

  • Брандмауэр: Доступ к панели осуществляется через защищенный протокол HTTPS. Внешний доступ к демону ограничен портом 12444 (через прокси).

  • Безопасность игрового сервера: Пароли администратора и игрока устанавливаются автоматически при создании экземпляра.

Базы данных

В данной конфигурации база данных не вынесена в отдельный контейнер, а используется встроенный механизм хранения данных MCSManager внутри томов Docker (директории /opt/mcsmanager/...).

Контейнеры Docker и их запуск

При развертывании запускается группа контейнеров:

Веб-панель управления

  • Имя образа: tophc7/mcsm:web

  • Порты: 23333:23333 (внутренний)

  • Тома: /opt/mcsmanager/web/data:/opt/mcsmanager/web/data

  • Политика перезапуска: unless-stopped

Демон управления (Node)

  • Имя образа: tophc7/mcsm:daemon

  • Порты: 24444:24444 (внутренний)

  • Тома:

  • /opt/mcsmanager/daemon/data:/opt/mcsmanager/daemon/data

  • /var/run/docker.sock:/var/run/docker.sock (для управления Docker изнутри контейнера)

  • Политика перезапуска: unless-stopped

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

  • Имя образа: nginx:alpine

  • Контейнер: palworld-proxy

  • Сеть: host (для прямого управления портами)

  • Тома:

  • /opt/proxy/nginx/conf.d:/etc/nginx/conf.d:ro

  • /opt/proxy/letsencrypt:/etc/letsencrypt

  • /opt/proxy/www:/var/www/certbot

Сервер Palworld

  • Имя образа: kagurazakanya/palworld:latest (или пользовательский образ)

  • Контейнер: palworld-server

  • Порты:

  • 8211/udp (игровой трафик)

  • 25575/tcp (RCON)

  • Переменные окружения: PORT, SERVER_NAME, ADMIN_PASSWORD, SERVER_PASSWORD, MULTITHREADING.

  • Политика перезапуска: unless-stopped

Сертификаты SSL (Certbot)

  • Имя образа: certbot/certbot

  • Контейнер: palworld-certbot

  • Тома:

  • /opt/proxy/letsencrypt:/etc/letsencrypt

  • /opt/proxy/www:/var/www/certbot

Инструкция по обновлению приложения

Для обновления игрового сервера и компонентов управления необходимо выполнить следующие действия:

  1. Обновить образы контейнеров с помощью команды:

    docker compose pull
    

  2. Перезапустить сервисы для применения изменений:

    docker compose up -d
    

Расположение конфигурационных файлов и данных

  • Конфигурации Nginx: /opt/proxy/nginx/conf.d/

  • Данные игрового сервера: /palworld/ (внутри контейнера, привязано к локальной папке)

  • Сертификаты SSL: /opt/proxy/letsencrypt/live/

Доступные порты для подключения

Порт Протокол Назначение
443 TCP Веб-панель управления (HTTPS)
12444 TCP Защищенное соединение с демоном (WSS)
8211 UDP Игровой сервер Palworld
25575 TCP RCON управление

Запуск, остановка приложения

Управление основными компонентами осуществляется через Docker:

  • Запуск всех сервисов:

    docker compose up -d
    

  • Остановка игрового сервера:

    docker stop palworld-server
    

  • Просмотр логов панели:

    docker logs -f mcsm-web
    

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