简体中文 | English
LiteXLoader
是一个基岩版官方服务端Bedrock Delicated Server
(以下简称BDS)的脚本插件框架,提供强大的跨语言脚本插件支持能力和稳定的开发API支持。
目前,基于注入技术的C++插件开发框架LiteLoader
的使用十分广泛。它为拓展基岩版BDS的更多玩法和功能提供了坚实的基础,弥补了官方行为包系统长期以来存在的一些不足。
而为了进一步降低开发门槛,为更多开发者参与社区发展提供支持,脚本插件开发框架 LiteXLoader
呼之欲出。
使用脚本开发BDS插件具有上手容易、代码简洁、便于维护的优点。同时脚本插件不需要随着BDS版本更新而修改代码,仅需本项目在底层适配更新即可,给插件开发与维护带来了很大的便利。
作为先进的脚本插件支持引擎,LiteXLoader
支持使用多种不同的脚本语言编写插件,拥有完善的API系统、事件系统和大量的开发基础设施,为开发者提供了最大程度的便利。
“为什么我要选择LiteXLoader?”
-
跨语言插件开发支持 ⭐
-
LiteXLoader
的插件可以使用多种不同的脚本语言开发。自由选择你的最爱!
同时,保证面向各种语言的接口统一目前已支持的插件开发语言 JavaScript
,Lua
即将支持的插件开发语言 Python
,Ruby
,C#
,TypeScript
-
-
功能强大,设施完备 ⭐
- 提供众多的游戏API支持
玩家,实体,方块,物品,容器,NBT,服务器系统。。。。给你自由掌控世界的能力 - 多达五十多种游戏事件监听,让你眼观六路耳听八方
- 提供众多的游戏API支持
-
配备大量基础设施 ⭐
- 统一配置文件接口
- 统一日志接口
- 文件系统接口
- 关系型、非关系型数据库接口
- 系统调用接口
- 网络功能接口
- 脚本引擎辅助接口
- 热加载、热卸载、热重载插件
完善,严谨,成体系的面向对象api架构,符合编程逻辑的接口设计。
让你专注于业务代码实现,而非在各种琐碎的技术细节上磕磕绊绊 -
兼容性强 ⭐
- LXL支持通过Wine在Linux平台运行,给Linux平台也带来自由的插件体验
一次编写,多平台共享 - 仅依赖
LiteLoader
加载器和标准的C/C++运行时库,没有其他的额外依赖,兼容性极强 - 兼容绝大多数其他主流插件加载器(
CSR
PYR
等) - 后续版本更新时将保证 API 向后兼容,脚本插件不需要随版本更新而修改代码,一次编写,全版本适配。
- LXL支持通过Wine在Linux平台运行,给Linux平台也带来自由的插件体验
-
模块化,高性能 ⭐
- 使用C++开发,底层性能优越。借助ScriptX的高效率通用接口,让脚本插件也可以做到高效运行。
- 底层仅有一套统一的C++ API,维护和适配都比较方便,新版本适配速度快。
-
开源 & 永久免费 ⭐
- 项目采用
GPL-3.0
开源许可证,保证永远不会收费或者推出商业版。
希望社区多多贡献力量,共同维护和建设这个项目💕
- 项目采用
在安装 LiteXLoader
之前,你需要先配置好其依赖的 LiteLoader
加载器环境。
LiteLoader
是知名的BDS C++插件加载器,提供了强大的底层API支持。LXL使用其提供的接口,并进行了很多拓展。
- 点击此处 前往MineBBS下载对应版本的
LiteLoader
,按要求解压之后运行SymDB2.exe生成相关数据 - 完成上述操作,并确认成功
- 点击此处 前往MineBBS下载对应版本的
LiteXLoader
,解压 - 把全部内容复制到 BDS 的
plugins
目录中。如果复制时提示文件有冲突,选择覆盖即可。
安装完毕!接下来,你就可以安装你想要的 LXL 插件了
从版本0.3.2
开始,LXL加入了自动更新的功能。
在同一个BDS版本内,加载器的更新将 自动推送,在下一次启动服务端时 自动安装。
最新特性,第一时间获得!免去反复手动升级的麻烦
做一回真正的甩手掌柜😆
LXL插件主要发布于MineBBS,请 点击这里 前往MineBBS 查找并下载你喜欢的LXL插件
- 如果下载得到的是压缩包,请解压
- 将得到的所有内容直接放置到
plugins
目录中 - 开服
没错,就这么简单 o( ̄▽ ̄)ブ
关于具体的安装与使用指南 ,请👉移步LXL文档站👈查看
在BDS后台控制台执行
jsdebug
进入Js实时调试模式luadebug
进入Lua实时调试模式
实时调试模式下,标准输入会被当做对应类型的脚本语言执行,并实时输出结果。
如果发生错误,引擎将输出错误信息与堆栈跟踪信息。
再次输入对应的jsdebug
或luadebug
将退出实时调试模式。
不用关闭服务端,就可以对LXL装载的脚本插件进行热管理。LXL提供了下面这些后台控制台命令
lxl list
lxl load ./plugins/xxxx.js
lxl unload xxxx.lua
lxl reload xxxx.js
lxl reload
关于他们的具体介绍和相关使用方法,请👉移步 LXL 文档站👈查看
请👉移步 LXL 文档站👈查看详细的API文档和插件开发教程
如果有修订需求或者有新增API的需要,欢迎联系作者或者发布Issue
点击这里 查看更多开源的LXL插件,作为示例插件。
你可以直接在生产环境中使用它们
也可以在这里学习插件开发的方法和技巧
使用 Moxicat 开发的 LiteXLoader 开发辅助插件
帮助你更好地完成LXL插件的开发
代码提示、自动补全、自动文档、错误提醒、运行时调试。。。。
只有你想不到,没有他做不到
用过绝不后悔的顶级插件开发体验!
点击这里
查看扩展说明与介绍
VSCode扩展商店搜索LXL
,安装LXLDevHelper,即刻体验
没有编程基础?对复杂的语言规则感到厌烦?
你有没有想过,BDS插件开发可以像拼图一样容易?
看这里!pa733的 Blockly-LXL 图形化开发套件,将插件开发体验提升到了新的高度
点击这里 查看相关安装与使用说明
CJS.JS作者是callstackexceed,这个插件为在LXL下使用Js开发插件提供了大家熟知的CommonJS接口,方便Js插件的模块化设计
点击这里 前往GitHub查看使用说明,并下载使用
项目作者callstackexceed,也是MC addon NormaConstructor
的一个开发者。
NormaConstructor
是一个开源的快速建造(类WorldEdit)插件,目前运行在Scripting API和LXL上。
NC不仅需要用户,也需要开发人员。欢迎大家在 MineBBS 和 mcpedl 关注 NormaConstructor
的相关进展
前往
LiteXLoader
项目的GitHub Actions
页面获取最新的自动构建结果
当然,如果你愿意自己编译项目,也可以按照如下说明自行编译
VS项目采用多目标构建,构建的每种配置对应一种脚本语言
- Install newest Microsoft Visual Studio with standard C++ building suite
- Install the newest version of Windows SDK
- 打开 LiteXLoader 目录下的
LiteXLoader.sln
项目文件,点击 生成 菜单中的 批生成 项 - 弹出批生成对话框,选中每种语言配置对应的 x64 平台右侧的生成复选框
- 选择完毕之后,点击对话框中的 生成 按钮,进行批生成
- 编译生成成功之后,返回到项目根目录,执行根目录中的
MakeRelease.cmd
,执行完之后根目录RELEASE
文件夹内的内容即为完整的LiteXLoader
及所有的依赖库
你可以通过下面这些方法来LiteXLoader
项目出一份力
- 贡献代码,维护项目和符号
- 帮助修改和优化开发文档
- 按格式编写你想要的新API并提交PR,或者提出好的建议
- 帮助我们宣传LXL,对我们的开发给予支持
⭐⭐⭐我们欢迎你对LiteXLoader做出自己的贡献!⭐⭐⭐
如果你有意为LXL贡献代码,欢迎👉移步 LXL 文档站👈查看 项目维护与支持文档
有你们,LiteXLoader将变得更好~
在使用我们的产品的时候,我们默认您已经承认并遵守了Mojang Studios EULA协议。
这意味着你不能对本项目进行任何违反EULA的商业性使用。违反EULA协议造成的一切后果由违反者自行承担。
另外,您需要遵守本项目的GPL-3.0
开源许可证条款,以及下列提到的各关联项目的开源许可证条款
LiteLoader GPLv3 with extra restrictions&exceptions
ScriptX Apache License Version 2.0
BedrockX GPLv3 with extra restrictions&exceptions
ElementZero GPL v3
ChakraCore MIT License
OpenSSL Apache License Version 2.0
SimpleIni MIT License
Nlohmann-Json MIT License
Hash GPL v3
ThreadPool Zlib License
nbt-cpp MIT License
LightWebSocketClient MIT License
If you provides a server hosting service,you can use this framework for free, but you SHOULD NOT make PRIVATE changes to this framework as a selling point. If you fixed or tweaked the code, please pull request, instead of making it private for commercial use.
Do not do evil.
Although we expected to build an open-source community, but forcing everything open-source will ruin this community.
So you can write plugins based on LiteXLoader
with ANY open-source license or even dont publish your source code.
but if you modified the framework, or write a new framework based on this framework, you MUST open-source it.
- 开源 ScriptX 项目提供的跨语言引擎支持
- ScriptX开发者 @LanderlYoung 在开发过程中给予的很多帮助
- LiteLDev 开发组 LiteLoader 项目提供的加载服务与基础API
- LiteLuaLoader 项目 和 BDSPyRunner项目 提供的很多底层接口实现
- 感谢整个BDS开源社区对项目做出的大大小小的贡献。感谢他们! 💖💖
@yqs112358 | @wzy | @twoone-3 | @dreamguxiang | @Sysca11 | @RedbeanW | @gxh | @JasonZYT |
LiteXLoader交流群:850517473 点击加入
LiteLoader交流群:656669024 点击加入
Discord频道:#LiteLoaderBDS & LXL 点击加入
Telegram电报频道:#LiteLoader 点击加入
欢迎反馈崩溃和版本适配问题。务必准备好详细的情况描述,过于简略的提问将不予作答。
项目已接入爱发电 点击此处
Patreon Sponser Click Here
给我们不断继续下去的动力!