Installation Issues
Configuration file not found
Configuration file not found
Error Message:Solution:Wings looks for the configuration file at
/etc/pterodactyl/config.yml by default (defined in config/config.go:31).-
Ensure the configuration file exists:
-
If using a custom location, specify it with the
--configflag: -
Verify file permissions (should be readable by Wings):
Failed to create pterodactyl system user
Failed to create pterodactyl system user
Error Message:Solution:Wings requires a dedicated system user to own server files. The default username is For Alpine Linux:Verify the user was created:
pterodactyl (configurable in config.yml).For most Linux distributions:Failed to configure system directories
Failed to configure system directories
Error Message:Solution:Wings needs to create several directories. Ensure the parent directories exist and have proper permissions:Default directories (from
config/config.go):- Root:
/var/lib/pterodactyl - Data:
/var/lib/pterodactyl/volumes - Archives:
/var/lib/pterodactyl/archives - Backups:
/var/lib/pterodactyl/backups - Logs:
/var/log/pterodactyl - Temp:
/tmp/pterodactyl
Failed to configure log rotation
Failed to configure log rotation
Error Message:Solution:Wings automatically creates a logrotate configuration at
/etc/logrotate.d/wings if the directory exists.-
Verify logrotate is installed:
-
Check if the directory exists:
-
If you don’t want automatic log rotation, disable it in
config.yml: -
Manually create the logrotate config if needed:
Docker Issues
Failed to configure docker environment
Failed to configure docker environment
Error Message:Possible Causes & Solutions:
-
Docker is not running:
-
Docker socket permission denied:
-
Docker API version mismatch:
Wings uses API version negotiation. Check your Docker version:
Ensure you’re running Docker 20.10 or newer.
-
Network creation failed:
The default network name is
pterodactyl_nw. Check for conflicts:If there’s a conflict, remove the old network:
Container fails to start or times out
Container fails to start or times out
Error Context:
Wings uses a 30-second timeout when checking container status during boot to prevent hanging (see
cmd/root.go:220).Solutions:-
Check Docker daemon logs:
-
Inspect the container:
-
Check available disk space:
-
Verify image exists:
If the image is missing, Wings will pull it on first start (may take time).
- Check for resource limits: Ensure the server has enough memory and CPU allocated.
Network interface issues
Network interface issues
Error: Issues with
pterodactyl0 bridge interfaceSolution:The network configuration is defined in config.yml:-
Check for IP conflicts:
Ensure
172.18.0.0/16doesn’t conflict with existing networks. -
Recreate the network:
-
For custom networks: Edit
config.ymland adjust the subnet/gateway.
Connection Problems
Cannot connect to Wings API
Cannot connect to Wings API
Default Configuration:
- Host:
0.0.0.0 - Port:
8080 - SSL: Disabled by default
-
Verify Wings is listening:
-
Check firewall rules:
-
Test connectivity:
-
Check SSL configuration in
config.yml: -
Verify certificate validity:
SFTP connection issues
SFTP connection issues
Default SFTP Configuration:
- Address:
0.0.0.0 - Port:
2022
-
Port not accessible:
-
Invalid credentials:
- SFTP uses the format:
username.serverid - The username must match the regex pattern:
^(?i)(.+)\.([a-z0-9]{8})$ - Password is verified against the Panel API
- SFTP uses the format:
-
Authentication failures:
Check Wings logs:
Common error:
the credentials provided were invalid- Verify Panel is accessible from Wings
- Check API token in
config.yml
-
Read-only mode:
If SFTP is in read-only mode, check
config.yml: -
Check SFTP server logs:
Wings logs SFTP connections with the client IP:
Panel cannot communicate with Wings
Panel cannot communicate with Wings
Error: Panel shows Wings as offline or unreachableChecklist:
-
Verify Wings is running:
-
Check token configuration:
The token in Wings
config.ymlmust match the Panel:Wings also supports environment variables:And file-based tokens (useful with systemd credentials): -
Verify remote query settings in
config.yml: -
Test Panel connectivity from Wings:
-
Check for certificate errors:
If using self-signed certificates, you may need:
Configuration Issues
Failed to detect system timezone
Failed to detect system timezone
Error Message:Solution:Wings attempts to auto-detect timezone from:Verify timezone:
TZenvironment variable/etc/timezonefiletimedatectlcommand- Falls back to
UTC
config.yml:Server state persistence issues
Server state persistence issues
Context:
Wings saves server states to disk every minute in
/var/lib/pterodactyl/states.json to survive reboots.If servers don’t restart after reboot:-
Check states file:
-
Verify file permissions:
-
Check Wings logs for state errors:
Permission errors on server files
Permission errors on server files
Error: Server cannot write to files or directoriesSolution:Wings uses the configured system user (default:
pterodactyl UID/GID 988).-
Check current ownership:
-
Fix ownership recursively:
-
Enable automatic permission checks in
config.yml:
See Also
- Debugging Guide - Advanced debugging techniques
- Performance Tuning - Optimize Wings performance
- Configuration Reference - Complete configuration options
