Pterodactyl Architecture
Pterodactyl uses a panel-node architecture. The Panel is the web interface and API, while Wings is the daemon that runs on each game server node managing Docker containers. Running Wings on separate nodes lets you scale game server capacity across multiple machines.
Panel Prerequisites
# Your Pterodactyl Panel must be installed and running
# Panel provides the node configuration token
# Panel URL must be accessible from the Wings node
Installing Wings on a Node
# Install Docker
curl -fsSL https://get.docker.com | bash
systemctl enable --now docker
# Install Wings
mkdir -p /etc/pterodactyl
curl -L -o /usr/local/bin/wings \
"https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64"
chmod +x /usr/local/bin/wings
Configure Wings
# In the Pterodactyl Panel:
# 1. Admin > Nodes > Create New
# 2. Enter node details: name, location, FQDN, memory, disk
# 3. Copy the auto-generated configuration
# 4. Save to /etc/pterodactyl/config.yml on the Wings node
# Or generate config via auto-deploy:
cd /etc/pterodactyl
wings configure \
--panel-url https://panel.example.com \
--token YOUR_NODE_TOKEN \
--node 1
Systemd Service
cat > /etc/systemd/system/wings.service << EOF
[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
Requires=docker.service
[Service]
User=root
ExecStart=/usr/local/bin/wings
Restart=on-failure
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s
[Install]
WantedBy=multi-user.target
EOF
systemctl enable --now wings
Firewall Configuration
# Wings daemon port
ufw allow 8080/tcp
# SFTP port
ufw allow 2022/tcp
# Game server port range (allocate per your needs)
ufw allow 25565:25665/tcp
ufw allow 25565:25665/udp
ufw allow 27015:27115/tcp
ufw allow 27015:27115/udp
Adding Allocations
# In Panel: Admin > Nodes > Your Node > Allocation
# Add IP addresses and port ranges
# Each game server gets assigned a specific allocation
# Example: 25565, 25566, 25567 for Minecraft servers
# Example: 27015, 27016 for Source engine servers
Multi-Node Tips
- Use different nodes for different game types
- Monitor resource usage per node via the panel
- Set memory and disk overallocation limits
- Keep Wings updated alongside the Panel
- Configure backup storage (S3-compatible) for game data