Changelog
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.9.1
Released on 2026-05-06 - GitHub - PyPI
What’s Changed
💄 Style & Refactoring
refactor: centralize list files function by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/312
⬆️ Dependencies
dep: update fastapi requirement from <0.136,>=0.115.0 to >=0.115.0,<0.137 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/310
dep: update uvicorn requirement from <0.43,>=0.35.0 to >=0.35.0,<0.45 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/302
dep: update uvicorn requirement from <0.45,>=0.35.0 to >=0.35.0,<0.47 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/315
dep: update mcstatus requirement from <13.1,>=12.0 to >=12.0,<13.2 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/313
Full Changelog: https://github.com/DMedina559/bedrock-server-manager/compare/3.9.0…3.9.1
3.9.0
Released on 2026-04-15 - GitHub - PyPI
Warning
Breaking changes for Plugins and HTTP API users Please see: #297
What’s Changed
⚠️ Breaking Changes
Refactor!/remove UI by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/282
Refactor!/router changes by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/293
🚀 Features
Feat/addon management by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/296
Feat/queue actions instead of skip by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/300
🐛 Bug Fixes
fix/mimetypes-content-type by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/291
Fix/remote sessions by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/301
📚 Documentation
Docs/in depth plugin docs by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/287
Docs/more classes by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/289
💄 Style & Refactoring
Refactor/prioritize cookies auth by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/298
⬆️ Dependencies
dep: update requests requirement from <2.33,>=2.32.3 to >=2.32.3,<2.34 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/285
dep: update uvicorn[standard] requirement from <0.42,>=0.35.0 to >=0.35.0,<0.43 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/283
dep: update black requirement from <26.2,>=25.1.0 to >=25.1.0,<26.4 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/278
dep: bump docker/build-push-action from 6 to 7 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/277
dep: bump docker/metadata-action from 5 to 6 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/276
dep: update mcstatus requirement from <12.3,>=12.0 to >=12.0,<13.1 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/275
dep: bump docker/login-action from 3 to 4 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/273
dep: update mypy requirement from <1.20,>=1.10.0 to >=1.10.0,<1.21 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/288
dep: update fastapi requirement from <0.130,>=0.115.0 to >=0.115.0,<0.136 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/269
dep: bump actions/github-script from 8 to 9 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/304
🧹 Chore
Chore/more splash text by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/294
chore: change addon icon router to no use auth by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/299
Full Changelog: https://github.com/DMedina559/bedrock-server-manager/compare/3.8.0…3.9.0
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.
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
Build!/bump min python ver by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/209
Chore!/cleanup unused code by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/217
Chore!/various cleanup by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/240
Refacor!/migrate to legacy by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/257
🚀 Features
Feat/wildcard subscriptions by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/210
Feat/frontend revamp by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/247
Feat/v2 content upload page by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/249
Feat(v2 UI)/add missing delete button by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/250
Feat/more json UI additions by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/254
Feat/improve plugin meta by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/255
Feat/even more json UI components by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/256
🐛 Bug Fixes
Fix/scripting addons by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/230
Fix/convert start server to background task by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/233
Fix/websocket messages by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/239
📚 Documentation
Docs/docker lan exposer by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/226
Docs/feature documentation by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/232
💄 Style & Refactoring
Style/linting improvements by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/214
⚡ Performance
Perf/minor websocket improvements by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/259
🧪 Tests
Test/add-coverage-report by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/227
📦 Build & CI
Workflow/improved build lint test by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/215
⬆️ Dependencies
dep: bump eslint-plugin-prettier from 5.5.4 to 5.5.5 in /frontend by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/208
dep: bump prettier from 3.7.4 to 3.8.0 in /frontend by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/213
dep: update mcstatus requirement from <12.1,>=12.0 to >=12.0,<12.2 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/212
dep: update myst-parser requirement from <4.1,>=4.0.0 to >=4.0.0,<5.1 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/211
dep: update platformdirs requirement from <4.4,>=4.3.0 to >=4.3.0,<4.6 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/220
dep: update black requirement from <25.13,>=25.1.0 to >=25.1.0,<26.2 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/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 https://github.com/DMedina559/bedrock-server-manager/pull/218
dep: bump prettier from 3.8.0 to 3.8.1 in /frontend by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/223
dep: bump globals from 17.0.0 to 17.1.0 in /frontend by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/224
dep: update pytest-cov requirement from <7.0,>=6.0.0 to >=6.0.0,<8.0 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/228
dep: bump globals from 17.1.0 to 17.2.0 in /frontend by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/231
dep: bump globals from 17.2.0 to 17.3.0 in /frontend by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/234
dep: bump @babel/preset-env from 7.28.6 to 7.29.0 in /frontend by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/235
dep: bump @babel/core from 7.28.6 to 7.29.0 in /frontend by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/236
dep: bump esbuild from 0.27.2 to 0.27.3 in /frontend by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/237
dep: update mcstatus requirement from <12.2,>=12.0 to >=12.0,<12.3 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/242
dep: update platformdirs requirement from <4.6,>=4.3.0 to >=4.3.0,<4.8 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/243
dep: update fastapi requirement from <0.129,>=0.115.0 to >=0.115.0,<0.130 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/244
dep: update uvicorn[standard] requirement from <0.41,>=0.35.0 to >=0.35.0,<0.42 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/246
dep: update platformdirs requirement from <4.8,>=4.3.0 to >=4.3.0,<4.10 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/245
dep: update isort requirement from <7.1,>=5.13.0 to >=5.13.0,<8.1 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/251
🧹 Chore
Chore/cleanup repository by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/216
Chore/cleanup frontend js by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/241
Chore/add splash txt to app context by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/248
Chore(v2 frontend)/minor backend improvements by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/252
chore: set player count to 0 by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/253
Full Changelog: https://github.com/DMedina559/bedrock-server-manager/compare/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
Feat/3.7.2 by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/207
📚 Documentation
Docs/various updates by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/205
📦 Build & CI
build(deps-dev): update black requirement from <25.12,>=25.1.0 to >=25.1.0,<25.13 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/183
build(deps-dev): bump eslint from 9.39.1 to 9.39.2 in /frontend by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/184
build(deps-dev): bump esbuild from 0.27.1 to 0.27.2 in /frontend by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/188
build(deps): update uvicorn[standard] requirement from <0.39,>=0.35.0 to >=0.35.0,<0.41 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/190
build(deps): update psutil requirement from <7.2,>=7.0.0 to >=7.0.0,<7.3 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/191
build(deps): update fastapi requirement from <0.125,>=0.115.0 to >=0.115.0,<0.129 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/192
Action/upgrade during build lint test by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/193
Workflow/auto label by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/199
build(deps): update alembic requirement from <1.18,>=1.16 to >=1.16,<1.19 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/195
build(deps-dev): update sphinx requirement from <8.3,>=8.2.0 to >=8.2.0,<9.2 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/194
build(deps): bump actions/github-script from 7 to 8 by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/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 https://github.com/DMedina559/bedrock-server-manager/pull/201
build(deps-dev): bump @babel/preset-env from 7.28.5 to 7.28.6 in /frontend by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/204
build(deps-dev): bump @babel/core from 7.28.5 to 7.28.6 in /frontend by @dependabot[bot] in https://github.com/DMedina559/bedrock-server-manager/pull/203
🧹 Chore
Templates/improve issue templates by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/197
Chore/label-cleanup by @DMedina559 in https://github.com/DMedina559/bedrock-server-manager/pull/206
Full Changelog: https://github.com/DMedina559/bedrock-server-manager/compare/3.7.1…3.7.2
3.7.1
Released on 2025-12-11 - GitHub - PyPI
New Features:
Re added environment variable support for data_dir and db_url
BSM_DATA_DIRBSM_DB_URL
Added support for
.mcaddon,.mcpack, and.mcworldfile installations that starts with a top level folder
Bug Fixes:
Fixed various WebSocket issues
3.7.0
Released on 2025-11-23 - GitHub - PyPI
New Features:
Added WebSocket support
Various polling elements from the frontend has been replaced with WebSocket connections for real-time updates
Backend Changes:
BREAKING CHANGE: Removed
instances.pymodulePlugins and other modules should now access the
AppContextobject via dependency injection in FastAPI
Fixed Custom Downloads installs
Various dependency updates
3.6.3
Released on 2025-09-10 - GitHub - PyPI
New Features:
Added
reset-passwordcommand to reset a users passwordAdded
database upgradecommand to upgrade the database to the latest versionRemoved
migrate databasecommand
Added
--porttoweb startcommand to override the port from configDocker image now available on GitHub Container Registry (GHCR) and Docker Hub
Image:
ghcr.io/dmedina559/bedrock-server-manager:latest,dmedina559/bedrock-server-manager:latestDocs: Docker Guide
Backend Changes:
Add
reloadtoAppContextand some related classesRefactored WebUI js to npm build system
Added
build.shandbuild.batscripts to build frontend and python packages
3.6.2
Released on 2025-08-24 - GitHub - PyPI
Bug Fixes:
Fixed missing
AppContextin System service creationFixed systemd environment file credentials not migrating in
old-configcommandPotential fix for
serverNamerequired error in web UI setup
3.6.1
Released on 2025-08-24 - GitHub - PyPI
New Features:
Add
mcstatusUsed to check online players count
player_countis returned withget_all_servers_data
Added
TaskManagerclass in web.tasksUsed 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:
Added shutdown flag to
BedrockProcessManagerRaises
RuntimeErrorif trying to register a server durring shutdown
Refactored/Removed web.templates into
AppContextAdded
get_app_contextandget_templatesto web.dependenciesAdded
self.player_countattribute toBedrockServer
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-configcommand after updating to 3.6.0 to ensure smooth migrationIf you plan on using an external database, you should run the
bedrock-server-manager setupcommand first before running thebedrock-server-manager migrate old-configcommandAfter running this command you should also run the
bedrock-server-manager setupcommand to ensure basic migration was successful
Core Architectural Changes
Moved most of the CLI commands to the
bsm-api-client[cli]packageRefactored most of the app away from global singletons to a passed around
AppContextobjectAdded 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.dbor use your own external databaseAutomatically 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-manageron linux,~/AppData/local/bedrock-server-manageron Windows)Database URL is also stored in this file
Added
migratecommandmigrate databsecommand to migrate the database to new versions as needed (for future updates)migrate old-configcommand to migrate from the old JSON config (<V3.5) to the new databaseThis 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
setupcommand to setup App configSets 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_pluginduring 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
--systemflag 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_userdependency to ensure proper access controlAdded the
server_lifecycle_manageras a Plugin MethodA context manager useful for plugins that need to perform actions on servers the requires the server to be stopped
The
get_*_instancefunctions ininstances.pyhave 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
AppContextobject viaapp.state.app_context
Added
app_contextto thePluginAPIclass, plugins can now access the AppContext object to access the current app state withself.api.app_contextAppContext 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_userdependenciesAdded
AppContextobjectThis 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)
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 trackingIf your FASTAPI plugin uses background task, consider migrating to the
bedrock_server_manager.web.tasksfunctions for a consistent user experience
Fixed server version api endpoint
Improved CLI permissions menu experience
No longer restart server after properties change
3.5.6
Released on 2025-07-19 - GitHub - PyPI
Fixed allowlist remove command
Filter logs to only show BSM and Plugin logs
Minor backend changes
Added various tests for the CLI and Web API
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
Hot fix for server properties path
3.5.4
Released on 2025-07-17 - GitHub - PyPI
Fixed custom cli/web plugins not being loaded correctly.
3.5.3
Released on 2025-07-17 - GitHub - PyPI
Optimized class initialization
3.5.2
Released on 2025-07-15 - GitHub - PyPI
Fixed missing html for Content Upload Plugin.
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
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/)
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
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.
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
hostwill be read from the JSON config file.On Windows, uvicorn workers will default to 1 instead of the configured settings value.
Web UI Themes:
Added support for custom themes in the Web UI.
Themes can be placed in the
themesdirectory.The Web UI will automatically list them in the settings menu.
Various themes are available, including:
darklightredblueyellowgreenblackgradient
The default theme is
darktheme (original OreUI insipred).
Config JSON migrations:
The global
script_config.jsonhas been renamed tobedrock_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
customsection.Added
web_server_hostto config. If the web server is started without a host argument, it will read from the JSON file.BASE_DIRhas been migrated topaths.servers.
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.
New plugin APIs:
APIs to read global and server configurations.
API to set custom global and server configurations.
Custom Bedrock Server Zips
Added support for custom Bedrock Server zips.
These can be placed in the
DOWNLOAD_DIR/customdirectory.The Web/CLI UI will automatically list them in the server creation, when target version is set to
CUSTOM.
Fixed world icon API route path typo:
word->world.Plugin Event: The
before_server_stopevent no longer uses themodevariable.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.
```
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 APIlink or athttp(s)/bs.host.url/docs.The OpenAPI json are also available at
http(s)/bs.host.url/api/openapi.json.Switched to
uvicornas the ASGI server for the Web API.Switched to
bcryptfor password hashing in the Web API.This requires you to regenerate your password hash and auth tokens.
BREAKING CHANGE:
/api/loginhas been changed to/auth/tokenNoteworthy change:
/api/plugins/reloadmethod changed toPUTinstead ofPOST.
3.4.1
Released on 2025-06-25 - GitHub - PyPI
Fixed settings target version for new server installations.
For simplicity, documentation has been removed from the web server and moved to the repository’s
/docsfolder.
3.4.0
Released on 2025-06-25 - GitHub - PyPI
STOP SERVERS BEFORE UPDATING
BREAKING CHANGE: Linux
systemdservice files have been changed.You must reconfigure autostart (
autostart --reconfigure) to update yoursystemdservice files.This is due to the service
typebeing changed fromforkingtosimple.BSM now directly manages the
bedrock_serverprocess, andscreenhas been removed as a dependency. You can uninstall it withsudo apt remove screen.A note to Linux users: I apologize for the repeated
systemdreconfigurations, but this should be the last time!
The biggest feature since the web server: PLUGINS!
Plugins are a new way to extend BSM’s functionality.
Install plugins by placing the
.pyfile in the plugins folder (e.g.,~/bedrock-server-manager/plugins).Enable/disable plugins in
plugins.jsonlocated 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
plugincommand 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.
BREAKING CHANGE: Removed
/restore/allroute. This is now part of the/restore/actionroute, whereallis a type parameter in the JSON body.BREAKING CHANGE: Removed
/world_nameroute. Use the get properties route instead.Changed
/backups/list/to/backup/list/.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.
Improved resource usage monitoring by refactoring it into a generic
ResourceMonitorclass.Improved filesystem functions by using
threading.Lockto prevent race conditions.
3.3.1
Released on 2025-06-17 - GitHub - PyPI
Fixed panorama display in the Web UI.
Fixed server process handling in the Web API.
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.
Revamped all CLI modules: Any scripts or scheduled tasks using the old CLI commands must be recreated.
See the updated
CLI_COMMANDS.mdfor the new command structure.The CLI has been modernized using the
clickandquestionarymodules for a better interactive experience.
Changed allowlist remove player route to
/api/server/{server_name}/allowlist/remove.Revamped start server actions:
Windows: Starting a server now creates a named pipe for sending commands. The
-m/--modeflag controls behavior (detachedfor background,directfor foreground).Linux: The
startcommand now incorporatessystemdlogic. The-m/--modeflag controls behavior (detachedtriessystemctlfirst,directusesscreen). You must recreate yoursystemdservice files.
Added
reset-worldaction to delete a server’s world folder (available in CLI and Web UI).Added command sending for actions like shutdown messages and reloading configurations.
Application can now be run as a module with
python -m bedrock_server_manager <command>.Changed
list-backupsbackup-typefrom ‘config’ to ‘allowlist’, ‘properties’, or ‘permissions’.CLI and File log levels now have separate configuration values (
CLI_LOG_LEVEL,FILE_LOG_LEVEL).Fixed
stop-web-serverbug where it could kill the wrong process.Removed getting started guides and other extra content from the web server.
Refactored core functions and classes (
BedrockServerManager,BedrockServer,BedrockDownloader) for better structure and capabilities.Migrated task schedulers to their own classes to reduce redundant logic.
General code cleanup, file reorganization, and removal of redundant functions.
3.2.5
Released on 2025-06-13 - GitHub - PyPI
Fixed the server download function to use the updated Minecraft website URL.
3.2.4
Released on 2025-05-22 - GitHub - PyPI
Fixed the
restart-servercommand in the CLI.
3.2.3
Released on 2025-05-12 - GitHub - PyPI
Added
/api/server/{server_name}/backups/list/{type}route.Added
/api/content/worldsroute.Added
/api/content/addonsroute.Added
/api/players/getroute.Added
/api/players/addroute.Added
/api/server/{server_name}/permissions_dataroute.File/folder paths for HTTP restore and prune APIs must now be relative.
Routes like
/api/servers/{server_name}/are now/api/server/{server_name}/.Fixed passing the
hostargument to the web server.
3.2.2
Released on 2025-05-06 - GitHub - PyPI
Fixed wrong module being used for the “read server properties” route.
3.2.1
Released on 2025-05-06 - GitHub - PyPI
Added
/api/inforoute.Added
/api/server/{server_name}/read_propertiesroute.The server is now stopped before exporting a world.
3.2.0
Released on 2025-04-23 - GitHub - PyPI
Added “export world” functionality to the Web UI. The export now goes to the content folder.
Added “remove player from allowlist” to the Web UI and CLI.
Added a command blacklist for sensitive commands like
stop.Added more splash text.
3.1.4
Released on 2025-04-17 - GitHub - PyPI
Revised HTTP docs included with the web server.
Added
/api/serversendpoint to list all servers and their status.
3.1.3
Released on 2025-04-16 - GitHub - PyPI
Revised docs included with the web server.
3.1.2
Released on 2025-04-14 - GitHub - PyPI
Fixed various JavaScript, allowlist, backup, and session token issues in the Web UI.
3.1.1
Released on 2025-04-13 - GitHub - PyPI
Fixed missing js files and images for web server
Added missing generate-password command
Fixed manage-script-config command
3.1.0
Released on 2025-04-13 - GitHub - PyPI
Added Web Server
Environment Variable: BEDROCK_SERVER_MANAGER_USERNAME
Required. Plain text username for web UI and API login.
Environment Variable: BEDROCK_SERVER_MANAGER_PASSWORD
Required. Hashed password for web UI and API login. Use the generate-password utility.
Environment Variable: 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.
Environment Variable: 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
Set port in script_config.json : WEB_PORT
Defaults to 11325
Its recommended to run this behind a reverse proxy of your choice (NGINX, CADDY, etc etc)
Uses Waitress WSGI server
Customizable panorama
Save any jpeg as panorama.jpeg in ./.config
Mobile friendly experience
Added generate-password command
Used to generate a hash to set as the BEDROCK_SERVER_MANAGER_PASSWORD Environment Variable
Added start-web-server command
Command Arguments:
-d | –debug : runs the server in the flask debug server
Not recommend to use in 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 : Which host to listen to
Defaults to 127.0.0.1
Added stop-web-server command
Stops a detached web server process
Removed all related lingering configuration (linux only)
Refactored cli.py and handlers.py into cli/api modules
Added more detailed logging throughout code
Added more detailed docstrings/comments throughout code
Added html docs which covers the http apis, cli environment, and user guide
Removed redundant commands
Added WEB_PORT and TOKEN_EXPIRE_WEEKS to script_config.json
Added various documentation accessible in the web server
Added splash text to Main Menu in CLI
3.0.3
Released on 2025-03-22 - GitHub - PyPI
Fixed Linux resource usage monitor
Fixed Linux systemd enable/disable
3.0.2
Released on 2025-03-21 - GitHub - PyPI
Fixed EXPATH variable in Linux scheduler
Fixed Modify Windows Task
3.0.1
Released on 2025-03-20 - GitHub - PyPI
3.0.1
Added handlers module
Refactored cli to use handlers
Refactored settings module
Migrated settings to a class
Fixed logger variables
[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
BREAKING CHANGE: Completely refactored .py script to a pip package
Now installed/updated with
pipcommand
Use
BEDROCK_SERVER_MANAGER_DATA_DIRenv variable for default data locationDefaults to
$HOME/bedrock-server-managerif variable doesnt existFollow your platforms documentation for setting Enviroment Variables
Logging refactored to use standard python logging
Most functions now raise Exceptions instead of returning an error code
Removed windows-start/stop commands
Added new commands
The following variables were added to script_config.json
CONTENT_DIR
DOWNLOAD_DIR
BACKUP_DIR
LOG_DIR
LOGS_KEEP
LOG_LEVEL