{# 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

{# --- Link back to the Documentation Index --- #}

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.

Features

Prerequisites

This script requires Python 3.10 or later, and you will need pip installed.

On Linux, you'll also need:

Installation

Install The Package:

  1. Run the command:
pip install bedrock-server-manager

Configuration

Setup The Configuration:

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 /.config/script_config.json file or with the manage-script-config command.

Configurable Variables (via script_config.json):

Usage

Run the script:

bedrock-server-manager  [options]

Available commands:

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).

{# Added Generate Password #}
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

Linux-Specific Commands

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)
Examples:

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

Install Content

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 /worlds or .mcpack/.mcaddon files in /addons

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'

Web Server

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:

Configure the Web Server:

Environment Variables:

To get started using the web server you must first set these environment variables:

Follow your platform's documentation for setting Environment Variables.

Generate Password Hash:

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.

Hosts:

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"

Port:

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

Disclaimers

{# Added warning class #}

Platform Differences:

{# Added info class #}

Tested Systems:

{# --- Optional: Back link at the bottom --- #}
{# Consistent hr style #}
{# End .getting-started-container #} {% endblock %} {# --- Page Specific Body Scripts (Optional) --- #} {% block body_scripts %} {{ super() }} {# Add any JS specific to this page if needed #} {% endblock %}