Менеджеры процессов
Менеджер процессов — системная утилита, которая управляет процессами на сервере. Отвечает за запуск, остановку и перезапуск игровых серверов, за мониторинг их состояния, получение статистики и ограничение ресурсов (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