Skip to content

pterodactyl

Pterodactyl is a free, open-source game server management panel built with PHP, React, and Go. Designed with security in mind, Pterodactyl runs all game servers in isolated Docker containers while exposing a beautiful and intuitive UI to end users.

pterodactyl & ssl

ssl with pterodactyl is really annoying if you are using it behind a reverse proxy (nginx) - might be easier to run this on its own server so you can just use the default port 80 for web. reverse proxy is designed for normal web traffic, not game servers.

If you are annoying like me and wanna put things on a single server and save money... here is what you can do.

https://pterodactyl.io/panel/0.7/configuration.html
# idk... couldn't get it to work
# OpenSSL Self-Signed Certificate Command:
openssl req -sha256 -addext "subjectAltName = DNS:games.local" -newkey rsa:4096 -nodes -keyout privkeyselfsigned.pem -x509 -days 3650 -out fullchainselfsigned.pem


# nginx-proxy-manager with cloudflare ssl cert setup
# proxy side should be http
# do not force ssl on cert side
# go to http after getting to the site

# .env file
/var/www/pterodactyl/.env
APP_URL="http://domain"
TRUSTED_PROXIES=*
# you don't have to do this - i'd rather not
PTERODACTYL_TELEMETRY_ENABLED=false
RECAPTCHA_ENABLED=false

# config.yml
/etc/pterodactyl/config.yml
# use auto config remote: http:

# nginx pterodactyl.conf
/etc/nginx/sites-enabled/pterodactyl.conf

# add to proxy-manager special settings
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_buffering off;
proxy_request_buffering off;

sudo systemctl restart nginx && systemctl restart wings