Back to Knowledge Base

How to Install Pterodactyl: Complete Panel & Wings Installation Guide

How to Install Pterodactyl Panel and Wings

Pterodactyl is a free, open-source game server management panel built with PHP, React, and Go. It runs all game servers in isolated Docker containers, giving you security, scalability, and full control over your infrastructure. Whether you're hosting Minecraft, Rust, ARK, CS2, or any other game — Pterodactyl is the industry standard for managing it.

In this guide, shared via SkyRainCloud, we'll walk you through everything — supported operating systems, the one-click installation script, and a full line-by-line breakdown of what the script does. By the end, you'll have a fully functional Pterodactyl Panel and Wings running on your server.

How to Install Pterodactyl with One-Command Quick Install

The fastest way to install Pterodactyl is using our hosted installer script. Just SSH into your server and run:

bash <(curl -s https://pterodactylinstall.skyraincloud.in)
⚠️
Root Privileges Required

This script must be run as the root user. If you are logged in as a standard user, prefix the command with sudo. The installer supports setting up the Panel, Wings, or both on the same machine.

How to Get an FQDN & Point It to Your Server

A Fully Qualified Domain Name (FQDN) (like gp.skyraincloud.in) is required to set up Let's Encrypt SSL certificates and ensure secure, encrypted communication between the panel and Wings.

1. Get a Domain Name

If you don't already own a domain, buy one from a registrar like Cloudflare, Namecheap, or GoDaddy. You can get cheap extensions (.fun, .xyz, .site) for as little as $1-$2 per year.

2. Create a DNS A-Record

Log into your domain's DNS manager (e.g. Cloudflare DNS dashboard) and add a new record to point to your VPS IP address. Here is exactly how to fill it:

Type Name Content Proxy status TTL
A gp YOUR_VPS_IP DNS Only Auto

3. Turn Off DNS Proxy (Cloudflare Users)

If you are using Cloudflare, make sure the proxy status toggle is set to DNS Only / Grey Cloud (not Proxied/Orange Cloud).

⚠️ Critical Integration Step

Cloudflare's proxy blocks WebSocket traffic on non-standard ports, which prevents the Pterodactyl Panel from communicating with the Wings service on port 8080 and blocks SFTP file uploads on port 2022.

How to Install Pterodactyl Panel: Interactive CLI Guide & Terminal Trace

When you run the script, the installer launches an interactive text-based user interface (TUI) directly inside your terminal. Below is the complete trace of a successful live installation (using option 2 to install both Panel and Wings). We have highlighted every input you need to type in cyan, along with clear green comment guides explaining exactly what to enter at each prompt:

root@gp.skyraincloud.in:~
######################################################################################
#                                                                                    #
# Pterodactyl Installer                                                              #
# Shared via SkyRainCloud - https://skyraincloud.in/blog                             #
#                                                                                    #
######################################################################################

* Downloading lib.sh from GitHub...
* lib.sh downloaded successfully.

* Welcome to the Pterodactyl installer!
* This script will install Pterodactyl Panel and/or Wings on your server.

* Please note that this installer is not associated with the official Pterodactyl Project.

What would you like to do?
[0] Install the panel
[1] Install Wings
[2] Install both [0] and [1] on the same machine (wings script runs after panel)
[3] Uninstall panel or wings
[4] Install panel with canary version of the script (the versions that lives in master, may be broken!)
[5] Install Wings with canary version of the script (the versions that lives in master, may be broken!)
[6] Install both [4] and [5] on the same machine (wings script runs after panel)
[7] Uninstall panel or wings with canary version of the script (the versions that lives in master, may be broken!)

* Input 0-7: 2 # <--- Choose [2] to install both Panel and Wings on this machine


* pterodactyl-installer Wed Jun 10 10:00:00 UTC 2026


════════════════════════════════════════════════════════════
          PTERODACTYL PANEL INSTALLATION (v1.3.0)
════════════════════════════════════════════════════════════

* This installer will install Pterodactyl Panel on your server.
* The following will be installed:
    - Nginx (web server)
    - MariaDB (database)
    - PHP 8.3
    - Composer
    - Redis
    - Certbot (SSL)

* Detected OS: Ubuntu 22.04 (jammy)

* Please enter the FQDN (Fully Qualified Domain Name) for the panel.
* Example: panel.yourdomain.com
* FQDN: gp.skyraincloud.in # <--- Enter your FQDN (pointed to your server's IP)

* Do you want to automatically configure HTTPS using Let's Encrypt? (y/N): y # <--- Type y to automatically secure access with SSL

* Enter your email address for Let's Encrypt certificate renewal notices.
* Email: admin@skyraincloud.in # <--- Enter your email for Let's Encrypt notifications

* Do you want to configure MySQL automatically? (y/N): y # <--- Type y to automatically configure database, user & tables

* Enter the username for the MySQL user (default: pterodactyl): pterodactyl # <--- Press Enter to accept the default db username
* Enter a password for the MySQL user: ******** # <--- Type a secure database password (input is hidden)

* Do you want to create an initial admin user? (y/N): y # <--- Type y to create the administrator account
* Enter the admin first name: Admin
* Enter the admin last name: SkyRainCloud
* Enter the admin username: admin # <--- Enter your dashboard username
* Enter the admin email: admin@skyraincloud.in # <--- Enter the dashboard login email
* Enter the admin password: ******** # <--- Choose a strong password for security

════════════════════════════════════════════════════════════
                     SUMMARY
════════════════════════════════════════════════════════════

* Panel FQDN:       gp.skyraincloud.in
* Panel URL:        https://gp.skyraincloud.in
* SSL:              Yes (Let's Encrypt)
* SSL Email:        admin@skyraincloud.in
* Database user:    pterodactyl
* Admin user:       admin@skyraincloud.in

* Do you want to continue with the installation? (y/N): y # <--- Type y and press Enter to verify and start installation

════════════════════════════════════════════════════════════
                  INSTALLING DEPENDENCIES
════════════════════════════════════════════════════════════

* Updating system packages...
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:3 http://security.ubuntu.com/ubuntu jammy-security InRelease
Reading package lists... Done
Building dependency tree... Done

* Installing required packages (curl, tar, unzip, git, wget)...
Reading package lists... Done
Building dependency tree... Done
The following additional packages will be installed:
  git-man liberror-perl
Suggested packages:
  git-daemon-run git-daemon-sysvinit git-doc
The following NEW packages will be installed:
  curl git git-man liberror-perl tar unzip wget
0 upgraded, 7 newly installed, 0 to remove and 12 not upgraded.
Need to get 8,472 kB of archives.
After this operation, 42.3 MB of additional disk space will be used.
Fetched 8,472 kB in 2s (4,236 kB/s)
Selecting previously unselected package curl.
(Reading database ... 85432 files and directories currently installed.)
Preparing to unpack .../curl_7.81.0-1ubuntu1.16_amd64.deb ...
Unpacking curl (7.81.0-1ubuntu1.16) ...
Setting up curl (7.81.0-1ubuntu1.16) ...
Setting up git (1:2.34.1-1ubuntu1.10) ...
Processing triggers for man-db (2.10.2-1) ...

════════════════════════════════════════════════════════════
                    INSTALLING PHP 8.3
════════════════════════════════════════════════════════════

* Adding Ondrej PHP PPA repository...
add-apt-repository ppa:ondrej/php
Repository: 'ppa:ondrej/php'
Description: Co-installable PHP versions: PHP 5.6, PHP 7.x and most requested extensions.
Adding repository.
Press [ENTER] to continue or Ctrl-c to cancel.
Adding deb entry to /etc/apt/sources.list.d/ondrej-ubuntu-php-jammy.list
Adding disabled deb-src entry to /etc/apt/sources.list.d/ondrej-ubuntu-php-jammy.list
Updating package lists...
OK

* Installing PHP 8.3 and required extensions...
The following NEW packages will be installed:
  php8.3 php8.3-cli php8.3-common php8.3-curl php8.3-fpm php8.3-gd
  php8.3-intl php8.3-mbstring php8.3-mysql php8.3-opcache php8.3-readline
  php8.3-redis php8.3-tokenizer php8.3-xml php8.3-zip
0 upgraded, 15 newly installed, 0 to remove and 12 not upgraded.
Fetched 22.1 MB in 5s (4,420 kB/s)
Setting up php8.3-fpm (8.3.8-1+ubuntu22.04.1+deb.sury.org+1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/php8.3-fpm.service
Setting up php8.3 (8.3.8-1+ubuntu22.04.1+deb.sury.org+1) ...
Processing triggers for php8.3-fpm ...

════════════════════════════════════════════════════════════
                   INSTALLING NGINX
════════════════════════════════════════════════════════════

* Installing Nginx...
The following NEW packages will be installed:
  nginx nginx-common nginx-core
0 upgraded, 3 newly installed, 0 to remove and 12 not upgraded.
Fetched 621 kB in 1s (621 kB/s)
Setting up nginx (1.18.0-6ubuntu14.5) ...
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service

════════════════════════════════════════════════════════════
                  INSTALLING MARIADB
════════════════════════════════════════════════════════════

* Adding MariaDB repository...
* Installing MariaDB 10.11...
The following NEW packages will be installed:
  mariadb-client mariadb-client-10.11 mariadb-common mariadb-server
  mariadb-server-10.11
0 upgraded, 5 newly installed, 0 to remove and 12 not upgraded.
Fetched 25.3 MB in 6s (4,216 kB/s)
Setting up mariadb-server-10.11 (1:10.11.6+maria~ubu2204) ...
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service

* Securing MariaDB installation...
* Creating pterodactyl database and user...

+ mysql -u root -e "CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY '***';"
+ mysql -u root -e "CREATE DATABASE panel;"
+ mysql -u root -e "GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION;"
+ mysql -u root -e "FLUSH PRIVILEGES;"

════════════════════════════════════════════════════════════
                   INSTALLING REDIS
════════════════════════════════════════════════════════════

* Installing Redis...
The following NEW packages will be installed:
  redis redis-server redis-tools
0 upgraded, 3 newly installed, 0 to remove and 12 not upgraded.
Fetched 1,023 kB in 1s (1,023 kB/s)
Setting up redis-server (5:6.0.16-1ubuntu1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/redis-server.service

════════════════════════════════════════════════════════════
               DOWNLOADING PTERODACTYL PANEL
════════════════════════════════════════════════════════════

* Creating /var/www/pterodactyl directory...
+ mkdir -p /var/www/pterodactyl
+ cd /var/www/pterodactyl

* Downloading latest Pterodactyl Panel release...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  182M  100  182M    0     0  9856k      0  0:00:18  0:00:18 --:--:-- 11.2M

* Extracting panel files...
+ tar -xzvf panel.tar.gz
./
./app/
./bootstrap/
./config/
./database/
./public/
./resources/
./routes/
./storage/
[... extracting 1800+ files ...]

* Setting correct permissions...
+ chmod -R 755 storage/* bootstrap/cache/

════════════════════════════════════════════════════════════
                  INSTALLING COMPOSER
════════════════════════════════════════════════════════════

* Downloading Composer...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2.3M  100  2.3M    0     0  3512k      0  0:00:00 --:--:-- --:--:-- 3520k

* Installing Composer dependencies (this may take a while)...
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 143 installs, 0 updates, 0 removals
  - Installing symfony/polyfill-php80 (v1.29.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.29.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.29.0): Extracting archive
  - Installing illuminate/contracts (v10.48.12): Extracting archive
  - Installing illuminate/support (v10.48.12): Extracting archive
  - Installing laravel/framework (v10.48.12): Extracting archive
  [... installing 138 more packages ...]
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: laravel/tinker
Discovered Package: spatie/laravel-activitylog
Package manifest generated successfully.

════════════════════════════════════════════════════════════
               CONFIGURING PTERODACTYL PANEL
════════════════════════════════════════════════════════════

* Copying .env file...
+ cp .env.example .env

* Generating application key...
+ php artisan key:generate --force
   INFO  Application key set successfully.

* Configuring environment settings...
+ php artisan p:environment:setup \
    --author=admin@skyraincloud.in \
    --url=https://gp.skyraincloud.in \
    --timezone=UTC \
    --cache=redis \
    --session=redis \
    --queue=redis \
    --redis-host=127.0.0.1 \
    --redis-pass= \
    --redis-port=6379 \
    --settings-ui=true

   INFO  Environment settings configured successfully.

* Configuring database settings...
+ php artisan p:environment:database \
    --host=127.0.0.1 \
    --port=3306 \
    --database=panel \
    --username=pterodactyl \
    --password=***

   INFO  Database settings configured successfully.

* Running database migrations...
+ php artisan migrate --seed --force

   INFO  Running migrations.

  2016_01_23_195641_add_servers_table ............... 42ms DONE
  2016_01_27_025455_add_nodes_table ................. 38ms DONE
  2016_02_03_025047_add_allocations_table ........... 21ms DONE
  2016_02_15_131610_add_service_tables .............. 19ms DONE
  2016_06_21_025040_add_users_table ................. 17ms DONE
  2017_01_14_200216_add_api_key_table ............... 14ms DONE
  2019_12_14_000001_create_personal_access_tokens ... 12ms DONE
  2021_01_01_000001_add_mounts_table ................ 11ms DONE
  [... 34 more migrations ...]

   INFO  Seeding database.

* Creating admin user...
+ php artisan p:user:make \
    --email=admin@skyraincloud.in \
    --username=admin \
    --name-first=Admin \
    --name-last=SkyRainCloud \
    --password=*** \
    --admin=1

   INFO  Successfully created new user: admin@skyraincloud.in

════════════════════════════════════════════════════════════
              CONFIGURING NGINX + SSL (Let's Encrypt)
════════════════════════════════════════════════════════════

* Writing Nginx configuration for gp.skyraincloud.in...
+ cat > /etc/nginx/sites-available/pterodactyl.conf

* Enabling site...
+ ln -s /etc/nginx/sites-available/pterodactyl.conf /etc/nginx/sites-enabled/pterodactyl.conf
+ rm /etc/nginx/sites-enabled/default

* Testing Nginx configuration...
+ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

* Installing Certbot...
The following NEW packages will be installed:
  certbot python3-certbot python3-certbot-nginx
0 upgraded, 3 newly installed, 0 to remove and 12 not upgraded.
Fetched 310 kB in 1s (310 kB/s)
Setting up certbot (1.21.0-1ubuntu2) ...

* Requesting SSL certificate for gp.skyraincloud.in...
+ certbot --nginx --redirect --agree-tos \
    -d gp.skyraincloud.in \
    -m admin@skyraincloud.in \
    --non-interactive

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Requesting a certificate for gp.skyraincloud.in

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/gp.skyraincloud.in/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/gp.skyraincloud.in/privkey.pem
This certificate expires on 2026-09-08.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate to VirtualHost /etc/nginx/sites-available/pterodactyl.conf
Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-available/pterodactyl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled HTTPS on https://gp.skyraincloud.in
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

════════════════════════════════════════════════════════════
              CONFIGURING QUEUE WORKER (cron + systemd)
════════════════════════════════════════════════════════════

* Adding cron job for panel task scheduler...
+ crontab -l | { cat; echo "* * * * * php /var/www/pterodactyl/artisan schedule:run >> /dev/null 2>&1"; } | crontab -

* Creating pteroq systemd service...
+ cat > /etc/systemd/system/pteroq.service
+ systemctl enable --now pteroq

Created symlink /etc/systemd/system/multi-user.target.wants/pteroq.service
                → /etc/systemd/system/pteroq.service

* Setting final file ownership...
+ chown -R www-data:www-data /var/www/pterodactyl

* Restarting Nginx...
+ systemctl restart nginx

════════════════════════════════════════════════════════════
         PTERODACTYL PANEL INSTALLATION COMPLETE!
════════════════════════════════════════════════════════════

* Panel URL:   https://gp.skyraincloud.in
* Admin Email: admin@skyraincloud.in
* Admin User:  admin

* Installation of panel completed. Do you want to proceed to wings installation? (y/N): y # <--- Type y to automatically proceed to Wings daemon installation


* pterodactyl-installer Wed Jun 10 10:08:44 UTC 2026


════════════════════════════════════════════════════════════
          PTERODACTYL WINGS INSTALLATION (v1.3.0)
════════════════════════════════════════════════════════════

* This installer will install Pterodactyl Wings (daemon) on your server.

* Detected OS: Ubuntu 22.04 (jammy)

════════════════════════════════════════════════════════════
                  INSTALLING DOCKER
════════════════════════════════════════════════════════════

* Adding Docker's official GPG key...
+ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

* Adding Docker repository...
+ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable" > /etc/apt/sources.list.d/docker.list

* Installing Docker CE...
The following NEW packages will be installed:
  containerd.io docker-buildx-plugin docker-ce docker-ce-cli
  docker-compose-plugin
0 upgraded, 5 newly installed, 0 to remove and 12 not upgraded.
Fetched 98.2 MB in 14s (7,014 kB/s)
Setting up containerd.io (1.7.16-1) ...
Setting up docker-ce-cli (5:26.1.3-1~ubuntu.22.04~jammy) ...
Setting up docker-ce (5:26.1.3-1~ubuntu.22.04~jammy) ...
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service

* Enabling Docker on boot...
+ systemctl enable --now docker
Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable docker

════════════════════════════════════════════════════════════
                  DOWNLOADING WINGS
════════════════════════════════════════════════════════════

* Creating /etc/pterodactyl directory...
+ mkdir -p /etc/pterodactyl

* Downloading Wings binary...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 31.2M  100 31.2M    0     0  8.45M      0  0:00:03  0:00:03 --:--:-- 8.47M

* Placing Wings binary at /usr/local/bin/wings...
+ mv wings_linux_amd64 /usr/local/bin/wings
+ chmod u+x /usr/local/bin/wings

════════════════════════════════════════════════════════════
               CONFIGURING WINGS SYSTEMD SERVICE
════════════════════════════════════════════════════════════

* Writing Wings systemd service...
+ cat > /etc/systemd/system/wings.service

* Enabling Wings service (will start after you add node config)...
+ systemctl enable wings

Created symlink /etc/systemd/system/multi-user.target.wants/wings.service
                → /etc/systemd/system/wings.service

════════════════════════════════════════════════════════════
            PTERODACTYL WINGS INSTALLATION COMPLETE!
════════════════════════════════════════════════════════════

* Wings has been installed successfully.

* IMPORTANT: Wings will NOT start until you:
*   1. Go to https://gp.skyraincloud.in (admin panel)
*   2. Create a Node under Admin > Nodes
*   3. Copy the config from the Configuration tab
*   4. Paste it into: /etc/pterodactyl/config.yml
*   5. Run: systemctl start wings

* Check Wings status at any time with:
*   systemctl status wings

* View Wings logs with:
*   journalctl -u wings --since "5 minutes ago"

════════════════════════════════════════════════════════════
              ALL INSTALLATIONS COMPLETE!
════════════════════════════════════════════════════════════

* Panel:  https://gp.skyraincloud.in
* Login:  admin@skyraincloud.in

* Thank you for using SkyRainCloud - https://skyraincloud.in/blog

* Removing lib.sh...
rm -rf /tmp/lib.sh

How to Install Pterodactyl Wings & Connect to Your Panel

After the terminal script successfully finishes, your Pterodactyl Panel is installed, and the Wings service is running. However, they are not talking to each other yet. Follow these simple steps to link them and make your server ready to host games:

A. Log into the Panel

Open your browser and navigate to your panel URL (e.g. https://gp.skyraincloud.in). Log in with the admin email and password you created.

B. Create a Location

Before adding a server node, Pterodactyl needs a location grouping.
1. Click the Admin Control Panel icon (the gear in the top-right corner).
2. Go to Locations in the left-hand sidebar.
3. Click Create New, enter a short code (e.g., IN-Mumbai), description, and click Create.

C. Create the Node

Now you need to register your server inside the panel:
1. Click on Nodes in the left sidebar and click Create New.
2. Fill out the form with these values:

  • Name: Node-1
  • Location: Select the location you created in Step B
  • FQDN: gp.skyraincloud.in
  • Scheme: Choose Use SSL Connection (HTTPS)
  • Behind Proxy: Choose Not Behind Proxy
  • Daemon Port: 8080 (Default)
  • SFTP Port: 2022 (Default)
  • Memory: Enter your total VPS memory in MB (e.g., 8192 for 8GB)
  • Disk Space: Enter your available disk size in MB (e.g., 80000 for 80GB)

D. Deploy Configuration & Start Wings

Once your node is created, you will see a list of tabs.
1. Go to the Configuration tab.
2. Copy the configuration block (YAML code) displayed in the box.
3. Open your SSH terminal again and run:

# Open the config file (creates it if it doesn't exist)
nano /etc/pterodactyl/config.yml

4. Paste the YAML code you copied directly into the file.
5. Save and close the editor (Ctrl+O then Enter to save, then Ctrl+X to exit).
6. Start Wings and make sure it starts automatically when the VPS restarts:

systemctl enable --now wings

Go back to your Pterodactyl Panel's Node page. If everything is connected correctly, the heart icon next to Node-1 will turn green! You are now ready to create server ports (allocations) and deploy game servers instantly.

Prerequisites Before Running the Script

Before you run the installer, make sure you have the following ready:

A Fresh VPS or Dedicated Server

Running one of the supported operating systems listed above. We recommend at least 2GB RAM and 2 CPU cores. SkyRainCloud VPS plans are perfect for this.

Root SSH Access

You need root-level access to install system packages, configure web servers, and set up Docker. The script will fail without root permissions.

A Domain Name (Recommended)

Point a domain or subdomain (e.g., panel.yourdomain.com) to your server's IP address. Required for SSL certificates and clean panel access.

curl Installed

Most modern Linux distros include curl by default. If not, install it with apt install curl (Debian/Ubuntu) or dnf install curl (Rocky/Alma).

What Happens After Installation?

  1. Panel Setup: The script installs PHP 8.3, MySQL/MariaDB, Nginx or Apache, Composer, and the Pterodactyl Panel files. It configures your database, creates an admin user, and sets up the cron job and queue worker.
  2. Wings Setup: Docker is installed and configured, then the Wings binary is downloaded. It creates the Wings systemd service for auto-start on boot.
  3. Connect Wings to Panel: After Wings is installed, log into your panel, create a new Node, and copy the configuration YAML into /etc/pterodactyl/config.yml on your Wings server.
  4. Start Creating Servers: That's it! You can now create game servers from the panel's admin area. Add allocations (ports), select eggs (server types), and launch servers in seconds.
"Pterodactyl makes game server management accessible to everyone. Combined with SkyRainCloud's infrastructure, you get enterprise-grade hosting at an affordable price."

Frequently Asked Questions

Is the Pterodactyl installer script safe to use?

Yes. The script is sourced from the official pterodactyl-installer GitHub repository. We host it on our domain for convenience, but it runs the exact same code.

Can I install Panel and Wings on different servers?

Absolutely — and that's the recommended production setup. Run the Panel on one server and Wings on each game node. The installer lets you choose which component to install on each machine.

What's the difference between stable and canary?

The stable version (options 0-2) uses the tested v1.3.0 release. The canary version (options 4-6) pulls from the master branch which may contain untested changes. Always use stable for production servers.

Where can I get a VPS to run Pterodactyl?

SkyRainCloud offers high-performance VPS hosting in India, perfect for running Pterodactyl. Our plans include root SSH access, DDoS protection, NVMe storage, and 24/7 support. Check our VPS plans here.

The script failed. How do I debug?

Check the log file at /var/log/pterodactyl-installer.log for detailed error messages. Common issues include missing dependencies or port conflicts.

Share this post: