Changelog

Bedrock Server Manager Icon

Note

Format Change: As of version 3.7.2, we have moved to automated changelog generation. Detailed implementation notes are now located within the linked GitHub Pull Requests.


3.8.0

Released on 2026-02-26 - GitHub - PyPI

Warning

Python 3.11+ required

Tip

Try out the new UI now!

This release introduces a new React based UI that greatly enhances the user experience.
The goal is to have the new UI completely replace the current legacy ui by 3.9.0

To navigate back to the legacy UI simply use the Legacy UI (DEPRECATED) link at the bottom of the webpage.

New UI

Note

This release also fixes a Server Permissions bug which caused no players to show up when the permissions.json is empty (excluded global players)

Tip

Its recommended to run the migrate old-config command to clean up some unused settings in the database

New UI Improvements:

  • Added Global Players page which allows manually adding players to the global db, or trigger a scan
  • Added Audit Log page which shows user actions, app logs, background tasks
  • Improved Monitor page to show bedrock logs and quick action buttons
  • Merged Worlds/Addons pages to use tabs, allows uploading content when Content Uploader plugin is enabled
  • Merged Allowlist/Permissions pages into Access Control, permissions tab has been improved to allow manually adding Name and XXUID to server permissions
  • Improved Properties page with search and custom properties entry
  • New plugin page system, now plugin routers can respond a json ui for the V2 frontend to render (legacy plugin pages use iframe in new ui)

What's Changed

⚠️ Breaking Changes

πŸš€ Features

πŸ› Bug Fixes

πŸ“š Documentation

πŸ’„ Style & Refactoring

⚑ Performance

πŸ§ͺ Tests

πŸ“¦ Build & CI

⬆️ Dependencies

  • dep: bump eslint-plugin-prettier from 5.5.4 to 5.5.5 in /frontend by @dependabot[bot] in #208
  • dep: bump prettier from 3.7.4 to 3.8.0 in /frontend by @dependabot[bot] in #213
  • dep: update mcstatus requirement from <12.1,>=12.0 to >=12.0,<12.2 by @dependabot[bot] in #212
  • dep: update myst-parser requirement from <4.1,>=4.0.0 to >=4.0.0,<5.1 by @dependabot[bot] in #211
  • dep: update platformdirs requirement from <4.4,>=4.3.0 to >=4.3.0,<4.6 by @dependabot[bot] in #220
  • dep: update black requirement from <25.13,>=25.1.0 to >=25.1.0,<26.2 by @dependabot[bot] in #219
  • dep: update bsm-api-client[cli] requirement from <1.4.0,>=1.2.1 to >=1.2.1,<1.5.0 by @dependabot[bot] in #218
  • dep: bump prettier from 3.8.0 to 3.8.1 in /frontend by @dependabot[bot] in #223
  • dep: bump globals from 17.0.0 to 17.1.0 in /frontend by @dependabot[bot] in #224
  • dep: update pytest-cov requirement from <7.0,>=6.0.0 to >=6.0.0,<8.0 by @dependabot[bot] in #228
  • dep: bump globals from 17.1.0 to 17.2.0 in /frontend by @dependabot[bot] in #231
  • dep: bump globals from 17.2.0 to 17.3.0 in /frontend by @dependabot[bot] in #234
  • dep: bump @babel/preset-env from 7.28.6 to 7.29.0 in /frontend by @dependabot[bot] in #235
  • dep: bump @babel/core from 7.28.6 to 7.29.0 in /frontend by @dependabot[bot] in #236
  • dep: bump esbuild from 0.27.2 to 0.27.3 in /frontend by @dependabot[bot] in #237
  • dep: update mcstatus requirement from <12.2,>=12.0 to >=12.0,<12.3 by @dependabot[bot] in #242
  • dep: update platformdirs requirement from <4.6,>=4.3.0 to >=4.3.0,<4.8 by @dependabot[bot] in #243
  • dep: update fastapi requirement from <0.129,>=0.115.0 to >=0.115.0,<0.130 by @dependabot[bot] in #244
  • dep: update uvicorn[standard] requirement from <0.41,>=0.35.0 to >=0.35.0,<0.42 by @dependabot[bot] in #246
  • dep: update platformdirs requirement from <4.8,>=4.3.0 to >=4.3.0,<4.10 by @dependabot[bot] in #245
  • dep: update isort requirement from <7.1,>=5.13.0 to >=5.13.0,<8.1 by @dependabot[bot] in #251

