- 查看: 27K
- 回复: 46
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圈的发展做出了不朽的贡献。感谢他们对社区发展做出的积极贡献!
最后由版主编辑于: