BDS指Bedrock Dedicated Server(基岩专用服务器),是Minecraft基岩版的官方服务端软件
BDS的首个版本是1.6.1.0,在此版本以前基岩版是没有官方服务端的,基岩版的服主主要通过第三方服务端软件(如PocketMine-MP, Nukkit)
BDS的前身
在BDS发布之前,有开发者通过Minecraft Android x86版的库文件(.so)挖掘出了客户端内置的服务端,并使其可以在Linux服务器上运行,并封装了插件API
MCMrARM的项目,让Android版Minecraft运行在Linux发行版上: https://github.com/MCMrARM/mcpelauncher-linux
CodeHZ的内置服务端启动器: https://github.com/codehz/mcpeserver
CodeHZ为内置服务端封装的插件API: https://github.com/codehz/StoneServer
BDS正式发布及其插件加载器历史
BDS第一个公开版本于2018年9月17日随基岩版1.6.1.0一同发布
bdlauncher
2019年2月2日,Sysca11创建了bdlauncher项目,bdlauncher是BDS Ubuntu版的插件加载器,提供了通过BDS的符号信息生成的头文件和自行封装的API,附带了插件(如领地、经济、传送),最后一次提交于2020年3月11日
Player的插件开发方案&nanolauncher
Player的插件开发方案,该插件开发方案为BDS Windows版开发,通过其提供的工具导出bedrock_server.pdb
内的符号及函数地址到头文件来实现调用BDS内部函数
nanolauncher是BDS Windows版的插件注入器,用于注入使用Player的插件开发方案开发的插件
ElementZero
ElementZero是CodeHZ开发的基于BDS Windows版的插件加载器,通过修改bedrock_server.exe导出表的方式做到了无需SymCall直接调用BDS内部函数,附带了的BDS头文件,为BDS Windows版提供了便捷的插件开发方案,于2020年2月9日首次提交,后来因导出表限制而停止维护,最后一次提交于2020年8月25日
bdlauncher的停更,BedrockX的首个版本
由于BDS Ubuntu版在编译时没有开优化,导致其效率相比Windows版更加低下,bdlauncher的开发者Sysca11曾尝试过重写地图生成器以缓解BDS Ubuntu版的效率问题,此举虽然带来了性能的提升,但BDS Windows版的压倒性优势使其不得不转向BDS Windows版的插件开发
2020年2月25日,BedrockX于Github上首次提交,BedrockX相对于传统的插件开发方案,通过SymDB(用于存储BDS符号信息的数据库)实现了一个插件兼容多个小版本,在BDS没有大改动前无需重新编译插件,最后一次提交于2020年4月25日
BDXCore
BDXCore是BedrockX的轻量化版本,仅提供了SymDB和必须的头文件,没有内置封装的API与BDS头文件,不需要任何维护就可以与最新版本的BDS搭配使用(由于mojang在BDS 1.18.30移除了Chakra,BDXCore已无法在此版本被自动注入)
LiteLoaderBDS
LiteLoaderBDS是基于BedrockX的插件加载器,由LiteLDev维护,首个Release发布于2021年1月28日,使用了SymDB2(Notice: 从2.2.0开始LL已经具备直接从pdb文件读取符号地址的能力),相对于SymDB符号查找速度大幅度提升,与BedrockX一样提供了BDS头文件(从2.0.0开始LL提供BDS的所有头文件)和封装的API,内置了BDS漏洞的修复补丁,处于积极维护状态中,是目前最流行的BDS插件加载器