bedrock-server-manager 3.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. bedrock_server_manager-3.0.0/LICENSE +21 -0
  2. bedrock_server_manager-3.0.0/PKG-INFO +184 -0
  3. bedrock_server_manager-3.0.0/README.md +163 -0
  4. bedrock_server_manager-3.0.0/bedrock_server_manager/__init__.py +516 -0
  5. bedrock_server_manager-3.0.0/bedrock_server_manager/cleanup.py +58 -0
  6. bedrock_server_manager-3.0.0/bedrock_server_manager/cli.py +3214 -0
  7. bedrock_server_manager-3.0.0/bedrock_server_manager/config/__init__.py +1 -0
  8. bedrock_server_manager-3.0.0/bedrock_server_manager/config/settings.py +141 -0
  9. bedrock_server_manager-3.0.0/bedrock_server_manager/core/__init__.py +7 -0
  10. bedrock_server_manager-3.0.0/bedrock_server_manager/core/download/__init__.py +1 -0
  11. bedrock_server_manager-3.0.0/bedrock_server_manager/core/download/downloader.py +363 -0
  12. bedrock_server_manager-3.0.0/bedrock_server_manager/core/error.py +174 -0
  13. bedrock_server_manager-3.0.0/bedrock_server_manager/core/logging.py +60 -0
  14. bedrock_server_manager-3.0.0/bedrock_server_manager/core/player/__init__.py +1 -0
  15. bedrock_server_manager-3.0.0/bedrock_server_manager/core/player/player.py +118 -0
  16. bedrock_server_manager-3.0.0/bedrock_server_manager/core/server/__init__.py +1 -0
  17. bedrock_server_manager-3.0.0/bedrock_server_manager/core/server/addon.py +436 -0
  18. bedrock_server_manager-3.0.0/bedrock_server_manager/core/server/backup.py +348 -0
  19. bedrock_server_manager-3.0.0/bedrock_server_manager/core/server/server.py +1032 -0
  20. bedrock_server_manager-3.0.0/bedrock_server_manager/core/server/world.py +135 -0
  21. bedrock_server_manager-3.0.0/bedrock_server_manager/core/system/__init__.py +1 -0
  22. bedrock_server_manager-3.0.0/bedrock_server_manager/core/system/base.py +435 -0
  23. bedrock_server_manager-3.0.0/bedrock_server_manager/core/system/linux.py +760 -0
  24. bedrock_server_manager-3.0.0/bedrock_server_manager/core/system/windows.py +653 -0
  25. bedrock_server_manager-3.0.0/bedrock_server_manager/utils/__init__.py +1 -0
  26. bedrock_server_manager-3.0.0/bedrock_server_manager/utils/general.py +68 -0
  27. bedrock_server_manager-3.0.0/bedrock_server_manager/utils/package_finder.py +82 -0
  28. bedrock_server_manager-3.0.0/bedrock_server_manager.egg-info/PKG-INFO +184 -0
  29. bedrock_server_manager-3.0.0/bedrock_server_manager.egg-info/SOURCES.txt +33 -0
  30. bedrock_server_manager-3.0.0/bedrock_server_manager.egg-info/dependency_links.txt +1 -0
  31. bedrock_server_manager-3.0.0/bedrock_server_manager.egg-info/entry_points.txt +2 -0
  32. bedrock_server_manager-3.0.0/bedrock_server_manager.egg-info/requires.txt +3 -0
  33. bedrock_server_manager-3.0.0/bedrock_server_manager.egg-info/top_level.txt +1 -0
  34. bedrock_server_manager-3.0.0/pyproject.toml +39 -0
  35. bedrock_server_manager-3.0.0/setup.cfg +4 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 ZVORTEX11325
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,184 @@
1
+ Metadata-Version: 2.2
2
+ Name: bedrock-server-manager
3
+ Version: 3.0.0
4
+ Summary: A manager for Minecraft Bedrock Dedicated Servers
5
+ Author-email: ZVortex11325 <zvortex11325-github@outlook.com>
6
+ Project-URL: Repository, https://github.com/dmedina559/bedrock-server-manager.git
7
+ Project-URL: Bug Tracker, https://github.com/DMedina559/bedrock-server-manager/issues
8
+ Project-URL: Changelog, https://github.com/DMedina559/bedrock-server-manager/blob/main/CHANGELOG.md
9
+ Keywords: minecraft,bedrock,server
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Environment :: Console
14
+ Classifier: Topic :: Games/Entertainment
15
+ Requires-Python: >=3.10
16
+ Description-Content-Type: text/markdown
17
+ License-File: LICENSE
18
+ Requires-Dist: requests
19
+ Requires-Dist: psutil
20
+ Requires-Dist: colorama
21
+
22
+ # Bedrock Server Manager
23
+
24
+ Bedrock Server Manager is a comprehensive python package designed for installing, managing, and maintaining Minecraft Bedrock Dedicated Servers with ease. The script is Linux and Windows compatable.
25
+
26
+ ## Features
27
+
28
+ Install New Servers: Quickly set up a server with customizable options like version (LATEST, PREVIEW, or specific versions).
29
+
30
+ Update Existing Servers: Seamlessly download and update server files while preserving critical configuration files and backups.
31
+
32
+ Backup Management: Automatically backup worlds and configuration files, with pruning for older backups.
33
+
34
+ Server Configuration: Easily modify server properties, and allow-list interactively.
35
+
36
+ Auto-Update supported: Automatically update the server with a simple restart.
37
+
38
+ Command-Line Tools: Send game commands (Linux only), start, stop, and restart servers directly from the command line.
39
+
40
+ Interactive Menu: Access a user-friendly interface to manage servers without manually typing commands.
41
+
42
+ Install/Update Content: Easily import .mcworld/.mcpack files into your server.
43
+
44
+ Automate Various Server Task: Quickly create cron task to automate task such as backup-server or restart-server (Linux only).
45
+
46
+ View Resource Usage: View how much CPU and RAM your server is using.
47
+
48
+ ## Prerequisites
49
+
50
+ This script requires `Python 3.10` or later, and you will need `pip` installed
51
+
52
+ On Linux, you'll also need:
53
+
54
+ * screen
55
+ * systemd
56
+
57
+
58
+ ## Usage
59
+
60
+ ### Install The Package:
61
+
62
+ 1. Run the command `pip install bedrock-server-manager`
63
+
64
+ ### Setup The Configuration:
65
+
66
+ bedrock-server-manager will use the enviroment variable `BEDROCK_SERVER_MANAGER_DATA_DIR` for setting the default config/data location, if this variable does not exist it will default to `$HOME/bedrock-server-manager`
67
+
68
+ Follow your platforms documentation for setting Enviroment Variables
69
+
70
+ The script will create its data folders ( `./server`,`./backups`,`./.downloads` `./.config` `./.logs` `./content/worlds`, and `./content/addons` ) in this location. This is where servers will be installed to and where the script will look when managing various server aspects.
71
+
72
+ Certain drttings can can be changed directly in the `./config/script_config.json` or with the `manage-script-config` command
73
+
74
+ #### The following variables are configurable via json
75
+
76
+ * BASE_DIR
77
+ * CONTENT_DIR
78
+ * DOWNLOAD_DIR
79
+ * BACKUP_DIR
80
+ * LOG_DIR
81
+ * BACKUP_KEEP
82
+ * DOWNLOAD_KEEP
83
+ * LOGS_KEEP
84
+ * LOG_LEVEL
85
+
86
+
87
+ ### Run the script:
88
+
89
+ ```
90
+ bedrock-server-manager <command> [options]
91
+ ```
92
+
93
+ #### Available commands:
94
+
95
+ <sub>When interacting with the script, server_name is the name of the servers folder (the name you chose durring the first step of instalation)</sub>
96
+
97
+ | Command | Description | Arguments | Platform |
98
+ |----------------------|---------------------------------------------------|---------------------------------------------------------------------------------------------------------------|---------------|
99
+ | **main** | Open Bedrock Server Manager menu | None | All |
100
+ | **list-servers** | List all servers and their statuses | `-l, --loop`: Continuously list servers (optional) | All |
101
+ | **get-status** | Get the status of a specific server | `-s, --server`: Server name (required) | All |
102
+ | **configure-allowlist** | Configure the allowlist for a server | `-s, --server`: Server name (required) | All |
103
+ | **configure-permissions**| Configure permissions for a server | `-s, --server`: Server name (required) | All |
104
+ | **configure-properties**| Configure individual server.properties | `-s, --server`: Server name (required) <br> `-p, --property`: Name of the property to modify (required) <br> `-v, --value`: New value for the property (required) | All |
105
+ | **install-server** | Install a new server | None | All |
106
+ | **update-server** | Update an existing server | `-s, --server`: Server name (required) <br> `-v, --version`: Server version to install (optional, default: LATEST) | All |
107
+ | **start-server** | Start a server | `-s, --server`: Server Name (required) | All |
108
+ | **stop-server** | Stop a server | `-s, --server`: Server Name (required) | All |
109
+ | **install-world** | Install a world from a .mcworld file | `-s, --server`: Server name (required) <br> `-f, --file`: Path to the .mcworld file (optional) | All |
110
+ | **install-addon** | Install an addon (.mcaddon or .mcpack) | `-s, --server`: Server name (required) <br> `-f, --file`: Path to the .mcaddon or .mcpack file (optional) | All |
111
+ | **restart-server** | Restart a server | `-s, --server`: Server name (required) | All |
112
+ | **delete-server** | Delete a server | `-s, --server`: Server name (required) | All |
113
+ | **backup-server** | Backup server files | `-s, --server`: Server name (required) <br> `-t, --type`: Backup type (required) <br> `-f, --file`: Specific file to backup (optional, for config type) <br> `--no-stop`: Don't stop the server before backup (optional, flag) | All |
114
+ | **backup-all** | Restores all newest files (world and configuration files). | `-s, --server`: Server Name (required) <br> `--no-stop`: Don't stop the server before restore (optional, flag) | All |
115
+ | **restore-server** | Restore server files from backup | `-s, --server`: Server name (required) <br> `-f, --file`: Path to the backup file (required) <br> `-t, --type`: Restore type (required) <br> `--no-stop`: Don't stop the server before restore (optional, flag) | All |
116
+ | **restore-all** | Restores all newest files (world and configuration files). | `-s, --server`: Server Name (required) <br> `--no-stop`: Don't stop the server before restore (optional, flag) | All |
117
+ | **create-service** | Enable/Disable Auto-Update, Reconfigures Systemd file on Linux | `-s, --server`: Server name (required) | All |
118
+ | **scan-players** | Scan server logs for player data | None | All |
119
+ | **monitor-usage** | Monitor server resource usage | `-s, --server`: Server name (required) | All |
120
+ | **add-players** | Manually add player:xuid to players.json | `-p, --players`: `<player1:xuid> <player2:xuid> ...` (required) | All |
121
+ | **prune-old-backups**| Prunes old backups | `-s, --server`: Server Name (required) <br> `-f, --file-name`: Specific file name to prune (optional) <br> `-k, --keep`: How many backups to keep (optional) | All |
122
+ | **manage-script-config**| Manages the script's configuration file | `-k, --key`: The configuration key to read or write. (required) <br> `-o, --operation`: read or write (required, choices: ["read", "write"]) <br> `-v, --value`: The value to write (optional, required for 'write') | All |
123
+ | **manage-server-config**| Manages individual server configuration files | `-s, --server`: Server Name (required) <br> `-k, --key`: The configuration key to read or write. (required) <br> `-o, --operation`: read or write (required, choices: ["read", "write"]) <br> `-v, --value`: The value to write (optional, required for 'write') | All |
124
+ | **get-installed-version**| Gets the installed version of a server | `-s, --server`: Server Name (required) | All |
125
+ | **check-server-status**| Checks the server status by reading server_output.txt | `-s, --server`: Server Name (required) | All |
126
+ | **get-server-status-from-config**| Gets the server status from the server's config.json | `-s, --server`: Server name (required) | All |
127
+ | **update-server-status-in-config**| Updates the server status in the server's config.json | `-s, --server`: Server name (required) | All |
128
+ | **get-world-name** | Gets the world name from the server.properties | `-s, --server`: Server name (required) | All |
129
+ | **check-internet** | Checks for internet connectivity | None | All |
130
+ | **get-service-status-from-config**| Gets the server status from the server's config.json | `-s, --server`: Server name (required) | All |
131
+ | **cleanup**| Clean up project files (cache, logs) | `-c, --cache`: Clean up __pycache__ directories <br> `-l, --logs`: Clean up log files | All |
132
+
133
+
134
+ ##### Linux-Specific Commands
135
+
136
+ | Command | Description | Arguments |
137
+ |----------------------|---------------------------------------------------|---------------------------------------------------------------------------------------------------------------|
138
+ | **systemd-start** | systemd start command (Linux only) | `-s, --server`: Server name (required) | Linux only |
139
+ | **systemd-stop** | systemd stop command (Linux only) | `-s, --server`: Server name (required) | Linux only |
140
+ | **check-service-exists**| Checks if a systemd service file exists (Linux only)| `-s, --server`: Server name (required) | Linux only |
141
+ | **enable-service** | Enables a systemd service(Linux only) | `-s, --server`: Server name (required) | Linux only |
142
+ | **disable-service** | Disables a systemd service (Linux only) | `-s, --server`: Server name (required) | Linux only |
143
+ | **send-command** | Sends a command to the server (Linux only) | `-s, --server`: Server name (required) <br> `-c, --command`: Command to send (required) | Linux only |
144
+
145
+
146
+ ###### Examples:
147
+
148
+ Open Main Menu:
149
+
150
+ ```
151
+ bedrock-server-manager main
152
+ ```
153
+
154
+ Send Command:
155
+ ```
156
+ bedrock-server-manager send-command --server server_name --command "tell @a hello"
157
+ ```
158
+
159
+ Update Server:
160
+
161
+ ```
162
+ bedrock-server-manager update-server --server server_name
163
+ ```
164
+
165
+
166
+ ### Install Content:
167
+
168
+ With bedrock-server-manager you can easily import .mcworld and .mcpack files into your server. The script will look in `./content/worlds` and `./content/addons` respectively.
169
+
170
+ For .mcworlds the script will scan the server.properties files for the `level-name` and extract the file to that folder.
171
+
172
+ For .mcpacks the script will extract them to a tmp folder and scan the manifest.json, looking for the pack type, name, version, and uuid. The script will then move the pack to it respective world folder (resource_packs, or behaviour_packs) with the name+verison used as the folder name, and the script will update the `world_behavior_packs.json` and `world_resource_packs.json` as needed with the packs uuid and version.
173
+
174
+ ### Tested on these systems:
175
+ - Debian 12 (bookworm)
176
+ - Ubuntu 24.04
177
+ - Windows 11 24H2
178
+ - WSL2
179
+
180
+ ### Platform Differences:
181
+ - Windows suppport has the following limitations such as:
182
+ - No send-command support
183
+ - No attach to console support
184
+ - Doesn't auto restart if crashed
@@ -0,0 +1,163 @@
1
+ # Bedrock Server Manager
2
+
3
+ Bedrock Server Manager is a comprehensive python package designed for installing, managing, and maintaining Minecraft Bedrock Dedicated Servers with ease. The script is Linux and Windows compatable.
4
+
5
+ ## Features
6
+
7
+ Install New Servers: Quickly set up a server with customizable options like version (LATEST, PREVIEW, or specific versions).
8
+
9
+ Update Existing Servers: Seamlessly download and update server files while preserving critical configuration files and backups.
10
+
11
+ Backup Management: Automatically backup worlds and configuration files, with pruning for older backups.
12
+
13
+ Server Configuration: Easily modify server properties, and allow-list interactively.
14
+
15
+ Auto-Update supported: Automatically update the server with a simple restart.
16
+
17
+ Command-Line Tools: Send game commands (Linux only), start, stop, and restart servers directly from the command line.
18
+
19
+ Interactive Menu: Access a user-friendly interface to manage servers without manually typing commands.
20
+
21
+ Install/Update Content: Easily import .mcworld/.mcpack files into your server.
22
+
23
+ Automate Various Server Task: Quickly create cron task to automate task such as backup-server or restart-server (Linux only).
24
+
25
+ View Resource Usage: View how much CPU and RAM your server is using.
26
+
27
+ ## Prerequisites
28
+
29
+ This script requires `Python 3.10` or later, and you will need `pip` installed
30
+
31
+ On Linux, you'll also need:
32
+
33
+ * screen
34
+ * systemd
35
+
36
+
37
+ ## Usage
38
+
39
+ ### Install The Package:
40
+
41
+ 1. Run the command `pip install bedrock-server-manager`
42
+
43
+ ### Setup The Configuration:
44
+
45
+ bedrock-server-manager will use the enviroment variable `BEDROCK_SERVER_MANAGER_DATA_DIR` for setting the default config/data location, if this variable does not exist it will default to `$HOME/bedrock-server-manager`
46
+
47
+ Follow your platforms documentation for setting Enviroment Variables
48
+
49
+ The script will create its data folders ( `./server`,`./backups`,`./.downloads` `./.config` `./.logs` `./content/worlds`, and `./content/addons` ) in this location. This is where servers will be installed to and where the script will look when managing various server aspects.
50
+
51
+ Certain drttings can can be changed directly in the `./config/script_config.json` or with the `manage-script-config` command
52
+
53
+ #### The following variables are configurable via json
54
+
55
+ * BASE_DIR
56
+ * CONTENT_DIR
57
+ * DOWNLOAD_DIR
58
+ * BACKUP_DIR
59
+ * LOG_DIR
60
+ * BACKUP_KEEP
61
+ * DOWNLOAD_KEEP
62
+ * LOGS_KEEP
63
+ * LOG_LEVEL
64
+
65
+
66
+ ### Run the script:
67
+
68
+ ```
69
+ bedrock-server-manager <command> [options]
70
+ ```
71
+
72
+ #### Available commands:
73
+
74
+ <sub>When interacting with the script, server_name is the name of the servers folder (the name you chose durring the first step of instalation)</sub>
75
+
76
+ | Command | Description | Arguments | Platform |
77
+ |----------------------|---------------------------------------------------|---------------------------------------------------------------------------------------------------------------|---------------|
78
+ | **main** | Open Bedrock Server Manager menu | None | All |
79
+ | **list-servers** | List all servers and their statuses | `-l, --loop`: Continuously list servers (optional) | All |
80
+ | **get-status** | Get the status of a specific server | `-s, --server`: Server name (required) | All |
81
+ | **configure-allowlist** | Configure the allowlist for a server | `-s, --server`: Server name (required) | All |
82
+ | **configure-permissions**| Configure permissions for a server | `-s, --server`: Server name (required) | All |
83
+ | **configure-properties**| Configure individual server.properties | `-s, --server`: Server name (required) <br> `-p, --property`: Name of the property to modify (required) <br> `-v, --value`: New value for the property (required) | All |
84
+ | **install-server** | Install a new server | None | All |
85
+ | **update-server** | Update an existing server | `-s, --server`: Server name (required) <br> `-v, --version`: Server version to install (optional, default: LATEST) | All |
86
+ | **start-server** | Start a server | `-s, --server`: Server Name (required) | All |
87
+ | **stop-server** | Stop a server | `-s, --server`: Server Name (required) | All |
88
+ | **install-world** | Install a world from a .mcworld file | `-s, --server`: Server name (required) <br> `-f, --file`: Path to the .mcworld file (optional) | All |
89
+ | **install-addon** | Install an addon (.mcaddon or .mcpack) | `-s, --server`: Server name (required) <br> `-f, --file`: Path to the .mcaddon or .mcpack file (optional) | All |
90
+ | **restart-server** | Restart a server | `-s, --server`: Server name (required) | All |
91
+ | **delete-server** | Delete a server | `-s, --server`: Server name (required) | All |
92
+ | **backup-server** | Backup server files | `-s, --server`: Server name (required) <br> `-t, --type`: Backup type (required) <br> `-f, --file`: Specific file to backup (optional, for config type) <br> `--no-stop`: Don't stop the server before backup (optional, flag) | All |
93
+ | **backup-all** | Restores all newest files (world and configuration files). | `-s, --server`: Server Name (required) <br> `--no-stop`: Don't stop the server before restore (optional, flag) | All |
94
+ | **restore-server** | Restore server files from backup | `-s, --server`: Server name (required) <br> `-f, --file`: Path to the backup file (required) <br> `-t, --type`: Restore type (required) <br> `--no-stop`: Don't stop the server before restore (optional, flag) | All |
95
+ | **restore-all** | Restores all newest files (world and configuration files). | `-s, --server`: Server Name (required) <br> `--no-stop`: Don't stop the server before restore (optional, flag) | All |
96
+ | **create-service** | Enable/Disable Auto-Update, Reconfigures Systemd file on Linux | `-s, --server`: Server name (required) | All |
97
+ | **scan-players** | Scan server logs for player data | None | All |
98
+ | **monitor-usage** | Monitor server resource usage | `-s, --server`: Server name (required) | All |
99
+ | **add-players** | Manually add player:xuid to players.json | `-p, --players`: `<player1:xuid> <player2:xuid> ...` (required) | All |
100
+ | **prune-old-backups**| Prunes old backups | `-s, --server`: Server Name (required) <br> `-f, --file-name`: Specific file name to prune (optional) <br> `-k, --keep`: How many backups to keep (optional) | All |
101
+ | **manage-script-config**| Manages the script's configuration file | `-k, --key`: The configuration key to read or write. (required) <br> `-o, --operation`: read or write (required, choices: ["read", "write"]) <br> `-v, --value`: The value to write (optional, required for 'write') | All |
102
+ | **manage-server-config**| Manages individual server configuration files | `-s, --server`: Server Name (required) <br> `-k, --key`: The configuration key to read or write. (required) <br> `-o, --operation`: read or write (required, choices: ["read", "write"]) <br> `-v, --value`: The value to write (optional, required for 'write') | All |
103
+ | **get-installed-version**| Gets the installed version of a server | `-s, --server`: Server Name (required) | All |
104
+ | **check-server-status**| Checks the server status by reading server_output.txt | `-s, --server`: Server Name (required) | All |
105
+ | **get-server-status-from-config**| Gets the server status from the server's config.json | `-s, --server`: Server name (required) | All |
106
+ | **update-server-status-in-config**| Updates the server status in the server's config.json | `-s, --server`: Server name (required) | All |
107
+ | **get-world-name** | Gets the world name from the server.properties | `-s, --server`: Server name (required) | All |
108
+ | **check-internet** | Checks for internet connectivity | None | All |
109
+ | **get-service-status-from-config**| Gets the server status from the server's config.json | `-s, --server`: Server name (required) | All |
110
+ | **cleanup**| Clean up project files (cache, logs) | `-c, --cache`: Clean up __pycache__ directories <br> `-l, --logs`: Clean up log files | All |
111
+
112
+
113
+ ##### Linux-Specific Commands
114
+
115
+ | Command | Description | Arguments |
116
+ |----------------------|---------------------------------------------------|---------------------------------------------------------------------------------------------------------------|
117
+ | **systemd-start** | systemd start command (Linux only) | `-s, --server`: Server name (required) | Linux only |
118
+ | **systemd-stop** | systemd stop command (Linux only) | `-s, --server`: Server name (required) | Linux only |
119
+ | **check-service-exists**| Checks if a systemd service file exists (Linux only)| `-s, --server`: Server name (required) | Linux only |
120
+ | **enable-service** | Enables a systemd service(Linux only) | `-s, --server`: Server name (required) | Linux only |
121
+ | **disable-service** | Disables a systemd service (Linux only) | `-s, --server`: Server name (required) | Linux only |
122
+ | **send-command** | Sends a command to the server (Linux only) | `-s, --server`: Server name (required) <br> `-c, --command`: Command to send (required) | Linux only |
123
+
124
+
125
+ ###### Examples:
126
+
127
+ Open Main Menu:
128
+
129
+ ```
130
+ bedrock-server-manager main
131
+ ```
132
+
133
+ Send Command:
134
+ ```
135
+ bedrock-server-manager send-command --server server_name --command "tell @a hello"
136
+ ```
137
+
138
+ Update Server:
139
+
140
+ ```
141
+ bedrock-server-manager update-server --server server_name
142
+ ```
143
+
144
+
145
+ ### Install Content:
146
+
147
+ With bedrock-server-manager you can easily import .mcworld and .mcpack files into your server. The script will look in `./content/worlds` and `./content/addons` respectively.
148
+
149
+ For .mcworlds the script will scan the server.properties files for the `level-name` and extract the file to that folder.
150
+
151
+ For .mcpacks the script will extract them to a tmp folder and scan the manifest.json, looking for the pack type, name, version, and uuid. The script will then move the pack to it respective world folder (resource_packs, or behaviour_packs) with the name+verison used as the folder name, and the script will update the `world_behavior_packs.json` and `world_resource_packs.json` as needed with the packs uuid and version.
152
+
153
+ ### Tested on these systems:
154
+ - Debian 12 (bookworm)
155
+ - Ubuntu 24.04
156
+ - Windows 11 24H2
157
+ - WSL2
158
+
159
+ ### Platform Differences:
160
+ - Windows suppport has the following limitations such as:
161
+ - No send-command support
162
+ - No attach to console support
163
+ - Doesn't auto restart if crashed