bedrockplus 0.1.0.dev1__py3-none-win_amd64.whl

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 (36) hide show
  1. bedrockplus/__init__.py +95 -0
  2. bedrockplus/__main__.py +4 -0
  3. bedrockplus/_assets/Initialize-BedrockPlusServer.ps1 +395 -0
  4. bedrockplus/_assets/README.md +85 -0
  5. bedrockplus/_assets/SHA256SUMS +20 -0
  6. bedrockplus/_assets/Start-BedrockPlus.ps1 +125 -0
  7. bedrockplus/_assets/THIRD_PARTY_NOTICES.md +26 -0
  8. bedrockplus/_assets/bedrockplus.exe +0 -0
  9. bedrockplus/_assets/bedrockplus_bootstrap.dll +0 -0
  10. bedrockplus/_assets/bedrockplus_plugin_host.dll +0 -0
  11. bedrockplus/_assets/bedrockplus_plugin_worker.dll +0 -0
  12. bedrockplus/_assets/bedrockplus_runtime.dll +0 -0
  13. bedrockplus/_assets/bin/bedrockplus.ps1 +192 -0
  14. bedrockplus/_assets/compatibility/bds/1.26.51.1/windows-x64.json +24 -0
  15. bedrockplus/_assets/compatibility/bds/supported-versions.json +14 -0
  16. bedrockplus/_assets/licenses/microsoft-detours-MIT.txt +23 -0
  17. bedrockplus/_assets/plugins/README.txt +11 -0
  18. bedrockplus/_assets/release-manifest.json +34 -0
  19. bedrockplus/_assets/server/README.txt +10 -0
  20. bedrockplus/_assets/tools/bppack.py +1865 -0
  21. bedrockplus/_assets/tools/init_python_plugin.py +140 -0
  22. bedrockplus/_assets/tools/pack_plugin.py +142 -0
  23. bedrockplus/_assets/tools/world_packs.py +530 -0
  24. bedrockplus/api.py +83 -0
  25. bedrockplus/cli.py +121 -0
  26. bedrockplus/commands.py +50 -0
  27. bedrockplus/events.py +138 -0
  28. bedrockplus/objects.py +413 -0
  29. bedrockplus/py.typed +1 -0
  30. bedrockplus-0.1.0.dev1.dist-info/METADATA +41 -0
  31. bedrockplus-0.1.0.dev1.dist-info/RECORD +36 -0
  32. bedrockplus-0.1.0.dev1.dist-info/WHEEL +4 -0
  33. bedrockplus-0.1.0.dev1.dist-info/entry_points.txt +2 -0
  34. bedrockplus-0.1.0.dev1.dist-info/licenses/THIRD_PARTY_NOTICES.md +26 -0
  35. bedrockplus-0.1.0.dev1.dist-info/licenses/microsoft-detours-MIT.txt +23 -0
  36. bedrockplus-0.1.0.dev1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,125 @@
