🚀 VPS & Pterodactyl Documentation

Complete setup guide for your server infrastructure

ðŸ–ĨïļVPS Configurations

VPS 1: SSD ONE, TITAN PLAN 👍
Specifications: 24GB RAM
100GB SSD Disk
5 CPU Cores
Node: bh1d
VPS 2: HDD ONE, AETHER, GERMANY 👍
Specifications: 28GB RAM
120GB HDD Disk
5 CPU Cores
Node: de1
VPS 3: HDD ONE, AETHER, GERMANY 👍
Specifications: 28GB RAM
120GB HDD Disk
5 CPU Cores
Node: de1

ðŸĶ…How to install Pterodactyl on PATHIC STUDIO

0

Preparation

sudo apt update -y && sudo apt upgrade -y
sudo su
apt update
apt upgrade
apt install curl
sudo apt install openssh-client
sudo apt install openssh-server
sudo systemctl restart ssh
1

Step 1/1

apt update && apt install curl -y
2

Step 2/1

bash <(curl https://pterodactyl-installer.se)

â€Ē Type in your domain/subdomain, for me it's panel.pathicstudios.host

â€Ē No ufw

â€Ē HTTPS using Let's Encrypt? type n

â€Ē Assume SSL? type y

â€Ē Agree HTTPS request? type n

Configuration Summary

* Hostname/FQDN: panel.pathicstudios.host

* Configure Firewall? false

* Configure Let's Encrypt? false

* Assume SSL? true

3

Step 3/1

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

Note: No output is expected - this is normal behavior

4

Step 4/1 - Cloudflare Tunnel

1. Go to one.dash.cloudflare.com

2. Navigate to Network → Tunnels → Create Tunnel

3. Select cloudflared, name it whatever you want

4. Choose Debian → click under "If you don't have cloudflared installed on your machine"

5. Paste the copied install command into the VPS shell

6. Then click under "After you have installed cloudflared on your machine, you can install a service to automatically run your tunnel whenever your machine starts"

7. Again, paste the copied install command into the VPS shell

8. Now click next, use the same subdomain as earlier (for me: panel.pathicstudios.host)

Service Type: https

Service URL: localhost:8443

Additional Settings → TLS → enable "No TLS Verify"

Click save hostname

9. Go to https://panel.pathicstudios.host (or whatever your subdomain is) and check if it works.

If it works: Congratulations! You've set up the panel properly.

ðŸŠķWings Setup

1

Step 1/2 (Wings)

Do step 1 again, but select 1 this time

Say y to "Unsupported type of virtualization"

n to UFW, DB user, Let's Encrypt

Refer to step 4, but in Cloudflare: tunnel name → edit → public hostnames → add new

Use the node subdomain (for me: node.pathicstudios.host)

Service URL: localhost:443

Additional Settings → TLS → enable "No TLS Verify"

It's wings setup time

FOR LESS DDOS PROTECTED BUT SFTP WORKING:

By switching from CF tunneling the wings to direct A record to your VPS IP and to use it directly which will make it like this example "node01.pathicstudios.host:2022"

2

Step 2/2 (Still Wings)

1. Login to panel

2. Admin → Locations → Create one (for me: US1)

3. Admin → Nodes → Add node (name it whatever)

Daemon Port: 443

SSL: Not Behind Proxy

Use the node subdomain as the FQDN (for me: node.kvm-i7.host)

4. Copy config token and run the command as usual

If panel and node are on different hosts:

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

If panel and node are on the same host:

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

See if there is a green heart, if yes: Congratulations! You've set up wings properly.

⚙ïļConfig for Allos

IP: 0.0.0.0

Alias: localhost

Ports: 1025-2024 # or whatever, that's my pick

Cloudflare tunnels won't work for MC, use our shared IPv4.

🌐WAYS TO CONNECT TO IPV4

WORKING FOR NOW

IPV4 VPS - 200 OR 150 MONTHLY COST, ONLY WORKS FOR 1 VPS

SETUP:

If you have another server with a public IPv4 address, you can use it as a forwarding server.

Requirement: You need root access to another server with an open port 65535.

How: Run the following command on your external server:

curl https://mirrors.kvm-i7.host/selfhostipv4.sh | bash
systemctl daemon-reload
systemctl restart ssh

After setting up your external server, use:

!installipv4 <vps-id> <your-server-ip>

Using a self-hosted forwarder is an advanced option and is not officially supported.

ðŸŽĻTHEME INSTALLATION

BLUEPRINT INSTALLATION:

Node.js Installation

sudo apt-get install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
apt-get update
apt-get install -y nodejs

Yarn Installation

npm i -g yarn
cd /var/www/pterodactyl
yarn

Additional Dependencies

apt install -y zip unzip git curl wget

Download Latest Release

wget "$(curl -s https://api.github.com/repos/BlueprintFramework/framework/releases/latest | grep 'browser_download_url' | cut -d '"' -f 4)" -O release.zip

Extract Release

mv release.zip /var/www/pterodactyl/release.zip
cd /var/www/pterodactyl
unzip release.zip

Configuration

touch /var/www/pterodactyl/.blueprintrc

Blueprint Setup

echo \ 'WEBUSER="www-data"; OWNERSHIP="www-data:www-data"; USERSHELL="/bin/bash";' >> /var/www/pterodactyl/.blueprintrc
chmod +x blueprint.sh
bash blueprint.sh

Download Themes

Download Themes via Command Line

wget --no-check-certificate --content-disposition "https://drive.google.com/uc?export=download&id=10oEPwfqnpB3hp4H96X2l9U8llNV0CGW8"
wget --no-check-certificate --content-disposition "https://drive.google.com/uc?export=download&id=1pOXAMvo_NYxThZLhBMEJyZZYTIMKeHw_"
wget --no-check-certificate --content-disposition "https://drive.google.com/uc?export=download&id=1mNa_DRoDOUMTo0abRdKz_5HaeNyUKC4S"
wget --no-check-certificate --content-disposition "https://drive.google.com/uc?export=download&id=1NYW3XdPLdu8HRvDVIhxEYSQTtjIxuKZm"