How to install Pterodactyl on illegalxd
Step 1/1
apt update && apt install curl -y
Step 2/1
bash <(curl https://pterodactyl-installer.se)
- type in your domain/subdomain, for me it's testpanel.illegalxd.xyz
- no ufw
- HTTPS using Let's Encrypt? type n
- Assume SSL? type y
- agree HTTPS request? type n
##############################################################
* Hostname/FQDN: testpanel.illegalxd.xyz
* Configure Firewall? false
* Configure Let's Encrypt? false
* Assume SSL? true
##############################################################
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
no output is OK
Step 4/1 - Cloudflare Tunnel
Go to one.dash.cloudflare.com
- Network → Tunnels → Create Tunnel
- Select cloudflared, name it whatever you want
- Choose Debian → click under "If you don’t have cloudflared installed on your machine"
- Paste the copied install command into the VPS shell
- 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"
- Again, Paste the copied install command into the VPS shell.
- Now click next, use the same subdomain as earlier (for me: testpanel.illegalxd.xyz)
- Service Type: https
- Service URL: localhost:8443
- Additional Settings → TLS → enable "No TLS Verify"
- Click save hostname
Go to https://testpanel.illegalxd.xyz (or whatever your subdomain is) and check if it works.
if it works; Congrats, You've setup the panel properly.
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.illegalxd.xyz)
- Service URL: localhost:443
- Additional Settings → TLS → enable "No TLS Verify"
- it's wings setup time
Step 2/2 (Still Wings)
- Login to panel
- Admin → Locations → Create one (for me: US1)
- Admin → Nodes → Add node (name it whatever)
- Daemon Port: 443
- SSL: Not Behind Proxy
- Use the node subdomain as the FQDN (for me: node.illegalxd.xyz)
- 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; Congrats, You've setup wings properly.
Config for Allos
IP: 0.0.0.0
Alias: localhost
Ports: 1025-2024 # or whatever, that's my pick
Cloudflare tunnels wont work for mc, use our shared IPv4.
Tunneling a MC Server using our shared IPv4
port add {allo from panel, eg 1025 for me}
Then connect to your server via virtual-net.illegalxd.xyz:{port from port command}
How to Use an SRV Record to Hide Your MC Server Port (/w domain) on our shared-ipv4 (Cloudflare)
Want players to connect with mc.illegalxd.xyz (or wtv is your subdomain & main domain) instead of virtual-net.illegalxd.xyz:publicport? Here's how using Cloudflare DNS:
Step 1/3: A Record
- Go to Cloudflare > DNS
- Add an A record:
Type: A
Name: {name, for me it's mc}.{your domain, for me it's illegalxd.xyz}
IPv4 address: 146.185.236.18
Proxy status: DNS only (click orange cloud to turn it gray)
Step 2/3: SRV Record
- Add an SRV record:
Type: SRV
Name: _minecraft._tcp.{name, for me it's mc}
Priority: 0
Weight: 0
Port: 25575 # The public port from `port list`
Target: {name, for me it's mc}.{your domain, for me it's illegalxd.xyz}
This tells Minecraft that {subdomain, eg mc}.{your domain} > virtual-net.illegalxd.xyz:25575
Done!
Now players can just connect to:
mc.illegalxd.xyz # or {subdomain, eg mc}.{your domain}
NOTE: it may take time for the thing to progate to work, just wait for it since that's your dns being slow.