Ce tutoriel vous préserve du problème suivant: Pool overlaps with other one on this address space.
Merci à Ghostzer pour ses retours qui ont permis d'améliorer le tutoriel de façon significative!
Conçu dans un souci de sécurité, Pterodactyl exécute tous les serveurs de jeu dans des conteneurs Docker isolés tout en exposant une interface utilisateur belle et intuitive aux administrateurs et aux utilisateurs.
Pterodactyl prend en charge une grande variété de jeux en utilisant des conteneurs Docker pour isoler chaque instance, vous donnant ainsi la possibilité d'héberger vos jeux à travers le monde sans avoir à surcharger chaque machine physique avec des dépendances supplémentaires.
Certains de nos principaux jeux pris en charge incluent :
- Minecraft — y compris Spigot, Sponge, Bungeecord, Waterfall, et plus...
- Rust
- Terraria
- Teamspeak
- Mumble
- Team Fortress 2
- Counter Strike: Global Offensive
- Garry's Mod
- ARK: Survival Evolved
En plus de notre nid standard de jeux pris en charge, notre communauté repousse constamment les limites de ce logiciel et de nombreux autres jeux sont disponibles fournis par la communauté. Certains de ces jeux incluent :
- Factorio
- San Andreas: MP
- Pocketmine MP
- Squad
- FiveM
- Xonotic
- Discord ATLBot
⚡Caractéristiques
- La sécurité avant tout: La sécurité est de premier ordre sur cette plate-forme avec le hachage bcrypt, le cryptage AES-256-CBC et la prise en charge HTTPS prête à l'emploi.
- Outillage moderne: Construit sur une pile moderne utilisant les meilleures pratiques de conception qui facilitent l’intervention et la modification.
- Gratuit et open source: Ptérodactyle est 100% gratuit et sous licence MIT. Tout le code est également entièrement open source.
- Convivial: L'interface de Pterodactyl est si bien conçue que même Hanzo peut l'utiliser.
- Évolutive: Que vous soyez une société d'hébergement, le prochain Hyplex ou simplement des mecs jouant à des jeux vidéo, nous avons ce qu'il vous faut.
L'installation du panel
- Créez un dossier pterodactyl:
sudo mkdir pterodactyl
- Créez votre docker-compose.yml dedans:
sudo nano docker-compose.yml
- Collez ça dedans en prenant soin d'adapter le port et les volumes suivant votre configuration, il y aura quelques modifications à faire, qui sont indiquées en dessous:
version: '3.8'
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 "CHANGE_ME"
MYSQL_ROOT_PASSWORD: "CHANGE_ME_TOO"
panel:
&panel-environment
# This URL should be the URL that your reverse proxy routes to the panel server
APP_URL: "http://192.168.1.152"
# A list of valid timezones can be found here: http://php.net/manual/en/timezones.php
APP_TIMEZONE: "UTC"
APP_SERVICE_AUTHOR: "noreply@example.com"
TRUSTED_PROXIES: "*" # Set this to your proxy IP
# 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-environment
MAIL_FROM: "noreply@example.com"
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.5
restart: always
command: --default-authentication-plugin=mysql_native_password
volumes:
- "/srv/pterodactyl/database:/var/lib/mysql"
environment:
<<: *db-environment
MYSQL_DATABASE: "panel"
MYSQL_USER: "pterodactyl"
cache:
image: redis:alpine
restart: always
panel:
image: ghcr.io/pterodactyl/panel:latest
restart: always
ports:
- "8770:80"
- "4473:443"
links:
- database
- cache
volumes:
- "/srv/pterodactyl/var/:/app/var/"
- "/srv/pterodactyl/nginx/:/etc/nginx/http.d/"
- "/srv/pterodactyl/certs/:/etc/letsencrypt/"
- "/srv/pterodactyl/logs/:/app/storage/logs"
environment:
<<: [*panel-environment, *mail-environment]
DB_PASSWORD: *db-password
APP_ENV: "production"
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: 171.172.0.0/16
Il faut prendre soin de changer absolument ces deux paramètres:
MYSQL_PASSWORD: &db-password "CHANGE_ME"
MYSQL_ROOT_PASSWORD: "CHANGE_ME_TOO"
Remplacez "CHANGE_ME" par un password fort en conservant les " ".
Par exemple:
MYSQL_PASSWORD: &db-password "eJR645PGzJQjxKik4xCNxa2ibaSkH79mz"
MYSQL_ROOT_PASSWORD: "FtZZhjEq4SxLDr4JqQXM&uJKYbcUHq$GU"
Si vous avez un nom de domaine il faudra également modifier cette ligne par votre propre domaine, dans le cas contraire, indiquez l'ip de votre serveur comme ceci:
APP_URL: "http://192.168.1.152"
Vous pouvez accessoirement compléter la partie mail avec vos informations, c'est facultatif:
mail:
&mail-environment
MAIL_FROM: "noreply@example.com"
MAIL_DRIVER: "smtp"
MAIL_HOST: "mail"
MAIL_PORT: "1025"
MAIL_USERNAME: " "
MAIL_PASSWORD: " "
MAIL_ENCRYPTION: "true"
- On installe l'application:
docker-compose up -d
ou avec docker-compose V2:
docker compose up -d
- Créez votre compte principal:
docker-compose run --rm panel php artisan p:user:mak
Il faudra répondre à quelques questions:
Is this user an administrator: yes
Email Address: un e-mail qui fera office de login
Username: choisir un nom d'utilisateur
First Name: choisir un prénom
Last Name: choisir un nom de famille
Password: un mot de passe devant comporter au moins 8 caractères et contenir au moins une lettre majuscule et un chiffre.
- Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi:
http://ip:8770
Ou par votre domaine:
https://ndd.tld
Quand vous êtes connecté à votre pannel Pterodactyl, cliquez sur Admin:
Ensuite rendez-vous dans Locations:
Cliquez sur Create New:
Ajoutez un Short Code et une Description et validez en cliquant sur Create:
Cliquez sur Nodes:
Cliquez sur Create New:
Remplissez le formulaire:
Veillez à:
- Remplir Fully Qualified Domain Name avec l'IP du serveur ou le nom de domaine.
- Cochez Use HTTP Connection si vous utilisez l'IP, perso je fais le proxy après. donc j'ai utilisé la méthode, par contre si votre domaine pointé déjà sur Pterodactyl, cochez Use SSL Connection.
Validez en cliquant sur Save Changes:
Cliquez sur Configuration:
Vous arrivez ici:
Laissez comme ça pour la suite du tutoriel.
L'installation de wings
- Créer un dossier wings
sudo mkdir wings
- Créez votre docker-compose.yml:
version: '3.8'
services:
wings:
image: ghcr.io/pterodactyl/wings:latest
restart: always
networks:
- wings0
ports:
- "8080:8080"
- "2022:2022"
tty: true
environment:
TZ: "UTC"
WINGS_UID: 988
WINGS_GID: 988
WINGS_USERNAME: pterodactyl
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "/var/lib/docker/containers/:/var/lib/docker/containers/"
- "/etc/pterodactyl/:/etc/pterodactyl/"
- "/var/lib/pterodactyl/:/var/lib/pterodactyl/"
- "/var/log/pterodactyl/:/var/log/pterodactyl/"
- "/tmp/pterodactyl/:/tmp/pterodactyl/"
- "/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: wings0
driver: bridge
ipam:
config:
- subnet: "172.172.0.0/16"
driver_opts:
com.docker.network.bridge.name: wings0
- On installe l'application:
docker-compose up -d
ou avec docker-compose V2:
docker compose up -d
- Créez ce fichier:
sudo nano /etc/pterodactyl/config.yml
- Collez ça dedans:
docker:
network:
interface: 172.173.0.1 # replaced from 172.18...
dns:
- 1.1.1.1
- 1.0.0.1
name: pterodactyl_nw
ispn: false
driver: ""
network_mode: pterodactyl_nw
is_internal: false
enable_icc: true
network_mtu: 1500
interfaces:
v4:
subnet: 172.173.0.0/16
gateway: 172.173.0.1
# Collez votre Configuration File de Pterodactyl ci-dessous:
- ⏬ Collez le fichier généré dans Configuration, partie nœud (Nodes) sous la ligne
# Collez votre Configuration File de Pterodactyl ci-dessous:
du fichier config.yml.
- Recréez le container wings, pour le faire, allez dans le dossier wings, ou il y a le docker-compose:
docker compose up -d --force-recreate
Pour finir vous avez le fameux cœur vert nécessaire au bon fonctionnement de Pterodactyl: