terminal

ThermalCloud

DOCUMENTATION
verified OFFICIAL GUIDE

Install Pterodactyl

A complete guide to deploying the Pterodactyl game server panel on ThermalCloud infrastructure.

1
1

Initial Setup

Updating system packages & installing curl.

SHELL COMMAND
sudo apt update && sudo apt upgrade -y
sudo apt install curl -y
2
2

Pterodactyl Installer

Execute the automated installation script.

Hostname: testpanel.thermalcloud.site (Your Domain)
Firewall (UFW): No
HTTPS using Let's Encrypt: No
Assume SSL: Yes
Agree HTTPS request: No
SHELL COMMAND
bash <(curl -s https://pterodactyl-installer.se)
3
3

SSL Certificate

Generate a self-signed SSL certificate and patch your Nginx configuration.

subdirectory_arrow_right Generate SSL & Patch Nginx

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /2.pem -out /1.pem -subj "/CN=localhost"
sed -i 's|^\s*ssl_certificate\s\+.*|    ssl_certificate /1.pem;|' /etc/nginx/sites-available/pterodactyl.conf
sed -i 's|^\s*ssl_certificate_key\s\+.*|    ssl_certificate_key /2.pem;|' /etc/nginx/sites-available/pterodactyl.conf
sed -i 's/\b443\b/8443/g; s/\b80\b/8000/g' /etc/nginx/sites-available/pterodactyl.conf
systemctl restart nginx
              
4
4

Cloudflare Tunnel

Set up secure tunnel for external access.

Service: HTTPS
URL: localhost:8443
No TLS Verify: Enabled
TUNNEL GUIDE
1. Network → Tunnels → Create Tunnel
2. Select cloudflared, name it whatever you want
3. Choose Debian → install cloudflared
4. Install the service for auto-start
5. Use the same subdomain as earlier
6. Service Type: https
7. Service URL: localhost:8443
8. Enable "No TLS Verify" in Additional Settings

NOTE: YOU MUST HAVE A DOMAIN ON CLOUDFLARE TO EXPOSE YOUR PTERODACTYL AND WINGS.
5
5

Wings Installer

Execute the automated wings installation script.

Unsupported type of virtualization: Yes (Continue anyway)
Firewall (UFW): No
Hostname: node1.thermalcloud.site (Your Domain)
SHELL COMMAND
bash <(curl -s https://pterodactyl-installer.se)
6
6

Cloudflare Tunnel

Set up secure tunnel for node access.

Service: HTTPS
URL: localhost:443
No TLS Verify: Enabled
TUNNEL GUIDE
1. Go to Cloudflare → Zero Trust → Access → Tunnels
2. Select your existing tunnel
3. Click Edit, then open Public Hostnames
4. Click Add New Hostname
5. Enter your node subdomain
6. Set Service Type to https
7. Set Service URL to localhost:443
8. Open Additional Settings → TLS
9. Enable No TLS Verify

NOTE: YOU MUST HAVE A DOMAIN ON CLOUDFLARE TO EXPOSE YOUR PTERODACTYL AND WINGS.
7
7

Pterodactyl Wings Setup

Set up locations and nodes in the admin panel.

WINGS GUIDE
1. Login to panel
2. Admin → Locations → Create one (example: US)
3. Admin → Nodes → Add node
4. Daemon Port: 443
5. SSL: Not Behind Proxy
6. Use the node subdomain as the FQDN (example: node1.thermalcloud.site)
7. Copy config token and run the command as usual

NOTE: YOU MUST HAVE A DOMAIN ON CLOUDFLARE TO EXPOSE YOUR PTERODACTYL AND WINGS.

subdirectory_arrow_right If panel and node are on different hosts (VPS(s))

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /2.pem -out /1.pem -subj "/CN=localhost"
sed -i 's|^\(\s*cert:\s*\).*|\1/1.pem|' /etc/pterodactyl/config.yml
sed -i 's|^\(\s*key:\s*\).*|\1/2.pem|' /etc/pterodactyl/config.yml
systemctl restart wings

subdirectory_arrow_right If panel and node are on same hosts (VPS)

sed -i 's|^\(\s*cert:\s*\).*|\1/1.pem|' /etc/pterodactyl/config.yml
sed -i 's|^\(\s*key:\s*\).*|\1/2.pem|' /etc/pterodactyl/config.yml
systemctl restart wings
rocket_launch

Deployment Complete

Your Pterodactyl panel is now securely running behind Cloudflare. You can access it using your configured domain. If you see a green heart, congratulations — you’ve successfully set up Wings!