Développeur Recherche Dev pour aider a créer un plugin qui communique avec l'API de pelican (fork de pterodactyl)

Vince006

Aventurier
3 Mars 2025
1
0
1
18
J’ai un projet de plugin Minecraft, mais je ne suis pas très avancé en développement.

Le concept serait de connecter un lobby Minecraft avec un panel Pelican, afin que les joueurs puissent créer un serveur directement depuis le lobby. Ils pourraient tout de même se connecter au panel de leur serveur, et tous les serveurs créés par les joueurs seraient connectés ensemble via Velocity.

Il faudrait probablement deux plugins : un pour le lobby et un pour Velocity.

Donc je cherche quelqu'un qui serais capable de créer ça et de faire communiquer l'API de pelican et le plugin et faire un plugin Velocity pour connecter dynamiquement les serveur entre eux le projet est quand même complexe mais je crois qu'il est possible j'ai fait une petite liste de tâches qui n'est pas totalement fini est un peu raw mais pour donner un idée du projet.

Me contacter sur discord si intéressé
Discord: vinchenzo06

Ajout de permissions compatibles avec Vault/LuckPerms

Ajoutez des permissions pour être compatible avec Vault/LuckPerms afin de pouvoir gérer et ajouter facilement des grades (rôles). Il devrait être possible d'ajouter de nouveaux grades à l'avenir avec des permissions spécifiques, comme :

Permissions :

player
:

  • limits :
    • RAM : 8 Go
    • Stockage : 20 Go
    • vCores : 4
  • max_player : 20 // par serveur
  • create_server : true // peut-il créer un serveur (true/false)
  • max_servers : 1
  • node : c8a63df0-983e-4f26-96bc-eecd39c48568 // UUID du node pour choisir quel grade a accès à quel node et faire en sorte de pouvoir donner accès à plusieurs node pour un même rôle.
Les admins doivent avoir la possibilité de gérer les serveurs des joueurs. Cela inclut :

  • La suppression des serveurs
  • L'affichage de la liste des serveurs
  • La connexion à n'importe quel serveur (même s'il y a une whitelist).
Cependant, contourner la whitelist de server.properties peut ne pas être possible. Seule la whitelist définie dans les propriétés du serveur sera respectée.


Interface Joueur (GUI & Commandes)

GUI et Commandes :


Toutes les interactions côté joueur doivent être gérées via une interface graphique (GUI) ou des commandes Minecraft, à l'exception de la gestion des fichiers.

Lorsqu'un joueur veut créer un serveur et ne l'a pas encore fait, il doit être invité à créer un compte Pelican (email, mot de passe et utilisation du pseudo Minecraft).

  1. Une fois connecté, le joueur choisit un nom de serveur. Si le nom est déjà pris, il devra en choisir un autre.
  2. Après avoir sélectionné le nom du serveur, il choisit son egg (Paper, Spigot, etc.).
  3. Il serait utile que les admins puissent ajouter des eggs personnalisés en utilisant l'UUID ou l'ID de l'egg. Par exemple, avec une commande Minecraft, l'admin pourrait entrer l'ID ou l'UUID et tenir un objet en main pour garder l'interface propre.
  4. Les joueurs doivent également pouvoir sélectionner la version de Minecraft, de la 1.8 à la dernière version. Ils entreront la version manuellement dans le chat ou via une anvil GUI.
  5. Après avoir sélectionné la quantité de RAM et de vCores, ils ne pourront pas dépasser la limite définie dans la configuration.

Commandes de Gestion des Serveurs pour les Joueurs

Commandes :


Les joueurs ont besoin de commandes ou d’un GUI pour :

  • Créer, supprimer, démarrer, arrêter leur serveur
  • Modifier la capacité de stockage, de RAM et le nombre de vCores
  • Changer le nom du serveur (si l’API le permet)
Autres fonctionnalités :

  • Gérer une whitelist/blacklist pour chaque serveur.
  • Une interface GUI pour la gestion des serveurs, ainsi qu'un lien web pour une gestion externe si nécessaire.
  • Permettre aux joueurs de donner l'accès à la gestion de leur serveur à d'autres personnes.
Note :

  • La RAM, le stockage et les vCores sont répartis entre chaque serveur.
    • Exemple : avec 20 Go de RAM, si le premier serveur utilise 12 Go, le second ne pourra utiliser que 8 Go.
    • Même principe pour le stockage et les vCores.

Intégration avec Velocity

Ajout Dynamique des Serveurs dans la Configuration Velocity :


  • Tous les serveurs créés par les joueurs doivent être ajoutés dynamiquement au fichier de configuration de Velocity (IP, port, etc.), sans avoir à redémarrer le serveur lobby ou Velocity.
  • Je ne suis pas sûr du fonctionnement exact, mais pour Velocity, il faudra utiliser le secret ou s'assurer que seul le serveur lobby puisse faire des requêtes au serveur Velocity.
Note :
Je prévois de créer des eggs personnalisés pour configurer automatiquement les serveurs des joueurs dès leur création, garantissant que Velocity puisse se connecter correctement aux serveurs.