{# 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.3.0 --- #}

Version 3.3.0

MAJOR BREAKING CHANGES: READ FULL CHANGELOG BEFORE UPDATING

STOP SERVERS BEFORE UPDATING

Start/Stop methods have been revamped and require servers to be restarted with the new method. If you update before turning off your servers, you may need to manually terminate the running process.

  1. Revamped start server actions
    • Windows:
      • Starting a server now creates a named pipe in the background, allowing commands to be sent to the server.
    • Linux:
      • Start remains mostly the same, but the systemd command has also been merged into the base server start command.
    • Now takes an optional -m/--mode variable in the server start command:
      • Windows:
        • detached mode will start a named pipe process in the background (similar to web start).
        • direct mode will start the named pipe process in the foreground (similar to web start).
      • Linux:
        • detached mode will try to start the server with systemctl. If the service file doesn't exist, it falls back to direct mode.
        • direct mode will start the server directly with screen.
        • Systemd files must be recreated (use the "Reconfigure autoupdate/service" menu option).
    • Removed systemd-specific start/stop methods.
  2. Added reset-world action
    • Deletes the server’s world folder.
  3. Cleaned up various background code such as:
    • Removed the old BedrockServer class as it was underutilized.
    • Revamped the core.server_actions.delete_server_data function.
    • Split and renamed various files for better organization.
    • Removed redundant core backup/restore functions as the API layer can now call config/world functions directly.
  4. Fixed stop-web-server killing any process that happened to match the PID saved in the file.
    • It now validates that it is the bedrock-server-manager process being killed.
  5. Send command support for various actions such as sending messages to running servers when shutting down or reloading the allowlist/configurations when changed.
  6. Changed list-backups function
    • The --type option for backups changed from config to more specific types: allowlist, properties, and permissions.
  7. CLI and FILE log levels now use separate values.
    • Set CLI_LOG_LEVEL and FILE_LOG_LEVEL in script_config.json.
  8. Refactored core.downloader into a BedorckDownloader class.
  9. Refactored some global core functions into a BedrockServerManager class.
    • Some functions migrated to this class include: Scan for players, List content files, Start web server, and List all servers.
  10. Reintroduced the BedrockServer class in a more capable, feature-complete form.
  11. Moved main __init__.py to __main__.py.
    • Allows running the app with python -m bedrock_server_manager .
    • This makes some logic easier, as only sys.executable is needed instead of manually finding the bedrock-server-manager(.exe) in various installation paths.
  12. Migrated task schedulers to their own classes, reducing redundant logic.
  13. BREAKING CHANGE: Revamped all CLI modules. All CLI commands, systemd services, and task scheduler commands need to be removed/recreated.
    • Please see the updated CLI_COMMANDS.md document for an updated list of commands.
    • A few commands were removed and may or may not be replaced with new commands in the future.
  14. Removed getting started guide and extras from web server
{# --- Version 3.2.5 --- #}

Version 3.2.5

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