Server Management
Servers are the core resource in BadgerPanel. Each server represents a game server instance running on a Linux/Windows node or a Kubernetes cluster. This guide covers creating, configuring, and managing servers from the admin panel.
Creating a Server
Navigate to Admin > Servers > Create Server. The creation form walks through the following:
- Select Node or Cluster - pick a node with sufficient available resources, or a Kubernetes orchestrator.
- Select Egg - choose the game template that defines the Docker image, startup command, and configuration variables.
- Select Allocation - choose an available IP:port on the selected node. If the egg defines a default port, matching allocations are shown first.
- Configure Resources - set memory (MB), disk (MB), CPU limit (%), and optional limits for backups, databases, and allocations.
- Assign Owner - select the user who will own this server.
- Set Startup Variables - override any egg variables (server name, version, etc.) if needed.
- Review and Create - confirm settings. The server enters
installingstatus while the egg's install script runs.
Server Statuses
Servers can be in the following statuses:
| Status | Description |
|---|---|
installing | Egg install script is running |
install_failed | Installation did not complete successfully |
offline | Server is installed but not running |
starting | Server is in the process of starting |
running | Server is online and accepting connections |
stopping | Server is shutting down gracefully |
suspended | Server has been suspended by an administrator |
crashed | Server exited unexpectedly and exceeded the crash detection limit |
restoring_backup | A backup restore is in progress |
Status updates are delivered in real time via WebSocket.
Power Actions
From the server detail page or the server list actions menu:
| Action | Description |
|---|---|
| Start | Starts the server container or process |
| Stop | Sends the egg's graceful stop command (e.g., stop for Minecraft) |
| Restart | Performs a stop followed by a start |
| Kill | Forcefully terminates the server process immediately |
Console
The web console provides real-time output streaming and command input. Console history is preserved and can be scrolled back. Type commands in the input field at the bottom and press Enter to send them to the running server.
The console also displays resource usage (CPU, memory, disk) in real time alongside the output stream.
File Manager
Browse, create, edit, rename, copy, and delete server files directly from the web UI. The built-in code editor supports syntax highlighting for common configuration file formats. Files can also be accessed via SFTP (see below).
Backups
Backups allow server owners to save and restore their server data.
Creating a Backup
- Navigate to the server's Backups tab.
- Click Create Backup and optionally enter a name.
- The backup runs in the background. The server does not need to be stopped.
Restoring a Backup
- Locate the backup in the list and select Restore.
- The server must be stopped before a restore can be initiated.
- Restoring replaces the server's current files with the backup contents.
Additional Operations
- Download - download a backup archive to your local machine via a temporary signed URL.
- Lock - protect a backup from accidental deletion. Locked backups cannot be deleted until unlocked.
- Delete - permanently remove a backup from storage.
Each server has a configurable backup limit set during creation. Backup storage supports local, MinIO, and S3-compatible providers.
Schedules and Tasks
Automate server operations with cron-based schedules. Each schedule can contain multiple tasks that execute in sequence:
- Power actions - start, stop, restart the server
- Console commands - send any command to the running server
- Backup creation - create a backup on a recurring schedule
Schedules use standard cron syntax. Tasks within a schedule execute in the order they are defined, with optional delays between them.
Database Management
Create MySQL databases for game servers directly from the Databases tab. Each database receives isolated credentials that are displayed to the server owner.
- Create - provisions a new database on a configured database host
- Rotate Password - generates a new password for the database
- Delete - removes the database and its data permanently
- phpMyAdmin - if enabled, provides one-click SSO access to phpMyAdmin for the database
Database limits are set per server during creation.
Network and Allocations
The Network tab shows the IP:port allocations assigned to the server. Servers can have multiple allocations, with one designated as the primary allocation (shown to users and used for connection information).
Allocations are managed at the node level. See Installing the Daemon for details on adding allocations to a node.
Startup Configuration
The Startup tab allows modification of:
- Startup command - the command template with variable placeholders
- Docker image - select from the images defined in the egg
- Environment variables - edit values for all variables defined in the egg template
Changes to startup configuration take effect on the next server start.
Subuser Permissions
Server owners can invite other users as subusers with granular permissions. Subuser permissions control access to individual features:
| Permission | Allows |
|---|---|
control_console | View console output and send commands |
control_start | Start the server |
control_stop | Stop the server |
control_restart | Restart the server |
file_read | Browse and view files |
file_create | Create and upload files |
file_update | Edit existing files |
file_delete | Delete files |
backup_read | View the backup list |
backup_create | Create new backups |
backup_restore | Restore from a backup |
backup_delete | Delete backups |
database_read | View database credentials |
database_create | Create databases |
database_delete | Delete databases |
schedule_read | View schedules |
schedule_create | Create and manage schedules |
settings_rename | Rename the server |
SFTP Access
Connect to any server's files over SFTP using panel credentials:
- Host: The node's IP or FQDN
- Port: 2022 (default, configurable in daemon settings)
- Username: Panel email address
- Password: Panel account password
Each SFTP session is scoped to the server's data directory. Users can only access servers they own or have subuser permissions for.
Suspension
Suspending a server stops it and prevents the owner from starting it. Navigate to the server detail page and toggle Suspended. Suspended servers display a suspended status badge. To unsuspend, toggle the switch off. The server does not automatically restart after unsuspension.
Reinstallation
Reinstalling a server re-runs the egg's install script. This is useful when game files are corrupted. The server is stopped, the install script executes, and the server returns to offline status when complete.
Server Transfers
To move a server between nodes, use the Transfer action on the server detail page. Select the destination node and a target allocation. The panel copies server files to the new node, updates the allocation, and removes files from the source. During transfer, the server is stopped and locked.
Bulk Operations
From the server list (Admin > Servers), select multiple servers using the checkboxes:
- Bulk Start / Stop / Restart / Kill - send power actions to all selected servers
- Bulk Suspend / Unsuspend - toggle suspension on selected servers
- Bulk Delete - permanently remove selected servers and their files
Bulk operations are processed concurrently with progress displayed in a status overlay.
Next Steps
- Eggs & Nests - manage game server templates
- Daemon Configuration - tune daemon settings