🧹 Chore

Full Changelog: 3.7.2...3.8.0

3.7.2

Released on 2026-01-14 - GitHub - PyPI

Important

This is the last release to to support Python 3.10

Note

This release significantly changes the changelog format

What's Changed

πŸš€ Features

πŸ“š Documentation

πŸ“¦ Build & CI

  • build(deps-dev): update black requirement from <25.12,>=25.1.0 to >=25.1.0,<25.13 by @dependabot[bot] in #183
  • build(deps-dev): bump eslint from 9.39.1 to 9.39.2 in /frontend by @dependabot[bot] in #184
  • build(deps-dev): bump esbuild from 0.27.1 to 0.27.2 in /frontend by @dependabot[bot] in #188
  • build(deps): update uvicorn[standard] requirement from <0.39,>=0.35.0 to >=0.35.0,<0.41 by @dependabot[bot] in #190
  • build(deps): update psutil requirement from <7.2,>=7.0.0 to >=7.0.0,<7.3 by @dependabot[bot] in #191
  • build(deps): update fastapi requirement from <0.125,>=0.115.0 to >=0.115.0,<0.129 by @dependabot[bot] in #192
  • Action/upgrade during build lint test by @DMedina559 in #193
  • Workflow/auto label by @DMedina559 in #199
  • build(deps): update alembic requirement from <1.18,>=1.16 to >=1.16,<1.19 by @dependabot[bot] in #195
  • build(deps-dev): update sphinx requirement from <8.3,>=8.2.0 to >=8.2.0,<9.2 by @dependabot[bot] in #194
  • build(deps): bump actions/github-script from 7 to 8 by @dependabot[bot] in #202
  • build(deps-dev): update sphinx-rtd-theme requirement from <3.1,>=3.0.0 to >=3.0.0,<3.2 by @dependabot[bot] in #201
  • build(deps-dev): bump @babel/preset-env from 7.28.5 to 7.28.6 in /frontend by @dependabot[bot] in #204
  • build(deps-dev): bump @babel/core from 7.28.5 to 7.28.6 in /frontend by @dependabot[bot] in #203

🧹 Chore

Full Changelog: 3.7.1...3.7.2

3.7.1

Released on 2025-12-11 - GitHub - PyPI

New Features:

  1. Re added environment variable support for data_dir and db_url
    • BSM_DATA_DIR
    • BSM_DB_URL
  2. Added support for .mcaddon, .mcpack, and .mcworld file installations that starts with a top level folder

Bug Fixes:

  1. Fixed various WebSocket issues

3.7.0

Released on 2025-11-23 - GitHub - PyPI

New Features:

  1. Added WebSocket support
    • Various polling elements from the frontend has been replaced with WebSocket connections for real-time updates

Backend Changes:

  1. BREAKING CHANGE: Removed instances.py module
    • Plugins and other modules should now access the AppContext object via dependency injection in FastAPI
  2. Fixed Custom Downloads installs
  3. Various dependency updates

3.6.3

Released on 2025-09-10 - GitHub - PyPI

New Features:

  1. Added reset-password command to reset a users password
  2. Added database upgrade command to upgrade the database to the latest version
    • Removed migrate database command
  3. Added --port to web start command to override the port from config
  4. Docker image now available on GitHub Container Registry (GHCR) and Docker Hub
    • Image: ghcr.io/dmedina559/bedrock-server-manager:latest, dmedina559/bedrock-server-manager:latest
    • Docs: Docker Guide

Backend Changes:

  1. Add reload to AppContext and some related classes
  2. Refactored WebUI js to npm build system
  3. Added build.sh and build.bat scripts to build frontend and python packages

3.6.2

Released on 2025-08-24 - GitHub - PyPI

Bug Fixes:

  1. Fixed missing AppContext in System service creation
  2. Fixed systemd environment file credentials not migrating in old-config command
  3. Potential fix for serverName required error in web UI setup

3.6.1

Released on 2025-08-24 - GitHub - PyPI

New Features:

  1. Add mcstatus
    • Used to check online players count
    • player_count is returned with get_all_servers_data
  2. Added TaskManager class in web.tasks
    • Used for routers that used FastAPI's BackgroundTask
    • Durring shutdown all running background tasks will be brought to the main thread where they'll finish running or graceful shutdown

