About this project
Calagopus Panel is a game server management panel written from scratch in Rust, positioned as a reimplementation of Pterodactyl Panel. It retains the container-based approach to running and isolating game servers while aiming for improved performance, a refreshed interface, and a cleaner extension model on both the frontend and backend.
Core characteristics
- Backend: Rust, built on Tokio and Axum.
- Frontend: React with Mantine and Tailwind CSS.
- Extensibility: dedicated extension systems for backend and frontend, described as real plugin APIs rather than patches or overrides. The repository includes frontend extensions (themes, plugins) and backend extensions (auth providers, database drivers).
- Egg compatibility: reuses Pterodactyl-style eggs, including a Rust port of Laravel's validation rules for egg configuration.
- Migration: documented import paths from existing Pterodactyl or Pelican installations.
Repository layout
The project is split into several components: a frontend directory with an extensions subfolder; a Rust/Axum backend; backend-extensions; database migrations using Drizzle; a database-migrator tool built with Rust and SQLx; shared code used mainly by extensions; an auto-generated Wings API client in Rust with a TypeScript generator source; a rule-validator crate porting Laravel validation rules; and a schema-extension system consisting of a core library and a derive proc macro.
Intended use
The panel targets operators who deploy, monitor, and manage game servers such as Minecraft and Rust. Installation instructions are maintained in the project's documentation site, and the roadmap is tracked publicly for both frontend and backend. Contributions are accepted via pull requests, with larger changes discussed in issues or the project's Discord community first. The project acknowledges the ideas and ecosystem of Pterodactyl and Pelican, and licensing details are provided in the repository's LICENSE file.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.