Overview
Wings uses Docker to isolate and manage game servers. Each server runs in its own container with dedicated resources, providing security, performance, and reliability benefits.Container Lifecycle
Wings manages the complete lifecycle of server containers:Container Creation
When a server is created in the Panel, Wings creates a Docker container with specific configuration fromServerConfigurationStructureService (app/Services/Servers/ServerConfigurationStructureService.php:43):
Container Specification
Resource Limits
Wings enforces strict resource limits on containers:Memory
- memory_limit: Maximum RAM the container can use
- swap: Additional swap space (typically 0 for game servers)
- oom_disabled: Prevent OOM killer from stopping container
CPU
- cpu_limit: CPU quota (100 = 1 core, 200 = 2 cores)
- threads: Pin to specific CPU cores (optional)
Disk
- disk_space: Maximum disk usage
- io_weight: I/O scheduling weight (higher = more priority)
Server Installation
Wings handles server installation through a dedicated installation container:1
Panel provides installation script
Wings requests installation data from
/api/remote/servers/{uuid}/install (app/Http/Controllers/Api/Remote/Servers/ServerInstallController.php:31):2
Wings creates installation container
A temporary container is created with:
- Installation image (e.g.,
debian:buster-slim) - Server files mounted
- Installation script as entrypoint
3
Script execution
The installation script runs with elevated privileges to download and setup server files.
4
Installation completion
Wings reports status to
/api/remote/servers/{uuid}/install (app/Http/Controllers/Api/Remote/Servers/ServerInstallController.php:53):Container Images (Yolks)
Wings uses container images called “Yolks” that provide runtime environments:Common Yolks
Image Management
Wings automatically pulls required images:Container Networking
Wings configures container networking using Docker’s bridge network:Port Allocation
Ports are mapped from the container to the host:Network Mode
By default, containers use bridge networking. Wings handles:- Port allocation and mapping
- IP address assignment
- Network isolation between servers
Container Storage
Each server gets a dedicated volume for persistence:Volume Structure
/home/container:
Mounts
Additional host directories can be mounted (configured in Wings config):Environment Variables
Wings injects environment variables into containers:Container Monitoring
Wings continuously monitors container stats:Resource Usage
Container Logs
Wings captures container output:Container Security
Isolation
Each container is isolated:- Separate filesystem (volumes)
- Isolated network namespace
- Resource limits enforced by cgroups
- User namespace separation
Security Features
Container Management Commands
List Containers
Inspect Container
Execute Commands
Troubleshooting
Container Won’t Start
High Resource Usage
Permission Issues
Advanced Container Features
OOM Prevention
Wings can disable the OOM killer for containers:CPU Pinning
Pin containers to specific CPU cores:I/O Priority
Control disk I/O priority:Next Steps
Networking
Configure network and port allocation
Security
Secure container configuration
Monitoring
Monitor container performance
Configuration
Advanced Wings configuration