Backend Changes:

  1. Added shutdown flag to BedrockProcessManager
    • Raises RuntimeError if trying to register a server durring shutdown
  2. Refactored/Removed web.templates into AppContext
  3. Added get_app_context and get_templates to web.dependencies
  4. Added self.player_count attribute to BedrockServer

3.6.0

Released on 2025-08-23 - GitHub - PyPI

With version 3.6.0, the web server is now a required component and acts as the central management point for all Bedrock servers. This change simplifies process management and improves stability.
Key improvements include:
All server processes are now managed directly by the web server.
Configuration data has been migrated from JSON files to a database for better performance and reliability.
The previous backend CLI has been removed. All actions are now handled via the web interface.
These changes create a more robust and efficient platform for managing your servers.

Important Notices & Breaking Changes

Stop servers before updating!
  • BREAKING CHANGE: Removed CLI Plugin support

  • Requires the BSM app to always be running (A System Service for the web server is recommended bedrock-server-manager web service configure)

  • Its recommended to run the bedrock-server-manager migrate old-config command after updating to 3.6.0 to ensure smooth migration

    • If you plan on using an external database, you should run the bedrock-server-manager setup command first before running the bedrock-server-manager migrate old-config command
    • After running this command you should also run the bedrock-server-manager setup command to ensure basic migration was successful

Core Architectural Changes

  • Moved most of the CLI commands to the bsm-api-client[cli] package
  • Refactored most of the app away from global singletons to a passed around AppContext object
  • Added gracefull shutdown for BSM
    • Shuts down all running bedrock servers
    • Unloads all plugins
  • Web server now starts without needing any setup

