Skip to main content

Building a Pterodactyl Node

Pterodactyl is a free, open-source game server management panel built with PHP, React, and Go. The daemon (Wings) runs on isolated nodes, utilizing Docker to containerize game servers.

Concepts

  • Docker: Required for creating isolated environments for each game server.
  • Wings: The custom server control daemon written in Go by the Pterodactyl team.
  • Allocations: IP and Port combinations assigned to the node to give to servers.

Step-by-step Guide

1. Install Docker

curl -sSL https://get.docker.com/ | CHANNEL=stable bash
sudo systemctl enable --now docker

2. Install Wings

sudo mkdir -p /etc/pterodactyl
curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_$([ "$(uname -m)" = "x86_64" ] && echo "amd64" || echo "arm64")"
sudo chmod u+x /usr/local/bin/wings

3. Configuration

After creating the node on your Pterodactyl Panel UI, paste the generated configuration command. It usually looks like this:

cd /etc/pterodactyl && sudo wings configure --panel-url https://panel.example.com --token YOUR_TOKEN --node 1

4. Start the Service

Create a systemd service file for Wings and start it:

sudo systemctl enable --now wings

Best Practices

  • Storage Driver: Use the overlay2 storage driver for Docker for better performance.
  • Swap: Enable swap space to prevent out-of-memory errors on heavy game servers.
  • SSL: Ensure your Wings node has a valid SSL certificate for secure communication with the Panel.