What is Wings?
Wings is Pterodactyl’s server control daemon written in Go. It runs on each game server node and is responsible for:- Managing Docker containers for game servers
- Handling server power actions (start, stop, restart)
- Processing file operations via SFTP
- Streaming console output via WebSockets
- Monitoring server resource usage
- Executing server installations and transfers
- Managing backups and restores
Architecture
Wings operates as a standalone daemon that communicates with the Pterodactyl Panel through a REST API. Each node in your infrastructure runs its own Wings instance.How Wings Works
Container Management
Wings uses Docker to isolate each game server in its own container. This provides:- Resource limits: Memory, CPU, and disk quotas per server
- Security isolation: Servers cannot interfere with each other
- Clean environment: Each server gets a fresh filesystem
- Easy cleanup: Removing a server is as simple as deleting a container
Panel Communication
Wings exposes a REST API that the Panel uses to manage servers. Key endpoints include:POST /api/remote/sftp/auth- SFTP authentication (routes/api-remote.php:7)GET /api/remote/servers- List all servers on node (routes/api-remote.php:9)GET /api/remote/servers/{uuid}- Get server details (routes/api-remote.php:14)GET /api/remote/servers/{uuid}/install- Get installation script (routes/api-remote.php:15)POST /api/remote/activity- Submit activity logs (routes/api-remote.php:11)
Server Configuration
When Wings needs server configuration, the Panel responds with a structure fromServerConfigurationStructureService (app/Services/Servers/ServerConfigurationStructureService.php:23):
SFTP Authentication
Wings handles SFTP authentication by calling the Panel’s authentication endpoint (app/Http/Controllers/Api/Remote/SftpAuthenticationController.php:34):- User connects via SFTP with format:
username.serverid@host - Wings sends credentials to Panel at
POST /api/remote/sftp/auth - Panel validates credentials (password or public key)
- Panel returns user permissions if valid
- Wings grants or denies SFTP access
Activity Logging
Wings sends server activity events to the Panel for centralized logging (app/Http/Controllers/Api/Remote/ActivityProcessingController.php:18):System Requirements
- Operating System: Linux (Ubuntu 20.04+ or Debian 10+ recommended)
- Docker: Version 20.10.0 or newer
- Architecture: x86_64 (AMD64) or ARM64
- RAM: Minimum 1GB for Wings itself (plus server requirements)
- Disk Space: SSD recommended for optimal performance
Key Features
Performance
- Written in Go for high performance and low memory usage
- Efficient Docker container management
- Concurrent handling of multiple servers
- Minimal overhead on host system
Security
- TLS/SSL encryption for all Panel communication
- Token-based authentication
- Isolated containers prevent server-to-server interference
- SFTP access control via Panel permissions
Reliability
- Automatic server state recovery after Wings restart
- Graceful handling of crashed containers
- Health checks and monitoring
- Comprehensive logging
Next Steps
Installation
Install Wings on your node
Configuration
Configure Wings settings
Docker Management
Learn about container management
Networking
Configure networking and ports
