Менеджеры процессов

Менеджер процессов — системная утилита, которая управляет процессами на сервере. Отвечает за запуск, остановку и перезапуск игровых серверов, за мониторинг их состояния, получение статистики и ограничение ресурсов (CPU / RAM). В Linux по умолчанию используется systemd, в Windows Shawl.

Конфигурация

Менеджер процессов настраивается в файле конфигурации GameAP Daemon.

Базовая структура

process_manager:
  name: <имя_менеджера>
  config:
    <ключ>: <значение>

Доступные менеджеры:

  • Linux: systemd (по умолчанию), docker, podman, tmux
  • Windows: shawl (по умолчанию), winsw

Linux

Systemd

Используется по умолчанию в Linux. Это современный менеджер процессов, который обеспечивает высокую производительность и надежность. Изоляция для этого менеджера процессов имеет ограниченные возможности.

Функционал  
Запуск, остановка, перезапуск серверов
Статистика ⚠️
Ограничение ресурсов (CPU / RAM)
Чтение консоли
Отправка команд в консоль
Изоляция ⚠️ Ограниченная

Конфигурация Systemd

Systemd не требует дополнительной конфигурации. Daemon автоматически создаёт и управляет unit-файлами.

Пример конфигурации
process_manager:
  name: systemd

Docker

Docker используется для изоляции игровых серверов в контейнерах. Используйте Docker, если вы планируете использовать Pterodactyl Eggs или Pelican Eggs.

Функционал  
Запуск, остановка, перезапуск серверов
Статистика ⚠️
Ограничение ресурсов (CPU / RAM)
Чтение консоли
Отправка команд в консоль
Изоляция

Конфигурация Docker

Примеры конфигурации

Минимальная:

process_manager:
  name: docker

Podman

Podman является альтернативой Docker, которая обеспечивает изоляцию игровых серверов в контейнерах. Можете также использовать Podman, если вы планируете использовать Pterodactyl Eggs или Pelican Eggs.

Функционал  
Запуск, остановка, перезапуск серверов
Статистика ⚠️
Ограничение ресурсов (CPU / RAM)
Чтение консоли
Отправка команд в консоль
Изоляция

Конфигурация Podman

Podman использует те же параметры что и Docker, плюс специфичный параметр для подключения к API.

Специфичные параметры
Ключ в config Описание По умолчанию
socket_path Путь к unix-сокету Podman unix:///run/user/{UID}/podman/podman.sock (rootless)
Примеры конфигурации

Rootless (по умолчанию):

process_manager:
  name: podman

Rootful:

process_manager:
  name: podman
  config:
    socket_path: "unix:///run/podman/podman.sock"

Tmux

Tmux — это терминальный мультиплексор. В настоящий момент является устаревшим менеджером процессов в GameAP, который не рекомендуется к использованию, так как он не обеспечивает полной функциональности.

Tmux можно использовать на старых системах, а также внутри контейнеров (LXC, Docker/Podman и тд), виртуальных системах, и системах в которых отсутствует Systemd и/или нет возможности использования Docker или Podman.

Функционал  
Запуск, остановка, перезапуск серверов
Статистика ⚠️
Ограничение ресурсов (CPU / RAM)
Чтение консоли
Отправка команд в консоль
Изоляция

Конфигурация Tmux

Tmux не требует дополнительной конфигурации.

Пример конфигурации
process_manager:
  name: tmux

Windows

Shawl

Shawl — это легковесный менеджер процессов для Windows, который обеспечивает базовую функциональность для управления игровыми серверами. Написана на Rust и использует Windows API для запуска приложений в качестве служб Windows.

Функционал  
Запуск, остановка, перезапуск серверов
Статистика ⚠️
Ограничение ресурсов (CPU / RAM)
Чтение консоли
Отправка команд в консоль
Изоляция

Конфигурация Shawl

Shawl не требует дополнительной конфигурации.

Особенности работы
Параметр Значение
Директория конфигурации C:\gameap\services
Таймаут остановки 10000 мс
Ротация логов Ежедневно
Хранение логов 7 дней
Пример конфигурации
process_manager:
  name: shawl

WinSW

WinSW (Windows Service Wrapper) — менеджер процессов написанный на C#. Позволяет запускать приложения в качестве служб Windows. В GameAP является устаревшим менеджером и заменён на Shawl.

Функционал  
Запуск, остановка, перезапуск серверов
Статистика ⚠️
Ограничение ресурсов (CPU / RAM)
Чтение консоли
Отправка команд в консоль
Изоляция

Конфигурация WinSW

WinSW не требует дополнительной конфигурации.

Особенности работы
Параметр Значение
Директория конфигурации C:\gameap\services
Формат конфигурации XML
Пример конфигурации
process_manager:
  name: winsw