BDSX is a modification of Minecraft Bedrock Dedicated Server, supporting node.js. Because it is based on the offical BDS software, it includes all the features of vanilla Minecraft, but includes other features as well, such as hooking functions and packets to change behavior.
- OS: Windows(Recommended), Linux with Wine(Unstable)
- All Minecraft BDS features
- All node.js features (*that are supported by ChakraCore. See this page for more information)
- Debug with Visual Studio Code (You can debug plugins too)
- Intercept network packets
- Custom Commands
- Low-level hooking and DLL Call
- Get IP Address & XUID (Example below)
import { events } from "bdsx/event";
import { MinecraftPacketIds } from 'bdsx/bds/packetids';
events.packetAfter(MinecraftPacketIds.Login).on((ptr, networkIdentifier, packetId)=>{
const ip = networkIdentifier.getAddress();
if (ptr.connreq === null) return; // Wrong client version
const cert = ptr.connreq.getCertificate();
const xuid = cert.getXuid();
const username = cert.getId();
console.log(`Connection: ${username}> IP=${ip}, XUID=${xuid}`);
});
- Requirements
- Recommended
To download, clone the repo:
git clone https://github.com/bdsx/bdsx.git
When starting BDSX with VSCode, you need to
- Open the project with VSCode
- Install the legacy debugger. the suggestion dialog will be opened up on the right bottom corner.
- Open a terminal (Ctrl+Shift+`)
- Run
npm i
to install npm packages and BDS - Press
F5
to build and run in VSCode
Run bdsx.bat
(or bdsx.sh
on Linux) to start BDSX
- Open a terminal to the bdsx folder
- Run
npm i
to install npm packages and BDS - Use
tsc
to compile the typescript and usebedrock_server.exe ..
in thebedrock_server
directory. If on Linux, usewine bedrock_server.exe ..
instead.
[bdsx project]
├ [bdsx] # Core Library
├ [example_and_test] # Examples for using the BDSX API and tests of the BDSX API
├ [bedrock_server] # BDS installation
├ launcher.ts # Script for launching BDS
├ index.ts # Main entry point. This file is required by the launcher when BDS is fully started.
├ bdsx.sh # Executable for Linux
└ bdsx.bat # Executable for Windows
Please start your own code from ./index.ts
By default index.ts imports example_and_test. To disable the examples simply remove the import or replace it with your own code.
For examples, see the
example_and_test
folder. There are some plugins available on npm in the @bdsx organization as well.
Please check plugin-example/README.md
.
https://github.com/bdsx/bdsx/discussions
https://github.com/bdsx/bdsx/wiki
https://easyminecrafthosting.com/ (Latin America)
https://hub.docker.com/r/karikera/bdsx