Database and Configuration Migration

  • Database migrations
    Using the default database has been observed to cause slow loadding times for the web server on some systems, if you experience this issue, consider using an external database such as MySQL or PostgreSQL.
    
    • Migrated BSM from a JSON based config to a SQLite database
    • Use default included bedrock_server_manager.db or use your own external database
    • Automatically migrates from the old JSON config to the new database
    • All json config files are now stored in the database
      • This includes the global config, server configs, and plugin configs, player configs
    • All environment variables are now stored in the database
      • Web server environment variables are now stored in the database and are auto migrated to the database
      • App Data Directory is now stored in a seperate json file in the users %APPDATA% directory (~/.config/bedrock-server-manager on linux, ~/AppData/local/bedrock-server-manager on Windows)
        • Database URL is also stored in this file
  • Added migrate command
    • migrate databse command to migrate the database to new versions as needed (for future updates)
    • migrate old-config command to migrate from the old JSON config (<V3.5) to the new database
      • This command will migrate the following:
        • bedrock_server_manager.json (global config)
        • <server_name>_config.json (server configs)
        • players.json (global player)
        • plugins.json (plugins)`
        • BEDROCK_SERVER_MANAGER_DATA_DIR (app data directory)
        • BEDROCK_SERVER_MANAGER_USERNAME, BEDROCK_SERVER_MANAGER_PASSWORD, BEDROCK_SERVER_MANAGER_TOKEN (web auth environment variables)
        • Bedrock Server System Services
  • Added setup command to setup App config
    • Sets up the App Data Directory and database URL, Web Host and Port, system service

Server Management

  • Revamped server start methods
    • Now uses a generic process open instead of complex platform specific named pipe methods
      • This vastly improves cross platform compatibility
    • System Services for individual servers will no longer work, is now handled by the autostart_plugin during BSM startup
  • Added crash restarts
    • Bedrock servers will now restart if they crashed

Multi-User and Access Control

  • Added Multi user support with Access Control
    • Admins can now create and manage users with different access levels
      • Current access levels:
        • Admin: Full access to full application
        • Moderator: Limited to basic server management not including updates, installs, or content management
        • User: Limited to view privileges, can only view basic data
    • Admins can create a registration link for users to register
      • Link is valid for 24 hours
    • Admins can enable/disable user accounts, and change their roles
  • Themes are now user specific
    • Each user can now have their own theme

System Service Improvements

  • Improved system service support
    • On Windows you can now enter account credentials to run the service as a specific user
    • Added --system flag for linux to create a systemd service for the web server on the system level

Plugin and Developer Updates

  • If you're a plugin developer with FASTAPI plugins, you should update your plugins to use the new get_current_user, get_admin_user, get_moderator_user dependency to ensure proper access control
  • Added the server_lifecycle_manager as a Plugin Method
    • A context manager useful for plugins that need to perform actions on servers the requires the server to be stopped
  • The get_*_instance functions in instances.py have been deprecated (will be removed in 3.7.0)
    • Instead the AppContext object (created in the CLI app) is passed around to all functions
    • FastAPI plugins can access the AppContext object via app.state.app_context
  • Added app_context to the PluginAPI class, plugins can now access the AppContext object to access the current app state with self.api.app_context
    • AppContext will be automatically passed to all plugin methods
  • Plugins are now only loaded during the web server startup, no longer during the CLI app startup

Other Backend Changes

  • Various backend changes such as:
    • Object based authentication
    • Changes routers to use the new get_current_user, get_admin_user, get_moderator_user dependencies
    • Added AppContext object
      • This object holds the current app state such as:
        • Settings instance
        • Database instance
        • BedrockServerManager instance
        • BedrockServer instances
        • BedrockProcessManager instance
        • PluginManager instance
      • Most API modules have been refactored to use the new AppContext object

3.5.7

Released on 2025-07-24 - GitHub - PyPI

Experience the new CLI before the 3.6.0 update now:

`pip install --upgrade bedrock-server-manager[cli]`

Use the `bsm-api-client` command to interact with the web server

View all commands at: [BSM API Commands](https://bedrock-server-manager.readthedocs.io/en/latest/cli/api_client_commands.html)

  1. Added generic task manager for FastAPI background task
    • Background task now retun a task ID you can use to monitor various task such as server installs, backups and more.
    • Added /api/tasks/status/{task_id} for status tracking
    • If your FASTAPI plugin uses background task, consider migrating to the bedrock_server_manager.web.tasks functions for a consistent user experience
  2. Fixed server version api endpoint
  3. Improved CLI permissions menu experience
  4. No longer restart server after properties change

3.5.6

Released on 2025-07-19 - GitHub - PyPI

  1. Fixed allowlist remove command
  2. Filter logs to only show BSM and Plugin logs
  3. Minor backend changes
  4. Added various tests for the CLI and Web API
  5. BREAKING CHANGE: Task scheduler functionality has been removed from the CLI and Web API.
    The current task scheduler functionality will be reintroduced in a future as optional plugins.
    

3.5.5

Released on 2025-07-17 - GitHub - PyPI

  1. Hot fix for server properties path

3.5.4

Released on 2025-07-17 - GitHub - PyPI

  1. Fixed custom cli/web plugins not being loaded correctly.

3.5.3

Released on 2025-07-17 - GitHub - PyPI

  1. Optimized class initialization

3.5.2

Released on 2025-07-15 - GitHub - PyPI

  1. Fixed missing html for Content Upload Plugin.
  2. Hardcode uvicorn workers to 1 to avoid potential conflict with file locking and theme loading issues.

3.5.1

Released on 2025-07-14 - GitHub - PyPI

  1. Fixed a bug where running the web server behind a reverse proxy was causing issues with the web UI and API routes.

3.5.0

Released on 2025-07-14 - GitHub - PyPI

BREAKING CHANGE: WEB USERS
If you are using the web server, you must regenerate your password hash and auth tokens.
Documentation for the Bedrock Server Manager (BSM) has been completely revamped and is now available at: 

Main:   [https://bedrock-server-manager.readthedocs.io/](https://bedrock-server-manager.readthedocs.io/)

Mirror: [https://dmedina559.github.io/bedrock-server-manager/](https://dmedina559.github.io/bedrock-server-manager/)
  1. CLI/WEB Plugins: Experimental support for custom CLI and Web plugins

    When using these new plugin types that extend Bedrock Server Manager (BSM) functionality, exercise caution during installation and execution. Always ensure you understand the plugin's operations before running it.
    
    Plugins that add web endpoints have the potential to expose sensitive data. If you're developing such a plugin, it's highly recommended to use  the `bedrock_server_manager.web` `get_current_user` dependencies within your FastAPI routers. This helps secure your endpoints with the same authentication system the main web app uses.
    
    • Plugins can add custom CLI commands or entities to the CLI menu
    • Plugins can add custom web API endpoints/UI menus
    • New default plugin: Upload Content Plugin (disabled by default)
    • Support for package format plugin
      • In addition to the standalone py file plugins, support for plugins in a python package format has been added
  2. Windows Service:

    Running Bedrock Server Manager components (Web UI, individual Bedrock Servers) as Windows Services allows them to run in the background, start automatically on boot, and be managed by the Windows Service Control Manager.

    It is **highly recommended** to use a Python installation downloaded from [python.org](https://www.python.org/downloads/windows/) rather than the version available from the Microsoft Store. The Microsoft Store version of Python has been observed to cause significant file locking issues when used with Windows Services, preventing other Python scripts or applications (including new BSM CLI sessions) from running correctly, even when using virtual environments. Using the python.org installer typically avoids these specific locking problems.
    
    • General Considerations:
      • Administrator Privileges: Creating, configuring, starting, and stopping Windows services requires Administrator privileges. You can achieve this by:
        • Running your Command Prompt or PowerShell as an Administrator before executing bsm commands.
        • Using the sudo command on recent versions of Windows if you have it configured.
      • Service Account: By default, services created by BSM might be configured to run as the "Local System" account. For Bedrock servers, which often need to access user-specific paths for server files, content, and backups (e.g., in your user profile or a directory your user owns), it is usually necessary to change the service's "Log On As" account to your local Windows user account. This can be done via the Services app (services.msc) after the service has been created by BSM. This step ensures the service has the correct permissions. Failure to do this is a common cause of services not starting or functioning correctly.
  3. Web server as a service:

    • Create a system service (Systemd on Linux / Windows Service).
    • On Linux, you'll need to manually create an environment file with your BSM environment variables and add the EnvironmentFile= line to your systemd file.
    • The host will be read from the JSON config file.
    • On Windows, uvicorn workers will default to 1 instead of the configured settings value.
  4. Web UI Themes:

    • Added support for custom themes in the Web UI.

    • Themes can be placed in the themes directory.

    • The Web UI will automatically list them in the settings menu.

    • Various themes are available, including:

      • dark
      • light
      • red
      • blue
      • yellow
      • green
      • black
      • gradient
    • The default theme is dark theme (original OreUI insipred).

  5. Config JSON migrations:

    • The global script_config.json has been renamed to bedrock_server_manager.json.
    • Global settings have been migrated to a new nested format. A backup will be created, and an auto-migration will be attempted.
    • Server config JSONs have been migrated to a new nested format. Auto-migration will be attempted, and any custom config options will be moved to a nested custom section.
    • Added web_server_host to config. If the web server is started without a host argument, it will read from the JSON file.
    • BASE_DIR has been migrated to paths.servers.
  6. Background Task:

    • API routes for update, start, stop, and other long running endpoints have been converted to FastAPI's BackgroundTasks for better responsiveness.
    • As a result Web APIs now instantly return a success response instead of the actual result for the task. In future versions, these endpoints will be updated to handle this.
  7. New plugin APIs:

    • APIs to read global and server configurations.
    • API to set custom global and server configurations.
  8. Custom Bedrock Server Zips

    • Added support for custom Bedrock Server zips.
    • These can be placed in the DOWNLOAD_DIR/custom directory.
    • The Web/CLI UI will automatically list them in the server creation, when target version is set to CUSTOM.
  9. Fixed world icon API route path typo: word -> world.

  10. Plugin Event: The before_server_stop event no longer uses the mode variable.

  11. Added a settings menu to the Web UI.
    {note} Not all settings (like web host/port) will be reloaded on the fly. These require a full application restart to take effect.

  12. BREAKING CHANGE: Migrated Flask to FastAPI for the Web API.

    • This allows for better performance and more modern features.
    • The Web UI has been updated to work with the new FastAPI routes.
    • Always up-to-date HTTP API docs are now available in the Web UI footer HTTP API link or at http(s)/bs.host.url/docs.
    • The OpenAPI json are also available at http(s)/bs.host.url/api/openapi.json.
    • Switched to uvicorn as the ASGI server for the Web API.
    • Switched to bcrypt for password hashing in the Web API.
      • This requires you to regenerate your password hash and auth tokens.
  13. BREAKING CHANGE: /api/login has been changed to /auth/token

  14. Noteworthy change:

    • /api/plugins/reload method changed to PUT instead of POST.

3.4.1

Released on 2025-06-25 - GitHub - PyPI

  1. Fixed settings target version for new server installations.
  2. For simplicity, documentation has been removed from the web server and moved to the repository's /docs folder.

3.4.0

Released on 2025-06-25 - GitHub - PyPI

STOP SERVERS BEFORE UPDATING
  1. BREAKING CHANGE: Linux systemd service files have been changed.

    • You must reconfigure autostart (autostart --reconfigure) to update your systemd service files.
    • This is due to the service type being changed from forking to simple.
    • BSM now directly manages the bedrock_server process, and screen has been removed as a dependency. You can uninstall it with sudo apt remove screen.
    • A note to Linux users: I apologize for the repeated systemd reconfigurations, but this should be the last time!
  2. The biggest feature since the web server: PLUGINS!

    • Plugins are a new way to extend BSM's functionality.
    • Install plugins by placing the .py file in the plugins folder (e.g., ~/bedrock-server-manager/plugins).
    • Enable/disable plugins in plugins.json located in the config directory (e.g., ~/bedrock-server-manager/.config). Plugins are disabled by default.
    • See the Plugin Documentation for details.
    • See default plugins for examples.
    • Added a plugin command to the CLI. See the updated CLI Commands.
    • Added plugin management to the CLI and Web UI.
    • Default plugins are included and can be enabled, disabled, or overridden.
    • A custom event system allows plugins to communicate with each other and external sources.
  3. BREAKING CHANGE: Removed /restore/all route. This is now part of the /restore/action route, where all is a type parameter in the JSON body.

  4. BREAKING CHANGE: Removed /world_name route. Use the get properties route instead.

  5. Changed /backups/list/ to /backup/list/.

  6. Optimized various HTML routes. Pages now render faster, with data being pulled dynamically via JavaScript. The servers table in the Web UI updates automatically without a page refresh.

  7. Improved resource usage monitoring by refactoring it into a generic ResourceMonitor class.

  8. Improved filesystem functions by using threading.Lock to prevent race conditions.

3.3.1

Released on 2025-06-17 - GitHub - PyPI

  1. Fixed panorama display in the Web UI.
  2. Fixed server process handling in the Web API.
  3. Fixed task command execution in the Web UI.

3.3.0

Released on 2025-06-16 - GitHub - PyPI

**MAJOR BREAKING CHANGES - READ FULL CHANGELOG BEFORE UPDATING**
**STOP SERVERS BEFORE UPDATING**

Start/Stop methods have been revamped. If you update before stopping your servers, you may need to manually terminate the running `bedrock_server` processes.
  1. Revamped all CLI modules: Any scripts or scheduled tasks using the old CLI commands must be recreated.
    • See the updated CLI_COMMANDS.md for the new command structure.
    • The CLI has been modernized using the click and questionary modules for a better interactive experience.
  2. Changed allowlist remove player route to /api/server/{server_name}/allowlist/remove.
  3. Revamped start server actions:
    • Windows: Starting a server now creates a named pipe for sending commands. The -m/--mode flag controls behavior (detached for background, direct for foreground).
    • Linux: The start command now incorporates systemd logic. The -m/--mode flag controls behavior (detached tries systemctl first, direct uses screen). You must recreate your systemd service files.
  4. Added reset-world action to delete a server's world folder (available in CLI and Web UI).
  5. Added command sending for actions like shutdown messages and reloading configurations.
  6. Application can now be run as a module with python -m bedrock_server_manager <command>.
  7. Changed list-backups backup-type from 'config' to β€˜allowlist’, β€˜properties’, or β€˜permissions’.
  8. CLI and File log levels now have separate configuration values (CLI_LOG_LEVEL, FILE_LOG_LEVEL).
  9. Fixed stop-web-server bug where it could kill the wrong process.
  10. Removed getting started guides and other extra content from the web server.
  11. Refactored core functions and classes (BedrockServerManager, BedrockServer, BedrockDownloader) for better structure and capabilities.
  12. Migrated task schedulers to their own classes to reduce redundant logic.
  13. General code cleanup, file reorganization, and removal of redundant functions.

3.2.5

Released on 2025-06-13 - GitHub - PyPI

  1. Fixed the server download function to use the updated Minecraft website URL.

3.2.4

Released on 2025-05-22 - GitHub - PyPI

  1. Fixed the restart-server command in the CLI.

3.2.3

Released on 2025-05-12 - GitHub - PyPI

  1. Added /api/server/{server_name}/backups/list/{type} route.
  2. Added /api/content/worlds route.
  3. Added /api/content/addons route.
  4. Added /api/players/get route.
  5. Added /api/players/add route.
  6. Added /api/server/{server_name}/permissions_data route.
  7. File/folder paths for HTTP restore and prune APIs must now be relative.
  8. Routes like /api/servers/{server_name}/ are now /api/server/{server_name}/.
  9. Fixed passing the host argument to the web server.

3.2.2

Released on 2025-05-06 - GitHub - PyPI

  1. Fixed wrong module being used for the "read server properties" route.

3.2.1

Released on 2025-05-06 - GitHub - PyPI

  1. Added /api/info route.
  2. Added /api/server/{server_name}/read_properties route.
  3. The server is now stopped before exporting a world.

3.2.0

Released on 2025-04-23 - GitHub - PyPI

  1. Added "export world" functionality to the Web UI. The export now goes to the content folder.
  2. Added "remove player from allowlist" to the Web UI and CLI.
  3. Added a command blacklist for sensitive commands like stop.
  4. Added more splash text.

3.1.4

Released on 2025-04-17 - GitHub - PyPI

  1. Revised HTTP docs included with the web server.
  2. Added /api/servers endpoint to list all servers and their status.

3.1.3

Released on 2025-04-16 - GitHub - PyPI

  1. Revised docs included with the web server.

3.1.2

Released on 2025-04-14 - GitHub - PyPI

  1. Fixed various JavaScript, allowlist, backup, and session token issues in the Web UI.

3.1.1

Released on 2025-04-13 - GitHub - PyPI

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

3.1.0

Released on 2025-04-13 - GitHub - PyPI

  1. Added Web Server
    1. Environment Variable: BEDROCK_SERVER_MANAGER_USERNAME
      1. Required. Plain text username for web UI and API login.
    2. Environment Variable: BEDROCK_SERVER_MANAGER_PASSWORD
      1. Required. Hashed password for web UI and API login. Use the generate-password utility.
    3. Environment Variable: BEDROCK_SERVER_MANAGER_SECRET
      1. 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.
    4. Environment Variable: BEDROCK_SERVER_MANAGER_TOKEN
      1. 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.
      2. JWT tokens expire every 4 weeks by default
    5. Set port in script_config.json : WEB_PORT
      1. Defaults to 11325
    6. Its recommended to run this behind a reverse proxy of your choice (NGINX, CADDY, etc etc)
    7. Uses Waitress WSGI server
    8. Customizable panorama
      1. Save any jpeg as panorama.jpeg in ./.config
    9. Mobile friendly experience
  2. Added generate-password command
    1. Used to generate a hash to set as the BEDROCK_SERVER_MANAGER_PASSWORD Environment Variable
  3. Added start-web-server command
    1. Command Arguments:
      1. -d | --debug : runs the server in the flask debug server
        1. Not recommend to use in production
      2. -m | --mode : direct, detached . Sets which mode to run the server
        1. direct: Directly runs the web server in the foreground
        2. detached: Runs the web server in a separate background process
      3. -H | --host : Which host to listen to
        1. Defaults to 127.0.0.1
  4. Added stop-web-server command
    1. Stops a detached web server process
  5. Removed all related lingering configuration (linux only)
  6. Refactored cli.py and handlers.py into cli/api modules
  7. Added more detailed logging throughout code
  8. Added more detailed docstrings/comments throughout code
  9. Added html docs which covers 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

3.0.3

Released on 2025-03-22 - GitHub - PyPI

  1. Fixed Linux resource usage monitor
  2. Fixed Linux systemd enable/disable

3.0.2

Released on 2025-03-21 - GitHub - PyPI

  1. Fixed EXPATH variable in Linux scheduler
  2. Fixed Modify Windows Task

3.0.1

Released on 2025-03-20 - GitHub - PyPI

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

3.0.0

Released on 2025-03-14 - GitHub - PyPI

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 env variable for default data location
    • Defaults to $HOME/bedrock-server-manager if variable doesnt exist
    • Follow your platforms documentation for setting Enviroment 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