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.
- bedrock_server_manager-3.0.0/LICENSE +21 -0
- bedrock_server_manager-3.0.0/PKG-INFO +184 -0
- bedrock_server_manager-3.0.0/README.md +163 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/__init__.py +516 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/cleanup.py +58 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/cli.py +3214 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/config/__init__.py +1 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/config/settings.py +141 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/core/__init__.py +7 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/core/download/__init__.py +1 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/core/download/downloader.py +363 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/core/error.py +174 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/core/logging.py +60 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/core/player/__init__.py +1 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/core/player/player.py +118 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/core/server/__init__.py +1 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/core/server/addon.py +436 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/core/server/backup.py +348 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/core/server/server.py +1032 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/core/server/world.py +135 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/core/system/__init__.py +1 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/core/system/base.py +435 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/core/system/linux.py +760 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/core/system/windows.py +653 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/utils/__init__.py +1 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/utils/general.py +68 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager/utils/package_finder.py +82 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager.egg-info/PKG-INFO +184 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager.egg-info/SOURCES.txt +33 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager.egg-info/dependency_links.txt +1 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager.egg-info/entry_points.txt +2 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager.egg-info/requires.txt +3 -0
- bedrock_server_manager-3.0.0/bedrock_server_manager.egg-info/top_level.txt +1 -0
- bedrock_server_manager-3.0.0/pyproject.toml +39 -0
- 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
|