{# bedrock-server-manager/bedrock_server_manager/web/templates/changelog.html #} {% extends "base.html" %} {# --- Page Title --- #} {% block title %}Changelog - {{ super() }}{% endblock %} {# --- Page Specific Styles --- #} {% block head_styles %} {{ super() }} {# Include styles from base's head_styles block if any are defined there #} {% endblock %} {# --- Main Content --- #} {% block content %}

Bedrock Server Manager Changelog

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

Version 3.2.4

  1. Fix download server function to use updated minecraft site
{# --- Version 3.2.4 --- #}

Version 3.2.4

  1. Fix restart-server command in CLI
{# --- Version 3.2.3 --- #}

Version 3.2.3

  1. Added /api/server/{server_name}/backups/list/{type} route
    • List all backups of one type for a server
  2. Added /api/content/worlds route
    • List all worlds in the content folder
  3. Added /api/content/addons route
    • List all addons in the content folder
  4. Added /api/players/get route
    • List all players in the global players.json file
  5. Added /api/players/add route
    • Add players to the global players.json file
  6. Added /api/server/{server_name}/permissions_data
    • List all players in the server permissions file
  7. File path for backups in http restore api must now be relative to the servers backup folder
  8. Folder path for download prune in http prune api must now be relative to the download folder
  9. /api/servers/{server_name}/ routes are now /api/server/{server_name}
    • Only the read properties route should be affected
  10. Fixed passing host arument to web server
{# --- Version 3.2.2 --- #}

Version 3.2.2

  1. Fixed wrong module for read server properties route
{# --- Version 3.2.1 --- #}

Version 3.2.1

  1. Added /api/info route
  2. Added /api/server/{server_name}/read_properties route
  3. Stop server before export world
{# --- Version 3.2.0 --- #}

Version 3.2.0

  1. Added export world to web GUI
    • Refactored export world endpoint
    • export-world on web and cli now export to the content folder
  2. Added remove player from allowlist to web and cli
    • Added remove-allowlist-player command
  3. Added a blacklist for commands such as stop or allowlist off
  4. Added more splash text
{# --- Version 3.1.4 --- #}

Version 3.1.4

  1. Revised HTTP docs included with web server
    • Only includes basic api info, full detailed docs can be found in the docs folder of the repository
  2. Added /api/servers endpoint
    • Returns a list of all servers and their status
{# --- Version 3.1.3 --- #}

Version 3.1.3

  1. Revised docs included with web server
{# --- Version 3.1.2 --- #}

Version 3.1.2

  1. Fixed wrong longer in some js files
  2. Fixed allowlist configuration on web
  3. Fixed restoring backups on web
  4. Fixed warning about jwt token for web sessions
{# --- Version 3.1.1 --- #}

Version 3.1.1

  1. Fixed missing js files and images for web server
  2. Added missing generate-password command
  3. Fixed manage-script-config command
{# --- Version 3.1.0 --- #}

Version 3.1.0

  1. Added Web Server
    • Environment Variables:
      BEDROCK_SERVER_MANAGER_USERNAME
      Required. Plain text username for web UI and API login.
      BEDROCK_SERVER_MANAGER_PASSWORD
      Required. Hashed password for web UI and API login. Use the generate-password utility.
      BEDROCK_SERVER_MANAGER_SECRET
      Strongly Recommended (Effectively Required for Web UI). A long, random, secret string. If not set, a temporary key is generated, and web UI sessions will not persist across restarts.
      BEDROCK_SERVER_MANAGER_TOKEN
      Strongly 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 by default.
    • Configuration:
      • Set port in script_config.json: WEB_PORT (Defaults to 11325)
      • Customizable panorama: Save any jpeg as panorama.jpeg in ./.config
    • Deployment & Tech:
      • It's recommended to run this behind a reverse proxy of your choice (NGINX, CADDY, etc.).
      • Uses Waitress WSGI server.
    • Mobile friendly experience
  2. Added generate-password command
    • Used to generate a hash to set as the BEDROCK_SERVER_MANAGER_PASSWORD Environment Variable.
  3. Added start-web-server command
    • Command Arguments:
      -d | --debug
      Runs the server using the Flask debug server. Not recommended for production.
      -m | --mode [direct|detached]
      Sets which mode to run the server:
      • direct: Directly runs the web server in the foreground.
      • detached: Runs the web server in a separate background process.
      -H | --host
      Specifies which host to listen on.
  4. Added stop-web-server command
    • Stops a detached web server process.
  5. Removed all related lingering configuration (Linux only).
  6. Refactored cli.py and handlers.py into cli/ and api/ modules.
  7. Added more detailed logging throughout code.
  8. Added more detailed docstrings/comments throughout code.
  9. Added HTML docs which cover the HTTP APIs, CLI environment, and user guide.
  10. Removed redundant commands.
  11. Added WEB_PORT and TOKEN_EXPIRE_WEEKS to script_config.json.
  12. Added various documentation accessible in the web server.
  13. Added splash text to Main Menu in CLI.
  14. SEMI-BREAKING CHANGE: Changed data dir, you must add the bedrock-server-manager folder in the environment variable path if upgrading from older 3.0 versions.
{# --- Version 3.0.3 --- #}

Version 3.0.3

  1. Fixed Linux resource usage monitor
  2. Fixed Linux systemd enable/disable
{# --- Version 3.0.2 --- #}

Version 3.0.2

  1. Fixed EXPATH variable in Linux scheduler
  2. Fixed Modify Windows Task
{# --- Version 3.0.1 --- #}

Version 3.0.1

  1. Added handlers module
    • Refactored cli to use handlers
  2. Refactored settings module
    • Migrated settings to a class
  3. Fixed logger variables
  4. [WIP] Send command support for Windows
    • Requires pywin32 module to be installed
    • Requires seperate start method not currently available
{# --- Version 3.0.0 --- #}

Version 3.0.0

  1. BREAKING CHANGE: Completely refactored .py script to a pip package
    • Now installed/updated with pip command
  2. Use BEDROCK_SERVER_MANAGER_DATA_DIR Environment Variable for default data location
    • Defaults to $HOME/bedrock-server-manager if variable doesnt exist
    • Follow your platforms documentation for setting Environment Variables
  3. Logging refactored to use standard python logging
    • Most functions now raise Exceptions instead of returning an error code
  4. Removed windows-start/stop commands
  5. Added new commands
  6. The following variables were added to script_config.json
    • CONTENT_DIR
    • DOWNLOAD_DIR
    • BACKUP_DIR
    • LOG_DIR
    • LOGS_KEEP
    • LOG_LEVEL
{# --- Version 2.0.2 --- #}

Version 2.0.2

  1. Revaluated error codes
  2. Ensure write permissions before certain operations such as delete server
{# --- Version 2.0.1 --- #}

Version 2.0.1

  1. Better handle send-command
{# --- Version 2.0.0 --- #}

Version 2.0.0

  1. Complete rewrite of script in python
  2. Added Windows support
    • Windows support has a few limitations such as:
      • No send-command support
      • No attach to console support
      • Doesn't auto restart if crashed
{# --- Bash vs Python Section --- #}

Bash vs Python Transition

The short lived Bedrock Server Manager Bash script is being discontinued and replaced with a new Python-based version. The Bash script was originally designed to support only Debian-based systems, which limited its usability across different operating systems. The bash script will continue to be available but will no longer receive updates.

The switch to python allows cross platform support, standardized processes, and less dependencies. The new script has full feature parity to the bash script

Switching to the Python Version:

{# --- Version 1.4.2 --- #}

Version 1.4.2

  1. Removed writing to version.txt
{# --- Version 1.4.1 --- #}

Version 1.4.1

  1. Check for internet in update function
{# --- Version 1.4.0 --- #}

Version 1.4.0

  1. Added list-servers command
    • List all servers, their status, and version
    • Also shows in the menus
  2. Added scan-players command
    • Scans server_output.txt for players+xuid and saves it to ./.config/players.json
    • Used to add players to permissions.json file
    • Added to cron scheduler
  3. Added add-players command
    • Manually adds player+xuid to ./.config/players.json
  4. Save script output to ./.logs/log_{$timestamp}.log
    • Redirect to file instead of /dev/null when applicable
  5. Refactored backups
    • You can now choose to backup all files, just export the world to a .mcworld file, or backup an individual config file.
    • Backup all executed when running backup-server command
  6. Added Restore menu
    • You can now restore all most recent files, a specific world file, or specific config file
    • Restore all executed when running update-server command
  7. Moved server configurations such as installed/target version to ./.config/$server_name/config.json
    • The script will try to migrate existing configs (server name, installed version, and target version) to the new file
  8. Perform validation on server.properties entries
  9. Split most of the bigger functions such as download_server into smaller more modular functions
  10. Added permissions configuration
    • You can choose players saved in ./config/players.json to add to a server permissions file
  11. Don't download server if target version is already downloaded
  12. Moved script default values to ./config/script_config.json
    • Edit this file to set your own servers directory, how many backups and downloads to keep
  13. Moved systemd commands to script, reconfigure systemd configuration to update
{# --- Version 1.3.0 --- #}

Version 1.3.0

  1. BREAKING CHANGE: Migrate ./bedrock_server_manager to ./servers
    • The script will try to auto migrate servers+systemd services after the user confirms
    • Its recommended to take a backup BEFORE updating the script
  2. Moved backups out of server folder to ./backups
  3. Moved server downloads out of server folder to ./.downloads
  4. Added support for .mcaddon file import (import in bulk)
{# --- Version 1.2.1 --- #}

Version 1.2.1

  1. Added option to enable/disable update on start to systemd flow
    • Added Reconfigure Systemd Service option
  2. Fixed Resource Usage page
{# --- Version 1.2.0 --- #}

Version 1.2.0

  1. Added enable-server and disable-server commands
    • Enable or disable systemd autostart service
  2. Added interactive cron scheduler
    • You can view add modify delete cron jobs for your servers to automatically run certain script commands such as update-server at scheduled times
  3. Backup now makes .mcworld files instead of a .tar.gz file
    • Added zip as required package
    • Fixed backups not working
  4. View resource usage for server
  5. Standardized yes/no prompts
  6. Use allowlist reload command when updating allowlist and server is running
  7. Rearranged code blocks to a more logical order
    • Centralized/Validate server name before call function
  8. Add version to server download file
  9. Rearranged menus
    • Added Advanced Menu
{# --- Version 1.1.4 --- #}

Version 1.1.4

  1. Fixed json format for world addon files
  2. Set r/w permissions for extracted worlds/addons
  3. Ask to restart after installing addon
{# --- Version 1.1.3 --- #}

Version 1.1.3

  1. Better handle send-command arguments
  2. Use say instead of tell
{# --- Version 1.1.2 --- #}

Version 1.1.2

  1. Check for internet before download to prevent server fail to start (pings example.com)
  2. No longer exit when you check for updates with the latest version already installed
  3. Call send_command directly throughout script
  4. Removed duplicate logging when calling certain functions
  5. Backup function now only handles start/stop server if not in update
{# --- Version 1.1.1 --- #}

Version 1.1.1

  1. Optimized $SCRIPTDIR variable
{# --- Version 1.1.0 --- #}

Version 1.1.0

  1. Added option to import .mcworld files from ./content/worlds folder
  2. Added option to import .mcpack files from ./content/addons folder
  3. Stop server before backup
  4. Use values from server.properties file when reconfiguring server properties
  5. Cleaned up some repetitive code
{# --- Version 1.0.3 --- #}

Version 1.0.3

  1. Added update-script command
  2. Ask if you want to install pre-request packages first
  3. Shutdown server before update if running
  4. Send messages to online players about checking for server updates, when its shutting down, and when its restarting
  5. Wait 10 seconds before shutdown/restart to allow players time to react to shutdown/restart messages
{# --- Version 1.0.2 --- #}

Version 1.0.2

  1. Execute update-server command and systemd prestart command
  2. Make linger command optional
{# --- Version 1.0.1 --- #}

Version 1.0.1

  1. Perform validation on server folder name and level name
  2. Fixed getting the scripts current directory
  3. Script no longer needs root permissions
{# --- Version 1.0.0 --- #}

Version 1.0.0

  1. Initial Release
{# --- Optional: Back link at the bottom --- #}
{# Consistent hr styling applied via CSS #}
{# End .changelog-container #} {% endblock %} {# --- Page Specific Body Scripts (Optional) --- #} {% block body_scripts %} {{ super() }} {# Add any JS specific to the changelog page if needed #} {% endblock %}