À propos du projet

Calagopus Panel est un panneau de gestion de serveurs de jeux écrit de zéro en Rust, positionné comme une réimplémentation du panneau Pterodactyl. Il conserve l'approche basée sur les conteneurs pour exécuter et isoler les serveurs de jeux, tout en visant des performances améliorées, une interface rafraîchie et un modèle d'extension plus propre côté frontend et backend. Caractéristiques principales - Backend : Rust, basé sur Tokio et Axum. - Frontend : React avec Mantine et Tailwind CSS. - Extensibilité : systèmes d'extension dédiés pour le backend et le frontend, décrits comme de véritables API de plugins plutôt que des correctifs ou des remplacements. Le dépôt inclut des extensions frontend (thèmes, plugins) et des extensions backend (fournisseurs d'authentification, pilotes de base de données). - Compatibilité des eggs : réutilise les eggs de style Pterodactyl, y compris un port Rust des règles de validation de Laravel pour la configuration des eggs. - Migration : chemins d'importation documentés depuis des installations existantes de Pterodactyl ou Pelican. Structure du dépôt Le projet est divisé en plusieurs composants : un répertoire frontend avec un sous-dossier extensions ; un backend Rust/Axum ; des extensions backend ; des migrations de base de données utilisant Drizzle ; un outil de migration de base de données construit avec Rust et SQLx ; du code partagé utilisé principalement par les extensions ; un client API Wings généré automatiquement en Rust avec une source de générateur TypeScript ; une crate de validation de règles portant les règles de validation de Laravel ; et un système d'extension de schéma composé d'une bibliothèque principale et d'une macro proc dérivée. Utilisation prévue Le panneau cible les opérateurs qui déploient, surveillent et gèrent des serveurs de jeux tels que Minecraft et Rust. Les instructions d'installation sont maintenues dans le site de documentation du projet, et la feuille de route est suivie publiquement pour le frontend et le backend. Les contributions sont acceptées via des demandes de tirage, avec des changements plus importants discutés d'abord dans les problèmes ou la communauté Discord du projet. Le projet reconnaît les idées et l'écosystème de Pterodactyl et Pelican, et les détails de licence sont fournis dans le fichier LICENSE du dépôt.