Panel
Overview
The Panel is a Next.js dashboard for managing game servers, nodes, users, and more.
The Panel is a web-based control panel built with Next.js 16, React 19, and Better Auth. It connects to MySQL for persistence and communicates with Wings nodes for game server control.
Features
- Server management - Create, start, stop, restart, and delete game servers
- Real-time console - WebSocket-based live console output and command input
- File manager - Browse, edit, upload, download, and delete server files via Wings API
- User management - Admin console for managing panel users and roles
- Node management - Register and monitor Wings nodes and their port allocations
- Eggs / Nests - Game server templates based on the Pterodactyl egg format
- Minecraft plugins & mods - Browse and install Modrinth resources onto a server, for eggs an admin has opted in (see Plugins & Mods)
- Schedules - Cron-based automated tasks (power actions, commands, backups)
- Backups - Local and S3-compatible server backups
- Activity logs - Audit trail for all user and system actions
- API key management - Per-user API keys via Better Auth
System Requirements
| Minimum | Recommended | |
|---|---|---|
| OS | Ubuntu 22.04 / Debian 12 | Ubuntu 22.04 LTS |
| CPU | 1 vCPU | 2 vCPU |
| RAM | 512 MB | 1 GB |
| Disk | 5 GB | 20 GB |
Docker is required. The Panel and MySQL both run as Docker containers - Docker must be installed and running on the host.
Running Wings on the same host as the Panel is possible but not recommended. Resource contention between game servers and the Panel can cause instability under load.
Admin Panel
The admin section (/admin) is restricted to users with the admin role. From here you can manage:
- Nodes and their allocations (IP:port assignments)
- Nests and Eggs (server templates)
- Database hosts for server-managed databases
- All users and all servers
Technology Stack
| Layer | Technology |
|---|---|
| Framework | Next.js 16, React 19 |
| Auth | Better Auth (sessions + API keys) |
| API | oRPC (type-safe RPC over HTTP) |
| Database | MySQL via Drizzle ORM |
| Node agent | Wings (REST + WebSocket) |
| Deployment | Docker Compose |