{# bedrock-server-manager/bedrock_server_manager/web/templates/getting_started.html #} {% extends "base.html" %} {# --- Page Title --- #} {% block title %}Getting Started - {{ super() }}{% endblock %} {# --- Page Specific Styles --- #} {% block head_styles %} {{ super() }} {# Include styles from base if needed #} {# Include table styles if not already globally included/needed #} {% endblock %} {# --- Main Content --- #} {% block content %}
Bedrock Server Manager is a comprehensive python package designed for installing, managing, and maintaining Minecraft Bedrock Dedicated Servers with ease, and is Linux/Windows compatable.
.mcworld
/.mcpack
files into your server.This script requires Python 3.10 or later, and you will need pip installed.
On Linux, you'll also need:
screen
systemd
(for service management features)pip install bedrock-server-manager
Bedrock Server Manager will use the Environment Variable BEDROCK_SERVER_MANAGER_DATA_DIR
for setting the default config/data location. If this variable does not exist it will default to $HOME/bedrock-server-manager
(Linux/macOS) or the user's home directory equivalent on Windows.
Follow your platform's documentation for setting Environment Variables.
The script will create its data folders in this location. This is where servers will be installed to and where the script will look when managing various server aspects.
Certain variables can be changed directly in the
file or with the manage-script-config
command.
script_config.json
):BASE_DIR
: Directory where servers will be installed (within the main data directory).CONTENT_DIR
: Directory where the app will look for addons/worlds (within the main data directory).DOWNLOAD_DIR
: Directory where server archives are downloaded (within the main data directory).BACKUP_DIR
: Directory where server backups will go (within the main data directory).LOG_DIR
: Directory where app logs will be saved (within the main data directory).BACKUP_KEEP
: How many world/config backups to keep per server.DOWNLOAD_KEEP
: How many downloaded server archives to keep.LOGS_KEEP
: How many application log files to keep.LOG_LEVEL
: Logging level (e.g., INFO, DEBUG).BEDROCK_SERVER_MANAGER_PORT
: Port for the web server (default 11325).bedrock-server-manager [options]
When interacting with the script, server_name
is the name of the server's folder (the name you chose during the first step of installation, also displayed in the Server Status table/menu).
Command | Description | Arguments | Platform |
---|---|---|---|
main | Open Bedrock Server Manager menu | (None) | All |
list-servers | List all servers and their statuses | -l, --loop : Continuously list servers (optional) |
All |
get-status | Get the status of a specific server (from config) | -s, --server (required) |
All |
configure-allowlist | Configure the allowlist for a server | -s, --server (required) |
All |
configure-permissions | Configure permissions for a server | -s, --server (required) |
All |
configure-properties | Configure individual server.properties | -s, --server (required)-p, --property (required)-v, --value (required) |
All |
install-server | Install a new server | (None) | All |
update-server | Update an existing server | -s, --server (required) |
All |
start-server | Start a server | -s, --server (required) |
All |
stop-server | Stop a server | -s, --server (required) |
All |
install-world | Install a world from a .mcworld file | -s, --server (required)-f, --file (optional) |
All |
install-addon | Install an addon (.mcaddon or .mcpack) | -s, --server (required)-f, --file (optional) |
All |
restart-server | Restart a server | -s, --server (required) |
All |
delete-server | Delete a server | -s, --server (required) |
All |
backup-server | Backup server files | -s, --server (required)-t, --type (required)-f, --file (optional)--no-stop (optional flag) |
All |
backup-all | Backup world and config files for a server | -s, --server (required)--no-stop (optional flag) |
All |
restore-server | Restore server files from backup | -s, --server (required)-f, --file (required)-t, --type (required)--no-stop (optional flag) |
All |
restore-all | Restores all newest files (world and configs) | -s, --server (required)--no-stop (optional flag) |
All |
scan-players | Scan server logs for player data | (None) | All |
add-players | Manually add player:xuid to players.json | -p, --players (required) |
All |
monitor-usage | Monitor server resource usage | -s, --server (required) |
All |
prune-old-backups | Prunes old backups | -s, --server (required)-f, --file-name (optional)-k, --keep (optional) |
All |
prune-old-downloads | Prunes old downloads | -d, --download-dir (required)-k, --keep (optional) |
All |
manage-script-config | Manages the script's configuration file | -k, --key (required)-o, --operation {read|write} (required)-v, --value (required for write) |
All |
manage-server-config | Manages individual server config files | -s, --server (required)-k, --key (required)-o, --operation {read|write} (required)-v, --value (required for write) |
All |
get-installed-version | Gets the installed version of a server | -s, --server (required) |
All |
check-server-status | Checks the server status (via logs) | -s, --server (required) |
All |
get-world-name | Gets the world name from server.properties | -s, --server (required) |
All |
create-service | Enable/Disable Auto-Update, Reconfigures Systemd file | -s, --server (required) |
All |
is-server-running | Checks if server process is running | -s, --server (required) |
All |
send-command | Sends a command to the server | -s, --server (required)-c, --command (required) |
All |
export-world | Exports world to backup dir | -s, --server (required) |
All |
validate-server | Checks if server dir and executable exist | -s, --server (required) |
All |
check-internet | Checks for internet connectivity | (None) | All |
cleanup | Clean up project files (cache, logs) | -c, --cache (optional flag)-l, --logs (optional flag) |
All |
start-webserver | Start the web management interface | -H (optional)-p (optional)-d, --debug (optional flag)-m {direct|detached} (optional) |
All |
stop-webserver | Stop the detached web server process | (None) | All |
generate-password | Generates a password hash for web UI config | (None) | All |
Command | Description | Arguments |
---|---|---|
attach-console | Attaches to screen session for a running server | -s, --server (required) |
enable-service | Enables a systemd service | -s, --server (required) |
disable-service | Disables a systemd service | -s, --server (required) |
check-service-exists | Checks if a systemd service file exists | -s, --server (required) |
Open Main Menu:
bedrock-server-manager main
Send Command:
bedrock-server-manager send-command -s server_name -c "tell @a hello"
Update Server:
bedrock-server-manager update-server --server server_name
Manage Script Config:
bedrock-server-manager manage-script-config --key BACKUP_KEEP --operation write --value 5
Easily import addons and worlds into your servers. The app will look in the configured CONTENT_DIR
directories for addon files.
Place .mcworld
files in
or .mcpack
/.mcaddon
files in
Use the interactive menu to choose which file to install or use the command:
bedrock-server-manager install-world --server server_name --file '/path/to/WORLD.mcworld'
bedrock-server-manager install-addon --server server_name --file '/path/to/ADDON.mcpack'
Bedrock Server Manager 3.1.0 includes a Web server you can run to easily manage your bedrock servers in your web browser, and is also mobile friendly!
The web ui has full parity with the CLI. With the web server you can:
To get started using the web server you must first set these environment variables:
BEDROCK_SERVER_MANAGER_USERNAME
: Required. Plain text username for web UI and API login. The web server will not start if this is not set.BEDROCK_SERVER_MANAGER_PASSWORD
: Required. Hashed password for web UI and API login. Use the generate-password utility. The web server will not start if this is not set.BEDROCK_SERVER_MANAGER_SECRET
: Recommended. A long, random, secret string. If not set, a temporary key is generated, and web UI sessions will not persist across restarts, requiring reauthentication.BEDROCK_SERVER_MANAGER_TOKEN
: Recommended. A long, random, secret string (different from _SECRET). If not set, a temporary key is generated, and JWT tokens used for API authentication will become invalid across restarts. JWT tokens expire every 4 weeks.Follow your platform's documentation for setting Environment Variables.
For the web server to start you must first set the BEDROCK_SERVER_MANAGER_PASSWORD
environment variable.
This must be set to the password hash and NOT the plain text password.
Use the following command to generate a password:
bedrock-server-manager generate-password
Follow the on-screen prompt to hash your password.
By Default Bedrock Server Manager will only listen to local host only interfaces 127.0.0.1
and [::1]
.
To change which host to listen to start the web server with the specified host.
Example: specify local host only ipv4 and ipv6:
bedrock-server-manager start-web-server --host 127.0.0.1 "::1"
By default Bedrock Server Manager will use port 11325
. This can be changed in script_config.json
:
bedrock-server-manager manage-script-config --key BEDROCK_SERVER_MANAGER_PORT --operation write --value 11325
send-command
requires separate start method (not yet available)