Process Managers
A process manager is a system utility that manages processes on the server. It is responsible for starting, stopping, and restarting game servers, monitoring their status, collecting statistics, and limiting resources (CPU / RAM). By default, systemd is used on Linux, and Shawl on Windows.
Configuration
The process manager is configured in the GameAP Daemon configuration file.
Basic Structure
process_manager:
name: <manager_name>
config:
<key>: <value>
Available managers:
- Linux:
systemd(default),docker,podman,tmux - Windows:
shawl(default),winsw
Linux
Systemd
Used by default on Linux. It is a modern process manager that provides high performance and reliability. Isolation capabilities for this process manager are limited.
| Feature | |
|---|---|
| Start, stop, restart servers | ✅ |
| Statistics | ⚠️ |
| Resource limits (CPU / RAM) | ✅ |
| Console reading | ✅ |
| Sending commands to console | ✅ |
| Isolation | ⚠️ Limited |
Systemd Configuration
Systemd does not require additional configuration. The Daemon automatically creates and manages unit files.
Configuration Example
process_manager:
name: systemd
Docker
Docker is used to isolate game servers in containers. Use Docker if you plan to use Pterodactyl Eggs or Pelican Eggs.
| Feature | |
|---|---|
| Start, stop, restart servers | ✅ |
| Statistics | ⚠️ |
| Resource limits (CPU / RAM) | ✅ |
| Console reading | ✅ |
| Sending commands to console | ✅ |
| Isolation | ✅ |
Docker Configuration
Configuration Examples
Minimal:
process_manager:
name: docker
Podman
Podman is an alternative to Docker that provides isolation of game servers in containers. You can also use Podman if you plan to use Pterodactyl Eggs or Pelican Eggs.
| Feature | |
|---|---|
| Start, stop, restart servers | ✅ |
| Statistics | ⚠️ |
| Resource limits (CPU / RAM) | ✅ |
| Console reading | ✅ |
| Sending commands to console | ✅ |
| Isolation | ✅ |
Podman Configuration
Podman uses the same parameters as Docker, plus a specific parameter for connecting to the API.
Specific Parameters
| Config Key | Description | Default |
|---|---|---|
socket_path |
Path to Podman unix socket | unix:///run/user/{UID}/podman/podman.sock (rootless) |
Configuration Examples
Rootless (default):
process_manager:
name: podman
Rootful:
process_manager:
name: podman
config:
socket_path: "unix:///run/podman/podman.sock"
Tmux
Tmux is a terminal multiplexer. It is currently a deprecated process manager in GameAP, which is not recommended for use as it does not provide full functionality.
Tmux can be used on older systems, as well as inside containers (LXC, Docker/Podman, etc.), virtual systems, and systems that do not have Systemd and/or cannot use Docker or Podman.
| Feature | |
|---|---|
| Start, stop, restart servers | ✅ |
| Statistics | ⚠️ |
| Resource limits (CPU / RAM) | ❌ |
| Console reading | ✅ |
| Sending commands to console | ✅ |
| Isolation | ❌ |
Tmux Configuration
Tmux does not require additional configuration.
Configuration Example
process_manager:
name: tmux
Windows
Shawl
Shawl is a lightweight process manager for Windows that provides basic functionality for managing game servers. It is written in Rust and uses the Windows API to run applications as Windows services.
| Feature | |
|---|---|
| Start, stop, restart servers | ✅ |
| Statistics | ⚠️ |
| Resource limits (CPU / RAM) | ❌ |
| Console reading | ✅ |
| Sending commands to console | ❌ |
| Isolation | ❌ |
Shawl Configuration
Shawl does not require additional configuration.
Operation Details
| Parameter | Value |
|---|---|
| Configuration directory | C:\gameap\services |
| Stop timeout | 10000 ms |
| Log rotation | Daily |
| Log retention | 7 days |
Configuration Example
process_manager:
name: shawl
WinSW
WinSW (Windows Service Wrapper) is a process manager written in C#. It allows running applications as Windows services. In GameAP, it is a deprecated manager and has been replaced by Shawl.
| Feature | |
|---|---|
| Start, stop, restart servers | ✅ |
| Statistics | ⚠️ |
| Resource limits (CPU / RAM) | ❌ |
| Console reading | ✅ |
| Sending commands to console | ❌ |
| Isolation | ❌ |
WinSW Configuration
WinSW does not require additional configuration.
Operation Details
| Parameter | Value |
|---|---|
| Configuration directory | C:\gameap\services |
| Configuration format | XML |
Configuration Example
process_manager:
name: winsw