• 【MineBBS社区发展意见征集】

    欢迎参与MineBBS社区调查,助力打造更好Minecraft社区!完成问卷可获赠200金粒,优质回答可额外获得200金粒(限5名),快来参与吧!【点击参与】

导航 【入门必读】BDS 插件开发 介绍与整理

1. 简介:什么是BDS插件

Bedrock Delicated Server(下称BDS)作为Mojang官方推出的全特性基岩版服务器,在世界范围内得到了广泛的欢迎和使用。和Java版类似,为了扩展原版服务端,使其具备一些原版所无法做到的能力,BDS插件开始逐渐得到发展。

2. 介绍:插件开发

BDS插件在底层使用C/C++语言,将插件通过系统机制注入到BDS服务端进程中,并通过对某些特定函数的 Hook 来实现对游戏的修改和自定义。

由于使用到的机制相对复杂,基础的BDS插件开发难度相对较大。
因此,有许多优秀的 C++ 开发框架涌现而生。他们都或多或少地对一些常用的BDS开发接口进行了封装,给开发者们开发插件提供了便利,也使得插件开发完成后后续的维护城本大为降低。这些开发框架,我们统称为“插件加载器”。

继 C++ 之后,又有许多开发者在底层接口之上开发了“脚本插件加载器”,让开发者们可以使用自己熟悉的脚本语言(js,python,lua等)为BDS编写插件。他们的到来,进一步降低了插件开发门槛。


3. 圈子现状

现在,这个圈子正处于蓬勃发展,百花齐放的阶段。

如今,如果有兴趣为BDS开发插件,你有多种选择:你既可以使用现有加载器提供的接口进行脚本插件的开发;也可以针对特定的特殊功能自己编写底层BDS插件,自行通过 Hook 操作BDS内部的函数和机制;甚至,你可以编写自己的加载器,完成从零起步构筑整座大厦的梦想。





=== 名词解释 ===

目前,BDS插件系统主要大概可以分为四个层级:底层、第一层、第二层和应用层。每个层级都有自己对应的任务,对下使用接口,对上提供服务。简单做一下名词解释:

1. 底层:【Bedrock Delicated Server】
官方BDS服务器程序(核心)。一切游戏内容的核心,插件正是通过修改核心的部分功能来达到自己的目的。

2. 第一层:【底层加载器】
依赖底层的BDS服务器核心,为插件平台提供“挂钩”注入服务。不同注入器平台互不兼容。
可以把他们类比于插件框架的启动器。目前,这一层已经基本不再单独存在,而是由LiteLoaderBDS插件框架使用的一个组件PreLoader实现。具体技术细节不必深究,了解即可。

3. 第二层:【插件框架】
被第一层的加载器加载到BDS中,为插件开发提供与底层交互的接口和代码执行环境
可以把他们类比于Java插件界的Forge、Fabric等框架。
目前,使用最为广泛的为 LiteLoaderBDS C++插件框架,以及同属于同一项目的 LiteLoader ScriptEngine 脚本插件框架 以及 LiteLoader.NET 托管插件框架。他们构成了如今BDS插件最重要的支撑体系。

4. 应用层:【插件】
依赖于第二层的插件平台,是实现具体功能的Mod。如行为日志插件、反作弊插件、黑名单插件等等。腐竹们平时从平台下载安装的各种插件就属于这一层的产物。





=== LiteLoaderBDS 插件框架 ===

LiteLoaderBDS 是目前使用最为广泛的、由社区积极开发维护的 Minecraft 服务端插件加载器,为基岩版专用服务器—— Bedrock Dedicated Server 提供插件开发支持 和 插件加载服务,弥补了官方行为包开发接口长期以来存在的一些不足。

LL 提供了海量的API、强大的事件系统以及大量封装的开发基础设施接口,为拓展基岩版BDS 的更多玩法和功能提供了坚实的基础。通过插件,可以很容易地拓展BDS的功能,相关开发易于学习,且开发方式比较灵活。

项目支持使用 C++、JavaScript、Lua、C# 等各种语言编写插件。同时,插件不需要随着BDS 版本更新而不断修改代码,仅需本项目在底层适配更新即可,给插件开发与维护带来了很大的便利。

项目的 MineBBS 主页详见:https://www.minebbs.com/liteloader/
项目的 GitHub 主页详见:https://github.com/LiteLDev/LiteLoaderBDS
项目的文档站详见:
https://docs.litebds.com/

⭐我们希望听到你的反馈和贡献⭐



=== 光荣退休榜 ===
- BedrockX
- 梦故(DT)
- BDS.NetRunner(CSR)
- BDL
- BDXCS
- BDXGLang
- BDSJSRunner(老JSR)
- IronPythonRunner
- IronLuaLoader
- NetLuaRunner
- BDSJavaRunner
- LuaLoadCore
- LiteLuaLoader
- ElementZero
- NetJsRunner
- IronLuaRunner


在漫长的历史过程中,这些曾经历史上名扬一时的加载器为BDS圈的发展做出了不朽的贡献。感谢他们对社区发展做出的积极贡献!

 
最后由版主编辑于:
emm…严格来说BDX和EZ不能只算是注入器,他们已经是一个完整的mod框架了
噢对啊。。。已修改
 
最后编辑:
已更新 :花花: 蟹各位开发大佬们的辛苦努力
 
已更新 :喝水水: 最近好多新框架井喷
 
好像还有个国内不出名的“BDSX”,一个外国作者开发的,GitHub上应该有
 
好像还有个国内不出名的“BDSX”,一个外国作者开发的,GitHub上应该有
emm不太常见的就暂时放在尚未加入名单里头啦:看戏:毕竟相关信息不多
蟹提醒!
 

在线管理成员

在线会员

  • 我来诠释手法
  • 在 等等
  • Astra
  • all3842
  • MoLanMC
  • bzdqsm114514
  • 19176620947
  • mame32p
  • sban
  • 3302573767
  • Yiran233
  • 312075394
  • EnTIv
  • Kalowr
  • 小天天
  • huangems
  • 一条大咸鱼
  • Cu_huang
  • sssjiu
  • LXYyyyy
  • Angel_group
  • DY333
...和 30 更多。
后退
顶部 底部