Pelican Panel zastępuje starsze panele do zarządzania serwerami gier
Każdy, kto próbował skonfigurować dedykowany serwer do Minecraft, DayZ lub Satisfactory na czystej maszynie wirtualnej, zna ten ból. Najpierw instalujesz wymaganą wersję Javy lub SteamCMD. Potem musisz rozwiązywać konflikty bibliotek, konfigurować automatyczny restart przez systemd i wymyślać, jak dać znajomym dostęp do konsoli bez rozdawania kluczy SSH dla całego hosta.
Przez wiele lat Pterodactyl był standardem w tej niszy. To świetny projekt, ale jego baza kodu i stos administracyjny stały się zauważalnie przestarzałe, a aktualizacje pojawiają się rzadko. Wypełniając tę lukę, powstaje projekt open-source Pelican Panel, który przemyślał architekturę zarządzania serwerami gier.
Pod maską
Architektura systemu składa się z dwóch niezależnych części: panelu webowego i agenta hosta.
Komponent webowy Pelican Panel jest zbudowany przy użyciu Laravel i FilamentPHP. Obsługuje interfejs, uwierzytelnianie użytkowników, zarządzanie uprawnieniami, alokację zasobów i operacje bazodanowe. Dzięki Filament panel ma przejrzysty interfejs, w którym wygodnie przypisuje się role administratorów i monitoruje obciążenie węzłów.
Drugim komponentem jest Wings. To lekki demon napisany w Go, instalowany bezpośrednio na węźle, na którym działają serwery. Panel webowy wysyła polecenia do Wings przez bezpieczny interfejs API, a demon zarządza kontenerami Docker.
System hosta pozostaje czysty. Każdy proces gry działa w izolowanym kontenerze z ścisłymi limitami na RAM, CPU i dysk. Jeśli serwer Palworld zacznie niekontrolowanie zużywać pamięć z powodu wycieku, demon po prostu ograniczy go w ramach limitów lub zrestartuje, bez wpływu na sąsiednie instancje.
[ Веб-интерфейс Pelican ]
(Laravel + Filament)
│
REST API / WebSockets
│
▼
[ Демон Wings (Go) ]
│
Docker API (Socket)
┌─────────┴─────────┐
▼ ▼
[ Docker: MC ] [ Docker: CS2 ]
" alt="Architecture">
Gotowe szablony konfiguracji
W ekosystemie Pelican szablony uruchomieniowe nazywane są „eggs" (jajkami). To manifesty JSON definiujące bazowy obraz Docker, zmienne środowiskowe, skrypty startowe i reguły instalacji plików gry.
Panel obsługuje ogromną bibliotekę wstępnie przygotowanych konfiguracji:
- Gry SteamCMD: Counter-Strike, Rust, ARK, 7 Days to Die, Enshrouded, Project Zomboid.
- Buildy Minecraft: Vanilla, Paper, Sponge, BungeeCord, Waterfall.
- Serwery głosowe: TeamSpeak, Mumble, instancje Lavalink.
- Boty Discord i usługi narzędziowe na Python, Node.js, Java.
- Bazy danych i monitoring: Redis, PostgreSQL, Prometheus, Grafana.
Jeśli gra nie jest dostępna w standardowym repozytorium, możesz łatwo utworzyć własny szablon. Wystarczy określić obraz Docker i skrypt do pobrania binariów.
Praktyczny przykład: uruchomienie i izolacja
W codziennej pracy Pelican obsługuje rutynowe zadania:
- Tworzenie użytkowników i przypisywanie uprawnień. Możesz przyznać znajomemu dostęp tylko do podglądu konsoli i przycisku restartu, ukrywając ustawienia sieciowe i edycję plików.
- Wbudowany menedżer plików i SFTP. Użytkownicy przesyłają mody i edytują konfiguracje bezpośrednio z przeglądarki lub przez ulubiony klient FTP, pozostając w granicach swoich folderów.
- Harmonogramy i wyzwalacze. Zaplanowane kopie zapasowe do magazynu S3, restarty oparte na cron, wysyłanie poleceń do konsoli serwera bez obejść crontab.
- Zarządzanie portami. Panel śledzi przydzielone porty i dystrybuuje je między kontenerami bez ryzyka konfliktów portów.
Dla kogo jest ten projekt
Jeśli prowadzisz dedykowany serwer w domu lub wynajmujesz VPS do grania ze znajomymi, Pelican eliminuje żmudną pracę z terminalem. Skonfiguruj węzeł raz i wdrażaj nowe gry za pomocą kilku kliknięć.
Dla małych dostawców hostingu gier i społeczności to pełna alternatywa dla rozwiązań komercyjnych. Projekt jest wydany na licencji open-source AGPLv3, aktywnie rozwijany i działa od razu z nowoczesnym stosem PHP i Docker.
Dokumentacja i instrukcje instalacji są dostępne na oficjalnej stronie pelican.dev, a kod źródłowy panelu można przeglądać w repozytorium GitHub projektu.
Powiązane projekty