Auxiliary scripts used for modding BDS for generating protocol data
LGPL-3.0 License
This developer kit allows you to quickly and easily start modding the Bedrock Dedicated Server.
It's used for dumping information for protocol updates for PocketMine-MP, but the tools provided here can be used for much more than that.
The following mods are included as git submodules:
python3
pip
clang
libc++-dev
libc++abi-dev
python3 -m pip install lief~=0.14.0
(note: lief >=0.15.0 is currently NOT supported)python3 -m pip install frida frida-tools
git submodule update --init
./scripts/setup path/to/bds/server/files
or ./scripts/setup path/to/bds.zip
./start.sh
to run the server with mods loadedRun ./helper.sh help
to get more usage info.
File name | Description |
---|---|
export-symbols.py |
Uses LIEF to patch BDS and make the symbols linkable |
helper.sh |
Helper script based on modloader-helper |
start.sh |
Runs the server with mods loaded. From modloader-helper |
tracer.py |
Uses Frida to hook packet functions in BDS and create packet traces. Run this while you have a BDS instance already running. Requires sudo . |
Mod code is placed in the code
directory. Build them by invoking ./scripts/build all
.
To generate skeleton files for a new mod, use the tool ./scripts/gen
.
tracer.py
(gist)export-symbols.py
tracer.py
which are still used today