Pterodactyl is een open-source game server management paneel dat is gebouwd voor Docker-containers. Het stelt gebruikers in staat om game- en applicatieservers eenvoudig te beheren via een webinterface.
Belangrijke kenmerken van Pterodactyl:
Webinterface: Intuรฏtief dashboard om servers te beheren.
Docker-gebaseerd: Elke game server draait geรฏsoleerd in een container.
Ondersteuning voor meerdere games: Werkt met Minecraft, CS:GO, Rust, ARK, FiveM en meer.
Gebruikersbeheer: Mogelijkheid om meerdere gebruikers toegang te geven tot specifieke servers.
API-integratie: Automatisering en integratie met andere systemen.
Veiligheid: Runs als een niet-root gebruiker en gebruikt Wings als de daemon om servers te beheren.
Wil je Pterodactyl gebruiken om zelf game servers te hosten? ๐
x-common:database:&db-environment# Do not remove the "&db-password" from the end of the line below, it is important# for Panel functionality.MYSQL_PASSWORD:&db-password"MYSQL_PASSWORD"MYSQL_ROOT_PASSWORD:"$MYSQL_ROOT_PASSWORD"panel:&panel-environmentAPP_URL:"$APP_URL"# A list of valid timezones can be found here: http://php.net/manual/en/timezones.phpAPP_TIMEZONE:"$TZ"APP_SERVICE_AUTHOR:"$APP_SERVICE_AUTHOR"# Uncomment the line below and set to a non-empty value if you want to use Let's Encrypt# to generate an SSL certificate for the Panel.# LE_EMAIL: ""mail:&mail-environmentMAIL_FROM:"[email protected]"MAIL_DRIVER:"smtp"MAIL_HOST:"mail"MAIL_PORT:"1025"MAIL_USERNAME:""MAIL_PASSWORD:""MAIL_ENCRYPTION:"true"## ------------------------------------------------------------------------------------------# DANGER ZONE BELOW## The remainder of this file likely does not need to be changed. Please only make modifications# below if you understand what you are doing.#services:database:image:mariadb:10.5container_name:maridbrestart:alwayscommand:--default-authentication-plugin=mysql_native_passwordvolumes:-"$PTERODACTYLDIR/panel/database:/var/lib/mysql"environment:<<:*db-environmentMYSQL_DATABASE:"$MYSQL_DATABASE"MYSQL_USER:"$MYSQL_USER"cache:image:redis:alpinecontainer_name:cacherestart:alwayspanel:image:ghcr.io/pterodactyl/panel:latestcontainer_name:panelrestart:alwaysports:-"${PTERODACTYLPANELPORTS_HTTP:-80}:80"-"${PTERODACTYLPANELPORTS_HTTPS:-443}:443"links:-database-cachevolumes:-"$PTERODACTYLDIR/panel/var/:/app/var/"-"$PTERODACTYLDIR/panel/nginx/:/etc/nginx/http.d/"-"$PTERODACTYLDIR/panel/certs/:/etc/letsencrypt/"-"$PTERODACTYLDIR/panel/logs/:/app/storage/logs"environment:<<:[*panel-environment,*mail-environment]DB_PASSWORD:*db-passwordAPP_ENV:"$APP_ENV"APP_ENVIRONMENT_ONLY:"false"CACHE_DRIVER:"redis"SESSION_DRIVER:"redis"QUEUE_DRIVER:"redis"REDIS_HOST:"cache"DB_HOST:"database"DB_PORT:"3306"networks:default:ipam:config:-subnet:172.20.0.0/16
services:wings:image:ghcr.io/pterodactyl/wings:latestcontainer_name:wing1restart:alwaysnetworks:-wings0ports:-"${PTERODACTYLNODE1_PORTS_HTTP:-8080}:8080"-"${PTERODACTYLNODE1_PORTS_FTP:-2022}:2022"-"${PTERODACTYLNODE1_PORTS_HTTPS:-444}:443"tty:trueenvironment:TZ:"$TZ"WINGS_UID:988WINGS_GID:988WINGS_USERNAME:$WINGS_USERNAMEvolumes:-"/var/run/docker.sock:/var/run/docker.sock"-"/var/lib/docker/containers/:/var/lib/docker/containers/"-"$PTERODACTYLDIR/node1/etc/pterodactyl/:/etc/pterodactyl/"-"$PTERODACTYLDIR/node1/var/lib/pterodactyl/:/var/lib/pterodactyl/"-"$PTERODACTYLDIR/node1/var/log/pterodactyl/:/var/log/pterodactyl/"-"$PTERODACTYLDIR/node1/tmp/pterodactyl/:/tmp/pterodactyl/"-"$PTERODACTYLDIR/node1/etc/ssl/certs:/etc/ssl/certs:ro"# you may need /srv/daemon-data if you are upgrading from an old daemon#- "/srv/daemon-data/:/srv/daemon-data/"# Required for ssl if you use let's encrypt. uncomment to use.#- "/etc/letsencrypt/:/etc/letsencrypt/"networks:wings0:name:wings0driver:bridgeipam:config:-subnet:"172.21.0.0/16"driver_opts:com.docker.network.bridge.name:wings0
http:middlewares:cors-pterodactyl:headers:accessControlAllowMethods:-"OPTIONS"-"POST"-"GET"-"PUT"-"DELETE"accessControlAllowHeaders:# - "*" # If you do this you get errors for "*"-"Accept"-"Authorization"-"Cache-Control"-"Content-Type"-"DNT"-"If-Modified-Since"-"Keep-Alive"-"Origin"-"User-Agent"-"X-Requested-With"accessControlAllowOriginList:-"*"accessControlMaxAge:100addVaryHeader:truecustomRequestHeaders:X-Forwarded-Proto:"https"Content-Type:"application/json"customResponseHeaders:X-Forwarded-Proto:"https"
Als alles goed is ingesteld ga je naar je Panel.
Dan Stel je uw location is.
Als dat gadaan is stel je uw Node in (dit is het moeilijkste).
Tijdens het aanmaken van de node verwander je 8080 โ 443 (voor https connecties).
Vergeet zeten geen IP en poort allocatie in deze setup op te zetten. Dit zijn de poorten dat je Node kan gebruiken voor servers.
Nu krijg je een config file dat je op de node moet zetten.
Onder "/etc/pterodactyl/config.yml"
Note
Vrander in deze file de 443 โ 8080.
Dit komt omdat we hierboven moeten verwijzen naar HTTPS maar onde Deamon werkt op 8080.
Warning
Probeer eerst je panel url te laten staan.
Word je verbinding (Hartslag) niet opgezet verander dit in het lokaal ip van je Panel.
Ik ben in communicatie met pterodactyl om dit op te lossen.