Pterodactyl Panel

website·Indexed 31 days ago

https://pterodactyl.top/

An open-source game server management panel built with PHP, React, and Go. This documentation covers the installation and configuration of the Panel and Wings (the Go-based server management platform), including guides for various operating systems like CentOS, Debian, and Fedora, as well as MySQL setup, SSL certificates, and custom egg creation.

Tokens
24.4K
Snippets
129
Records
173
Agent score
58%

What's inside Pterodactyl

  1. Overview of Pterodactyl Game Server Management Panel

    Pterodactyl is an open-source game server management panel built using PHP, React, and Go. It provides an intuitive user interface for administrators and users while ensuring security by running all game servers in isolated Docker containers.
  2. Overview of Pterodactyl Game Server Management Panel

    Pterodactyl is a free, open-source game server management panel built using PHP, React, and Go. It is designed to run game servers within isolated Docker containers to ensure security, limit attack vectors, and provide strict resource constraints tailored to specific games. The software is licensed under the MIT license.
  3. Understand Pterodactyl (China) project status

    Pterodactyl (China) is a third-party localized (Chinese) branch of the Pterodactyl panel maintained by Vlssu. It is not an official version and is not affiliated with Pterodactyl Software. The official website for the original project is pterodactyl.io.
  4. Install Wings binary on Linux

    Install the Wings daemon by creating the required configuration directory and downloading the appropriate binary for your architecture (amd64 or arm64).
    # Create configuration directory
    mkdir -p /etc/pterodactyl
    
    # Download Wings (International Source)
    curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl-china/wings/releases/latest/download/wings_linux_$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")"
    
    # Download Wings (China Mirror Source)
    # curl -L -o /usr/local/bin/wings "https://ghfast.top/https://github.com/pterodactyl-china/wings/releases/latest/download/wings_linux_$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")"
    
    # Make binary executable
    chmod u+x /usr/local/bin/wings
  5. Install Wings binary and directory structure

    Create the required configuration directory and download the Wings binary to /usr/local/bin/wings. The installation automatically detects the system architecture (amd64 or arm64).
    # International Source
    sudo mkdir -p /etc/pterodactyl
    curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl-china/wings/releases/latest/download/wings_linux_$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")"
    sudo chmod u+x /usr/local/bin/wings
    
    # China Mirror Source
    sudo mkdir -p /etc/pterodactyl
    curl -L -o /usr/local/bin/wings "https://ghfast.top/https://github.com/pterodactyl-china/wings/releases/latest/download/wings_linux_$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")"
    sudo chmod u+x /usr/local/bin/wings
  6. Pterodactyl Panel System Requirements

    Pterodactyl Panel requires root access to the server. It is a complex system with multiple dependencies and is not a 'drag-and-drop' service.

    OS Compatibility:

    • Ubuntu: 22.04 (requires extra PHP repo) and 24.04 (MariaDB installable without repo script).
    • RHEL / Rocky Linux / AlmaLinux: 8 (requires extra repos) and 9.
    • Debian: 11, 12, and 13.

    Critical Constraint: Most OpenVZ systems are NOT supported because they are incompatible with Docker.

  7. Understand Pterodactyl core architectural terms

    Pterodactyl uses a distributed architecture to manage game servers. Key components include:

    • Panel: The central management interface used to add nodes and servers to the system.
    • Node: The physical host machine that runs a Wings instance.
    • Wings: A service written in Go that interacts with Docker and the Panel to provide secure access and control over servers.
    • Server: A running instance created by the Panel and hosted on a Node. Multiple servers can exist on a single node.
    • Docker: The platform used to isolate applications into secure containers.
    • Docker Image: A package containing everything needed to run a containerized application (e.g., Java for a Minecraft server).
    • Container: An isolated environment created by Docker for each server to enforce hardware limits (CPU/RAM) and prevent interference between servers on the same node.
  8. Initialize Pterodactyl Panel database and seed data

    Run the database migrations and seed the database with core data. This process may take some time depending on host performance and network connectivity; do not interrupt the process with CTRL+C.
    php artisan migrate --seed --force
  9. Configure and start Wings

    1. Create a node in the Pterodactyl Panel.
    2. Copy the configuration block from the node's 'Configuration' tab and save it as /etc/pterodactyl/config.yml (or use the 'Generate automatic deployment command' button).
    3. If the panel uses SSL, the Wings node must also have a domain name and a valid SSL certificate.
    4. Test the installation by running Wings in debug mode. Press CTRL+C to stop once verified.
    sudo wings --debug
  10. Synchronize server time for Pterodactyl

    Pterodactyl requires accurate server time (drift should not exceed 10 seconds). Set the timezone to Asia/Shanghai and use ntpdate to synchronize with a reliable NTP server. If you receive a no server suitable for synchronization found error, your provider may be blocking NTP traffic; in this case, use a provider-approved NTP server or your local gateway IP.
    # Set timezone and sync time
    timedatectl set-timezone Asia/Shanghai
    apt install ntpdate -y
    ntpdate -u ntp.aliyun.com
    
    # Create a cron job to sync every 20 minutes
    echo "*/20 * * * * /usr/sbin/ntpdate -u ntp.aliyun.com >/dev/null &" >> /var/spool/cron/root
  11. Install Docker for Wings

    Wings depends on Docker. Use the following commands for a quick installation of the Docker Community Edition. Ensure your kernel is supported by running uname -r; kernels ending in -xxxx-grs-ipv6-64 or -xxxx-mod-std-ipv6-64 may be unsupported.
    # International Source
    curl -sSL https://get.docker.com/ | CHANNEL=stable bash
    
    # China Mirror Source
    curl -sSL https://get.docker.com/ | CHANNEL=stable bash -s docker --mirror Aliyun
    
    # Enable Docker to start on boot (systemd systems)
    sudo systemctl enable --now docker
  12. Identify IP addresses for node allocation

    Nodes require an IP and port combination for server allocation. Do not use 127.0.0.1. Use the following commands to find the appropriate network interface IP address.
    # Get the primary IP
    hostname -I | awk '{print $1}'
    
    # List all available interfaces and IPs
    ip addr | grep "inet "