Skip to content

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:

  1. Select Node or Cluster - pick a node with sufficient available resources, or a Kubernetes orchestrator.
  2. Select Egg - choose the game template that defines the Docker image, startup command, and configuration variables.
  3. Select Allocation - choose an available IP:port on the selected node. If the egg defines a default port, matching allocations are shown first.
  4. Configure Resources - set memory (MB), disk (MB), CPU limit (%), and optional limits for backups, databases, and allocations.
  5. Assign Owner - select the user who will own this server.
  6. Set Startup Variables - override any egg variables (server name, version, etc.) if needed.
  7. Review and Create - confirm settings. The server enters installing status while the egg's install script runs.

Server Statuses

Servers can be in the following statuses:

StatusDescription
installingEgg install script is running
install_failedInstallation did not complete successfully
offlineServer is installed but not running
startingServer is in the process of starting
runningServer is online and accepting connections
stoppingServer is shutting down gracefully
suspendedServer has been suspended by an administrator
crashedServer exited unexpectedly and exceeded the crash detection limit
restoring_backupA 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:

ActionDescription
StartStarts the server container or process
StopSends the egg's graceful stop command (e.g., stop for Minecraft)
RestartPerforms a stop followed by a start
KillForcefully 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

  1. Navigate to the server's Backups tab.
  2. Click Create Backup and optionally enter a name.
  3. The backup runs in the background. The server does not need to be stopped.

Restoring a Backup

  1. Locate the backup in the list and select Restore.
  2. The server must be stopped before a restore can be initiated.
  3. 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:

PermissionAllows
control_consoleView console output and send commands
control_startStart the server
control_stopStop the server
control_restartRestart the server
file_readBrowse and view files
file_createCreate and upload files
file_updateEdit existing files
file_deleteDelete files
backup_readView the backup list
backup_createCreate new backups
backup_restoreRestore from a backup
backup_deleteDelete backups
database_readView database credentials
database_createCreate databases
database_deleteDelete databases
schedule_readView schedules
schedule_createCreate and manage schedules
settings_renameRename 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

BadgerPanel Documentation