1
+ [CmdletBinding()]
2
+ param(
3
+ [int]$RunForSeconds = 0,
4
+ [switch]$Plugins,
5
+ [string]$ServerRoot = '',
6
+ [string]$PluginRoot = '',
7
+ [string]$LogRoot = '',
8
+ [string]$PluginCache = ''
9
+ )
10
+
11
+ Set-StrictMode -Version Latest
12
+ $ErrorActionPreference = 'Stop'
13
+
14
+ function Set-HiddenInternalDirectory {
15
+ param([Parameter(Mandatory)][string]$Path)
16
+
17
+ New-Item -ItemType Directory -Force -Path $Path | Out-Null
18
+ $item = Get-Item -LiteralPath $Path -Force
19
+ $item.Attributes = $item.Attributes -bor [IO.FileAttributes]::Hidden
20
+ }
21
+
22
+ $packagedDistribution = Test-Path -LiteralPath (Join-Path $PSScriptRoot 'release-manifest.json') -PathType Leaf
23
+ $launcher = if ($packagedDistribution) {
24
+ Join-Path $PSScriptRoot 'bedrockplus.exe'
25
+ } else {
26
+ Join-Path $PSScriptRoot 'out\build\windows-vs2022-release\src\cli\Release\bedrockplus.exe'
27
+ }
28
+ if (-not (Test-Path -LiteralPath $launcher -PathType Leaf)) {
29
+ throw 'Build the windows-vs2022-release preset first. See docs/operations/first-launch.md.'
30
+ }
31
+
32
+ if ([string]::IsNullOrWhiteSpace($ServerRoot)) {
33
+ $ServerRoot = Join-Path $PSScriptRoot 'server'
34
+ }
35
+ $ServerRoot = [IO.Path]::GetFullPath($ServerRoot)
36
+ if (-not (Test-Path -LiteralPath (Join-Path $ServerRoot 'bedrock_server.exe') -PathType Leaf)) {
37
+ throw "The server root does not contain bedrock_server.exe: $ServerRoot"
38
+ }
39
+ if (-not (Test-Path -LiteralPath (Join-Path $ServerRoot 'server.properties') -PathType Leaf)) {
40
+ throw "The server root does not contain server.properties: $ServerRoot"
41
+ }
42
+
43
+ if ([string]::IsNullOrWhiteSpace($PluginRoot)) {
44
+ $PluginRoot = Join-Path $ServerRoot 'plugins'
45
+ }
46
+ if ([string]::IsNullOrWhiteSpace($LogRoot)) {
47
+ $LogRoot = Join-Path $ServerRoot 'logs'
48
+ }
49
+ if ([string]::IsNullOrWhiteSpace($PluginCache)) {
50
+ $PluginCache = Join-Path $ServerRoot '.bedrockplus\plugin-cache'
51
+ }
52
+ $PluginRoot = [IO.Path]::GetFullPath($PluginRoot)
53
+ $LogRoot = [IO.Path]::GetFullPath($LogRoot)
54
+ $PluginCache = [IO.Path]::GetFullPath($PluginCache)
55
+
56
+ New-Item -ItemType Directory -Force -Path $PluginRoot, $LogRoot | Out-Null
57
+ Set-HiddenInternalDirectory -Path (Join-Path $ServerRoot '.bedrockplus')
58
+ $internalPluginData = Join-Path $ServerRoot '.bedrockplus\plugin-data'
59
+ New-Item -ItemType Directory -Force -Path $internalPluginData | Out-Null
60
+ $legacyPluginData = Join-Path $ServerRoot 'plugin-data'
61
+ if (Test-Path -LiteralPath $legacyPluginData -PathType Container) {
62
+ foreach ($item in Get-ChildItem -LiteralPath $legacyPluginData -Force) {
63
+ $target = Join-Path $internalPluginData $item.Name
64
+ if (Test-Path -LiteralPath $target) {
65
+ throw "Cannot migrate legacy plugin data because '$target' already exists."
66
+ }
67
+ Move-Item -LiteralPath $item.FullName -Destination $internalPluginData
68
+ }
69
+ Remove-Item -LiteralPath $legacyPluginData -Force
70
+ }
71
+
72
+ $launchMode = if ($Plugins) { '--plugins' } else { '--bootstrap-only' }
73
+ $launchArguments = @(
74
+ 'start',
75
+ $launchMode,
76
+ '--server-root', $ServerRoot,
77
+ '--log-root', $LogRoot
78
+ )
79
+
80
+ if ($Plugins) {
81
+ $python = if (-not [string]::IsNullOrWhiteSpace($env:BEDROCKPLUS_PYTHON_EXECUTABLE)) {
82
+ [IO.Path]::GetFullPath($env:BEDROCKPLUS_PYTHON_EXECUTABLE)
83
+ } elseif ($packagedDistribution) {
84
+ (Get-Command python -CommandType Application -ErrorAction Stop).Source
85
+ } else {
86
+ Join-Path $PSScriptRoot '.tools\venvs\development\Scripts\python.exe'
87
+ }
88
+ if (-not (Test-Path -LiteralPath $python -PathType Leaf)) {
89
+ throw 'BedrockPlus requires a local Python 3.13 interpreter.'
90
+ }
91
+
92
+ $selectionJson = & $python -I -B (Join-Path $PSScriptRoot 'tools\bppack.py') sync `
93
+ $PluginRoot $PluginCache --json
94
+ if ($LASTEXITCODE -ne 0) {
95
+ throw "Plugin validation failed; BDS was not launched. $selectionJson"
96
+ }
97
+ $selection = $selectionJson | ConvertFrom-Json
98
+ $pythonHome = & $python -I -S -c 'import sys; print(sys.base_prefix)'
99
+ if ($LASTEXITCODE -ne 0 -or -not $selection.ready) {
100
+ throw 'Could not prepare plugins.'
101
+ }
102
+ if ($selection.pruned_sets -and @($selection.pruned_sets).Count -gt 0) {
103
+ Write-Host "Cleaned $(@($selection.pruned_sets).Count) inactive plugin cache set(s)."
104
+ }
105
+ $launchArguments += @('--plugin-cache', $selection.cache_path, '--python-home', $pythonHome)
106
+
107
+ $bindingJson = & $python -I -B (Join-Path $PSScriptRoot 'tools\world_packs.py') bind `
108
+ $ServerRoot $selection.cache_path --offline 2>&1
109
+ if ($LASTEXITCODE -ne 0) {
110
+ throw "Bundled-pack binding failed; BDS was not launched. $bindingJson"
111
+ }
112
+ $binding = $bindingJson | ConvertFrom-Json
113
+ if ($binding.binding_path) {
114
+ $launchArguments += @('--pack-binding', $binding.binding_path)
115
+ }
116
+ }
117
+
118
+ if ($RunForSeconds -ne 0) {
119
+ $launchArguments += @('--run-for-seconds', "$RunForSeconds")
120
+ }
121
+
122
+ & $launcher @launchArguments
123
+ if ($LASTEXITCODE -ne 0) {
124
+ throw "BedrockPlus exited with code $LASTEXITCODE. See $LogRoot."
125
+ }
@@ -0,0 +1,26 @@
1
+ # Third-party notices
2
+
3
+ ## Microsoft Detours
4
+
5
+ - Version: 4.0.1, commit `e4bfd6b03e50de46b47abfbd1e46b384f0c5f833`
6
+ - Upstream: https://github.com/microsoft/Detours
7
+ - License: MIT
8
+ - Use: statically linked into `bedrockplus_plugin_worker.dll`
9
+
10
+ The complete required MIT license text is distributed in
11
+ `licenses/microsoft-detours-MIT.txt`.
12
+
13
+ ## CPython
14
+
15
+ - Supported runtime: CPython 3.13 x64
16
+ - Upstream: https://www.python.org/ and https://github.com/python/cpython
17
+ - License: Python Software Foundation License Version 2 with CPython's
18
+ additional historical notices
19
+ - Use: supplied by the operator's Python installation and loaded by the
20
+ BedrockPlus Python plugin host
21
+
22
+ BedrockPlus does not bundle CPython in this release. If that policy changes,
23
+ the exact CPython license and component notices must be added to the release.
24
+
25
+ This file does not replace a complete license text when redistribution terms
26
+ require that text to accompany a source or binary distribution.
Binary file
@@ -0,0 +1,192 @@
1
+ [CmdletBinding()]
2
+ param(
3
+ [Parameter(Position = 0)]
4
+ [string]$Command = '',
5
+ [Parameter(Position = 1)]
6
+ [string]$Path = '.',
7
+ [Parameter(Position = 2)]
8
+ [string]$Action = '',
9
+ [Parameter(Position = 3)]
10
+ [string]$Name = '',
11
+ [string]$ServerRoot = '',
12
+ [string]$Output = '',
13
+ [int]$RunForSeconds = 0,
14
+ [switch]$CoreOnly,
15
+ [switch]$Yes,
16
+ [string]$BdsVersion = '',
17
+ [Alias('h')]
18
+ [switch]$Help,
19
+ [Alias('version')]
20
+ [switch]$ShowVersion
21
+ )
22
+
23
+ Set-StrictMode -Version Latest
24
+ $ErrorActionPreference = 'Stop'
25
+
26
+ $projectRoot = [IO.Path]::GetFullPath((Join-Path $PSScriptRoot '..'))
27
+ $packagedDistribution = Test-Path -LiteralPath (Join-Path $projectRoot 'release-manifest.json') -PathType Leaf
28
+ $startScript = Join-Path $projectRoot 'Start-BedrockPlus.ps1'
29
+ $initializeScript = Join-Path $projectRoot 'Initialize-BedrockPlusServer.ps1'
30
+ $launcher = if ($packagedDistribution) {
31
+ Join-Path $projectRoot 'bedrockplus.exe'
32
+ } else {
33
+ Join-Path $projectRoot 'out\build\windows-vs2022-release\src\cli\Release\bedrockplus.exe'
34
+ }
35
+
36
+ function Get-BedrockPlusPython {
37
+ if (-not [string]::IsNullOrWhiteSpace($env:BEDROCKPLUS_PYTHON_EXECUTABLE)) {
38
+ $candidate = [IO.Path]::GetFullPath($env:BEDROCKPLUS_PYTHON_EXECUTABLE)
39
+ } elseif ($packagedDistribution) {
40
+ $candidate = (Get-Command python -CommandType Application -ErrorAction Stop).Source
41
+ } else {
42
+ $candidate = Join-Path $projectRoot '.tools\venvs\development\Scripts\python.exe'
43
+ }
44
+ if (-not (Test-Path -LiteralPath $candidate -PathType Leaf)) {
45
+ throw 'BedrockPlus requires a local Python 3.13 interpreter.'
46
+ }
47
+ $version = & $candidate -I -S -c 'import sys; print(sys.version_info.major, sys.version_info.minor, sep=chr(46))'
48
+ if ($LASTEXITCODE -ne 0 -or $version.Trim() -ne '3.13') {
49
+ throw 'BedrockPlus requires Python 3.13.x.'
50
+ }
51
+ return $candidate
52
+ }
53
+
54
+ function Show-Help {
55
+ @'
56
+ BedrockPlus local server command
57
+
58
+ Usage:
59
+ bedrockplus Initialize here when empty, then start
60
+ bedrockplus init [-BdsVersion VERSION] [-Yes]
61
+ bedrockplus plugin python init <NAME>
62
+ bedrockplus plugin pack [PLUGIN_FOLDER] [-Output FILE]
63
+ bedrockplus start [-CoreOnly] [-RunForSeconds N]
64
+ bedrockplus list-versions
65
+ bedrockplus doctor
66
+ bedrockplus update Check the local compatible-version manifest
67
+ bedrockplus --version
68
+
69
+ The current directory is the default server root. Put plugin folders or
70
+ .bppack files in plugins\.
71
+ '@
72
+ }
73
+
74
+ if ($Help -or $Command -in @('help', '--help', '-h')) {
75
+ Show-Help
76
+ exit 0
77
+ }
78
+
79
+ if ($ShowVersion -or $Command -in @('--version', '-version')) {
80
+ if (-not (Test-Path -LiteralPath $launcher -PathType Leaf)) {
81
+ throw 'The local BedrockPlus launcher has not been built yet.'
82
+ }
83
+ & $launcher --version
84
+ exit $LASTEXITCODE
85
+ }
86
+
87
+ if ([string]::IsNullOrWhiteSpace($ServerRoot)) {
88
+ $ServerRoot = (Get-Location).Path
89
+ }
90
+ $ServerRoot = [IO.Path]::GetFullPath($ServerRoot)
91
+
92
+ try {
93
+ if ($Command -eq 'plugin') {
94
+ if ($Path -eq 'python' -and $Action -eq 'init' -and -not [string]::IsNullOrWhiteSpace($Name)) {
95
+ $python = Get-BedrockPlusPython
96
+ $initializer = Join-Path $projectRoot 'tools\init_python_plugin.py'
97
+ if (-not (Test-Path -LiteralPath $python -PathType Leaf)) {
98
+ throw 'BedrockPlus plugin Python is missing. Bootstrap the project-local tools first.'
99
+ }
100
+ & $python -I -B $initializer $Name --parent (Get-Location).Path
101
+ exit $LASTEXITCODE
102
+ }
103
+
104
+ if ($Path -eq 'pack' -and [string]::IsNullOrWhiteSpace($Name)) {
105
+ $python = Get-BedrockPlusPython
106
+ $packer = Join-Path $projectRoot 'tools\pack_plugin.py'
107
+ if (-not (Test-Path -LiteralPath $python -PathType Leaf)) {
108
+ throw 'BedrockPlus plugin packaging Python is missing. Bootstrap the project-local tools first.'
109
+ }
110
+ $pluginFolder = if ([string]::IsNullOrWhiteSpace($Action)) { '.' } else { $Action }
111
+ $packArguments = @('-I', '-B', $packer, $pluginFolder)
112
+ if (-not [string]::IsNullOrWhiteSpace($Output)) {
113
+ $packArguments += @('--output', $Output)
114
+ }
115
+ & $python @packArguments
116
+ exit $LASTEXITCODE
117
+ }
118
+
119
+ throw "Usage:`n bedrockplus plugin python init <NAME>`n bedrockplus plugin pack [PLUGIN_FOLDER] [-Output FILE]"
120
+ }
121
+
122
+ if ($Command -eq 'pack') {
123
+ throw "Plugin packaging is a plugin command. Use: bedrockplus plugin pack [PLUGIN_FOLDER]"
124
+ }
125
+
126
+ if ($Command -eq 'list-versions') {
127
+ & $initializeScript -ListVersions
128
+ exit 0
129
+ }
130
+
131
+ if ($Command -eq 'init') {
132
+ & $initializeScript -DestinationRoot $ServerRoot -BdsVersion $BdsVersion -Yes:$Yes
133
+ exit 0
134
+ }
135
+
136
+ if ($Command -eq 'doctor') {
137
+ if (-not (Test-Path -LiteralPath $launcher -PathType Leaf)) {
138
+ throw 'The local BedrockPlus launcher has not been built yet.'
139
+ }
140
+ & $launcher doctor --server-root $ServerRoot --log-root (Join-Path $ServerRoot 'logs')
141
+ exit $LASTEXITCODE
142
+ }
143
+
144
+ if ($Command -eq 'update') {
145
+ $instancePath = Join-Path $ServerRoot 'bedrockplus.instance.json'
146
+ if (-not (Test-Path -LiteralPath $instancePath -PathType Leaf)) {
147
+ throw "No initialized BedrockPlus instance exists in '$ServerRoot'."
148
+ }
149
+ $instance = Get-Content -LiteralPath $instancePath -Raw | ConvertFrom-Json
150
+ $manifestPath = Join-Path $projectRoot 'compatibility\bds\supported-versions.json'
151
+ $manifest = Get-Content -LiteralPath $manifestPath -Raw | ConvertFrom-Json
152
+ $installed = [string]$instance.bds_version
153
+ $supported = @($manifest.versions | Where-Object { $_.version -eq $installed })
154
+ if ($supported.Count -ne 1) {
155
+ throw "Installed BDS $installed is not supported by this BedrockPlus build."
156
+ }
157
+ if ($installed -eq [string]$manifest.default_version) {
158
+ Write-Host "BDS $installed is the current compatible version for this local BedrockPlus build."
159
+ } else {
160
+ Write-Host "Compatible BDS $($manifest.default_version) is available. Automatic in-place replacement remains locked until world-safe rollback is implemented."
161
+ }
162
+ Write-Host 'BedrockPlus product updates are local-build-only until a signed public release feed exists.'
163
+ exit 0
164
+ }
165
+
166
+ if ($Command -notin @('', 'start')) {
167
+ throw "Unknown BedrockPlus command '$Command'. Run 'bedrockplus help'."
168
+ }
169
+
170
+ if (-not (Test-Path -LiteralPath (Join-Path $ServerRoot 'bedrock_server.exe') -PathType Leaf)) {
171
+ if ($Command -eq 'start') {
172
+ throw "No BedrockPlus server exists in '$ServerRoot'. Run 'bedrockplus init'."
173
+ }
174
+ & $initializeScript -DestinationRoot $ServerRoot -BdsVersion $BdsVersion -Yes:$Yes
175
+ }
176
+
177
+ & $startScript `
178
+ -ServerRoot $ServerRoot `
179
+ -RunForSeconds $RunForSeconds `
180
+ -Plugins:(-not $CoreOnly)
181
+ exit $LASTEXITCODE
182
+ } catch {
183
+ $message = $_.Exception.Message
184
+ if ($message -like 'DestinationRoot must be empty except for the managed Downloads cache*') {
185
+ Write-Warning "BedrockPlus cannot initialize the current folder because it already contains files."
186
+ Write-Host "Create or open an empty folder, then run 'bedrockplus' again."
187
+ Write-Host "Your existing files were not changed: $ServerRoot"
188
+ exit 2
189
+ }
190
+ Write-Warning "BedrockPlus could not continue: $message"
191
+ exit 1
192
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "schema_version": 1,
3
+ "bedrock_dedicated_server": {
4
+ "version": "1.26.51.1",
5
+ "channel": "stable",
6
+ "platform": "windows-x64",
7
+ "executable": "bedrock_server.exe",
8
+ "size_bytes": 223222096,
9
+ "sha256": "76d547f82e02c18d0986c30b47132c9cc4171d0f2df1c00649e50ff35788b321",
10
+ "pe_identity": {
11
+ "machine": 34404,
12
+ "timestamp": 1789165875,
13
+ "preferred_image_base": 5368709120,
14
+ "image_size": 225673216,
15
+ "entrypoint_rva": 173646512,
16
+ "checksum": 223271493
17
+ }
18
+ },
19
+ "bedrockplus": {
20
+ "support_state": "preview",
21
+ "plugin_api_version": 1,
22
+ "notes": "Exact BDS build supported by this BedrockPlus preview."
23
+ }
24
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "format_version": 1,
3
+ "default_version": "1.26.51.1",
4
+ "versions": [
5
+ {
6
+ "version": "1.26.51.1",
7
+ "channel": "stable",
8
+ "platform": "windows-x64",
9
+ "download_url": "https://www.minecraft.net/bedrockdedicatedserver/bin-win/bedrock-server-1.26.51.1.zip",
10
+ "archive_sha256": "a1c1ebefde3036223234179f7c1eab4b445b4727f0482a0554818c9bcaf8e4a5",
11
+ "compatibility_profile": "1.26.51.1/windows-x64.json"
12
+ }
13
+ ]
14
+ }
@@ -0,0 +1,23 @@
1
+ Copyright (c) Microsoft Corporation
2
+
3
+ All rights reserved.
4
+
5
+ MIT License
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
8
+ this software and associated documentation files (the "Software"), to deal in
9
+ the Software without restriction, including without limitation the rights to
10
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
11
+ of the Software, and to permit persons to whom the Software is furnished to do
12
+ so, subject to the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be included in all
15
+ copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ SOFTWARE.
@@ -0,0 +1,11 @@
1
+ BedrockPlus plugin inbox
2
+
3
+ Place a validated .bppack file or one unpacked plugin folder in this directory,
4
+ then start BedrockPlus. Do not install both forms of the same plugin ID at once.
5
+
6
+ Python plugins require 64-bit Python 3.13. Their declared third-party packages
7
+ must be prepared inside the .bppack with `bedrockplus plugin pack`; BedrockPlus
8
+ does not modify global Python packages while starting the server.
9
+
10
+ Installed package contents and private plugin data are maintained under the
11
+ server's hidden .bedrockplus directory. Do not edit those internal files.
@@ -0,0 +1,34 @@
1
+ {
2
+ "schema_version": 1,
3
+ "product": "BedrockPlus",
4
+ "version": "0.1.0-dev.1",
5
+ "platform": "windows-x64",
6
+ "configuration": "Release",
7
+ "target_bds": {
8
+ "version": "1.26.51.1",
9
+ "size_bytes": 223222096,
10
+ "sha256": "76d547f82e02c18d0986c30b47132c9cc4171d0f2df1c00649e50ff35788b321",
11
+ "bundled": false
12
+ },
13
+ "files": [
14
+ {"path": "Initialize-BedrockPlusServer.ps1", "role": "server-initializer", "size_bytes": 16938, "sha256": "21b26e40e80158a29915435597c1e5cd507ffa505203a48f27f548212e2cf477"},
15
+ {"path": "README.md", "role": "documentation", "size_bytes": 3353, "sha256": "337a506531315df1960cd422bf5ba6242e6d56349d52c6d03d7764f7f58487ae"},
16
+ {"path": "Start-BedrockPlus.ps1", "role": "server-launcher", "size_bytes": 4918, "sha256": "30d710f7a7a008bf95d051d59514f7b15e737f27ca15a9a053f08b7fcd6f2091"},
17
+ {"path": "THIRD_PARTY_NOTICES.md", "role": "notices", "size_bytes": 966, "sha256": "30cc67398bd5edf60256d54cad96abac79c35d8fb1dbbefaf1148c6cd2297f7f"},
18
+ {"path": "bedrockplus.exe", "role": "launcher", "size_bytes": 619520, "sha256": "f77ce2bfa371e75a8f3429c4468ea29dae634e8a57a820c695df579ecbcb16d8"},
19
+ {"path": "bedrockplus_bootstrap.dll", "role": "bootstrap", "size_bytes": 139264, "sha256": "66c97116e32d1aa903eff8ea84794d52f87e9f29eb9e54c2d9526c533174a314"},
20
+ {"path": "bedrockplus_plugin_host.dll", "role": "plugin-host", "size_bytes": 198656, "sha256": "54a7cd58f4ec4ade088c1d441e304d16d6ea9fad0ae7844b12d20efb219164c7"},
21
+ {"path": "bedrockplus_plugin_worker.dll", "role": "plugin-worker", "size_bytes": 1275392, "sha256": "85bf9440f7b831348d69415ec34a744303104e7a6c201f582e36b83cafa1b8f8"},
22
+ {"path": "bedrockplus_runtime.dll", "role": "runtime", "size_bytes": 141824, "sha256": "54dec12091e8189cbe1c4b2a229732dfe733a9f7903f3659f73c9af8b0dc9d63"},
23
+ {"path": "bin/bedrockplus.ps1", "role": "command-wrapper", "size_bytes": 7585, "sha256": "526f5d583a52bd0401453652e18e972674e36e59af504958648a62d3560112b8"},
24
+ {"path": "compatibility/bds/1.26.51.1/windows-x64.json", "role": "compatibility-profile", "size_bytes": 671, "sha256": "cd2116d1469e669219278c682aa04ae13316229c7f81c404b87b397286f96ae1"},
25
+ {"path": "compatibility/bds/supported-versions.json", "role": "supported-bds-versions", "size_bytes": 446, "sha256": "a4de32d6b8a41436df3f8e80a510f78219c64dc45fdbe0e0bd7122e0e927d274"},
26
+ {"path": "licenses/microsoft-detours-MIT.txt", "role": "third-party-license", "size_bytes": 1095, "sha256": "16e3c9cdb4fa14a8627bc4b5ef0237773a79c3ad1d012c288f37e29573e116cc"},
27
+ {"path": "plugins/README.txt", "role": "plugin-directory-instructions", "size_bytes": 564, "sha256": "9b4d42a12794e6c0df73785ccd2e5f97c784c3c419f9ad2d503ce5f3506064b6"},
28
+ {"path": "server/README.txt", "role": "server-directory-instructions", "size_bytes": 538, "sha256": "37f068a582e198da3632dbf78a07cfd2271472beddc4f9dce6c3b818410a76eb"},
29
+ {"path": "tools/bppack.py", "role": "plugin-package-engine", "size_bytes": 82264, "sha256": "e8b893d568602ae09814a08156e59bad060b7d797b59f7966eee6a229ea5f38f"},
30
+ {"path": "tools/init_python_plugin.py", "role": "plugin-project-initializer", "size_bytes": 4293, "sha256": "9f0eee45ef8d73c2d2ede002b2245892270fc9d70b8359bf2bedee136abf3f63"},
31
+ {"path": "tools/pack_plugin.py", "role": "plugin-package-command", "size_bytes": 5193, "sha256": "db4fdf82921e39763f6a024bdf9d27fa0eea92edf3cf6946377c832635b8712b"},
32
+ {"path": "tools/world_packs.py", "role": "world-pack-installer", "size_bytes": 27312, "sha256": "c0508000cb545ed1735032609729eeb99ea64a89ac4dc2fc7380a8bc349c9cfb"}
33
+ ]
34
+ }
@@ -0,0 +1,10 @@
1
+ This directory contains one BedrockPlus server instance.
2
+
3
+ BedrockPlus does not redistribute Minecraft Bedrock Dedicated Server. Use the
4
+ bedrockplus command in an empty server directory to download the supported BDS
5
+ version from the official source, verify it, retain its ZIP under Downloads,
6
+ and create the complete server layout.
7
+
8
+ Place folder plugins or .bppack files in plugins, then run bedrockplus from the
9
+ server directory. Type stop for graceful shutdown. BedrockPlus 0.1.0-dev.1 was
10
+ created by Turkmen and supports BDS 1.26.51.1.