Skip to main content

Configuration File

Wings uses a YAML configuration file located at /etc/pterodactyl/config.yml. This file controls all aspects of Wings behavior.
Always restart Wings after making configuration changes: systemctl restart wings

Complete Configuration Example

/etc/pterodactyl/config.yml

Core Settings

Debug Mode

  • Type: Boolean
  • Default: false
  • Description: Enables verbose logging for troubleshooting
Enable debug mode temporarily when troubleshooting issues. Disable it in production as it generates significant log output.

Node Authentication

  • uuid: Unique identifier for this node (from Panel)
  • token_id: Authentication token ID (from Panel)
  • token: Secret token for API authentication (from Panel)
These values are automatically generated by the Panel. Never share these credentials or commit them to version control.

API Configuration

Host and Port

  • host: IP address to bind Wings API (use 0.0.0.0 for all interfaces)
  • port: Port for Wings API (default: 8080)
If changing the port, update your Panel’s node configuration and firewall rules accordingly.

SSL/TLS

  • enabled: Enable HTTPS for Wings API
  • cert: Path to SSL certificate file
  • key: Path to SSL private key file
SSL is required for production environments. The Panel will not communicate with Wings over plain HTTP in production.

Upload Limit

  • Type: Integer (MB)
  • Default: 100
  • Description: Maximum file upload size via Wings API in megabytes
Increase this if users need to upload larger files through the Panel’s file manager:

System Configuration

Directories

  • root_directory: Where server files are stored
  • data: Wings internal data (configs, archives, etc.)
  • log_directory: Where Wings logs are written
Use a separate disk or partition for root_directory to prevent servers from filling up the system disk.

SFTP Configuration

  • bind_port: Port for SFTP server (default: 2022)
  • bind_address: IP to bind SFTP server
  • read_only: Set to true to make all SFTP access read-only
Users connect via SFTP using the format:
The SFTP authentication is handled by the Panel’s /api/remote/sftp/auth endpoint (app/Http/Controllers/Api/Remote/SftpAuthenticationController.php).

Timezone

Set the timezone for log timestamps and scheduled tasks. Use standard timezone identifiers:

System User

  • Type: String
  • Default: pterodactyl
  • Description: System user Wings runs as (currently Wings runs as root)

Rootless Containers

  • enabled: Run containers as non-root user
  • container_uid: UID for container processes
  • container_gid: GID for container processes
Rootless mode is experimental. Most game servers expect to run as root and may fail with rootless containers.

Concurrency Settings

Backup Concurrency

  • Type: Integer
  • Default: 2
  • Description: Number of backups that can run simultaneously
Increase on high-performance nodes:

Transfer Concurrency

  • Type: Integer
  • Default: 2
  • Description: Number of server transfers that can run simultaneously

Remote Panel URL

  • Type: String (URL)
  • Description: Full URL to your Pterodactyl Panel
This URL must exactly match your Panel’s configured URL. Include the protocol (https://) and exclude trailing slashes.

Allowed Mounts

  • Type: Array of paths
  • Default: Empty array
  • Description: Host directories that can be mounted into containers
Only add paths you trust. Mounted directories are accessible to game servers and could be modified or deleted.
Example for read-only shared configs:
Then configure the mount in the Panel as:
  • Source: /opt/shared-configs
  • Target: /mnt/configs
  • Read Only: ✓

Allowed Origins

  • Type: Array of URLs
  • Default: Empty array (allows all origins)
  • Description: CORS allowed origins for Wings API
Restrict WebSocket console access:

Console Throttles

Wings can throttle servers that spam the console to prevent resource exhaustion:
  • enabled: Enable console output throttling
  • lines: Lines per interval before throttling
  • maximum_trigger_count: How many times throttle can trigger before killing server
  • line_reset_interval: Seconds between throttle resets
Increase lines if legitimate servers are being throttled during startup:

Environment Variables

You can override certain config values with environment variables:
/etc/systemd/system/wings.service
Common environment variables:
  • WINGS_DEBUG: Enable debug mode
  • WINGS_CONFIG_PATH: Custom config file path
  • WINGS_UID: User ID to run as
  • WINGS_GID: Group ID to run as

Configuration Validation

Validate your configuration before restarting Wings:

Common Configurations

High-Performance Node

Secure Production Node

Development Node

Configuration from Panel

The Panel generates Wings configuration through the node management interface:
  1. Navigate to Admin PanelNodes
  2. Click your node
  3. Go to Configuration tab
  4. Copy the auto-generated configuration
The Panel configuration ensures all URLs and tokens match correctly.

Updating Configuration

When updating configuration:
1

Edit config file

2

Validate changes

3

Restart Wings

4

Verify status

Next Steps

Docker Management

Learn how Wings manages containers

Networking

Configure networking and ports

Security

Secure your Wings installation

Monitoring

Monitor Wings performance