小 (→版本历史) |
(完善部分内容) |
||
(未显示2个用户的3个中间版本) | |||
第7行: | 第7行: | ||
* 动态符号查找:实现了自动适配[[Bedrock Dedicated Server]]的小版本更新而无需重新编译插件,换句话说,只要[[Mojang]]没有大量删改函数,那么部分插件即使不更新也能实现插件在新版本的Bedrock Dedicated Server上运行 | * 动态符号查找:实现了自动适配[[Bedrock Dedicated Server]]的小版本更新而无需重新编译插件,换句话说,只要[[Mojang]]没有大量删改函数,那么部分插件即使不更新也能实现插件在新版本的Bedrock Dedicated Server上运行 | ||
* 完善的Api:LiteLoader内置相对完善的Api,内置的Bedrock Dedicated Server中的常用Api,使开发者无需手动在IDA内寻找函数就能编写简单的插件,减轻了插件开发者的时间花费 | * 完善的Api:LiteLoader内置相对完善的Api,内置的Bedrock Dedicated Server中的常用Api,使开发者无需手动在IDA内寻找函数就能编写简单的插件,减轻了插件开发者的时间花费 | ||
* 强大的社区:有大量来自社区的插件,涵盖大部分实用功能 | |||
<big>快捷导航</big> | |||
官网: https://www.litebds.com/ | |||
文档: https://docs.litebds.com/zh-Hans/ | |||
minebbs发布贴: https://www.minebbs.com/liteloader/ | |||
GitHub: https://github.com/LiteLDev/LiteLoaderBDS | |||
== 实现原理 == | == 实现原理 == | ||
第14行: | 第24行: | ||
LiteLoader使用了[https://github.com/Sysca11 Sysca11]为[[BedrockX]]编写的动态符号数据库,实现了对pdb文件内符号的解析 | LiteLoader使用了[https://github.com/Sysca11 Sysca11]为[[BedrockX]]编写的动态符号数据库,实现了对pdb文件内符号的解析 | ||
== 版本历史 == | == 版本历史<ref>https://www.minebbs.com/liteloader/updates</ref> == | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
第22行: | 第32行: | ||
!适配的BDS版本 | !适配的BDS版本 | ||
|- | |- | ||
!2. | !2.7.0 | ||
!2022/ | !2022/9/25 | ||
! | ! | ||
=== LiteLoader Release Note === | |||
* | 适配BDS-1.19.30 | 协议版本 554 | ||
* | |||
* | === Bug Fixes === | ||
* | * 修复LLSE中的ParticleSpawner bugs (#780) @OEOTYAN | ||
* | * 修复在玩家加入服务器时客户端卡顿的问题 (#825) @dreamguxiang | ||
** | * 修复在玩家加入服务器时服务端崩溃的问题 (#825,#827,#828,#829,#832) @dreamguxiang | ||
* 修复PlayerInfo玩家改名后的历史遗留问题 @ShrBox | |||
* | * 修复PlayerClass::getScore错误 (#791) @Redbeanw44602 | ||
** | |||
* | === New Features === | ||
** | |||
!1.19. | * 支持BDS 1.19.30 (#819) @dreamguxiang | ||
* 为LLSE添加setScale API (#762) @shishkevichd | |||
* 添加PlayerUseBucket事件 (#746) @quizhizhe | |||
* 为LLSE添加ItemAPI::setDisplayName API (#766) @shishkevichd | |||
* 为LLSE添加DeviceAPI::getInputMode API (#772) @shishkevichd | |||
* 为LLSE添加distanceToPos API在PlayerAPI & EntityAPI中 (#775) @shishkevichd | |||
* 添加PlayerOpenInventory事件 (#767) @Jasonzyt | |||
* 添加LL settings指令 @RimuruChan | |||
* 添加PlayerSwingEvent (#797) @OEOTYAN | |||
* 为LLSE添加stopFire API在PlayerAPI & EntityAPI中 (#801) @shishkevichd | |||
* 为LLSE的BlockAPI添加更多属性 (#816) @shishkevichd | |||
* 为LLSE的layerAPI和EntityAPI添加更多属性 (#837) @shishkevichd | |||
* mc.getPlayer()支持通过UniqueID获取玩家 @Redbeanw44602 | |||
* 在LLSE中添加player.setTitle() @Redbeanw44602 | |||
* 添加API trans-money和money-history @Redbeanw44602 | |||
=== APIs / ABIs重大更改列表(为开发者) === | |||
请注意,标记为已弃用的 API 将在接下来的几个版本中删除。 | |||
{| class="wikitable" | |||
!位置 | |||
!更改 | |||
!描述 | |||
|- | |||
|''llapi/LLAPI.h'' | |||
|All item with namespace LL. | |||
|Move to namespace ll. You should recompile your plugin with latest SDK as soon as possible due to the removal of deprecated API and ABI in the future. | |||
|- | |||
|''llapi/mc/'' | |||
|All enum defined in ''llapi/mc'' | |||
|Use enum class instead of enum. You should recompile your plugin with latest SDK as soon as possible due to the removal of deprecated API. | |||
|} | |||
** | |||
!1.19.30 | |||
|- | |- | ||
!2.2.7 | !2.2.7 | ||
! | !2022/6/9 | ||
![改变] | ![改变] | ||
* 移除 MCVAPI | * 移除 MCVAPI | ||
第57行: | 第99行: | ||
** LLMoney 指令崩服 | ** LLMoney 指令崩服 | ||
!1.18.33 | !1.18.33 | ||
|- | |||
!2.2.6 | |||
!2022/6/7 | |||
!'''[改变]''' | |||
* 忽略PlayerDB中的模拟玩家 | |||
* 更改BossBar API,#416 | |||
* 当LLSE加载脚本内容时设置文件名 | |||
** 友好的错误输出 | |||
* 显示插件版本在Event和Schedule错误中 | |||
* 当LLSE中出现错误,现在会输出脚本栈和插件信息,#430 | |||
* 删除了一个不稳定的BUG修复 | |||
'''[新内容]''' | |||
* 添加自动初始化dlsym函数API在cpp20上 | |||
* 添加CompoundTag APIs | |||
** CompoundTag::nbtListToBinary | |||
** CompoundTag::nbtListFromBinary | |||
** CompoundTag::nbtListFromNetwork | |||
** CompoundTag::nbtListToNetwork | |||
* 添加 BoundingBox APIs | |||
** BoundingBox::forEachBlockInBox | |||
** BoundingBox::mergeBoundingBox | |||
* 增加BlockPos和Vec3中的API | |||
* 增加远程调用API的无效返回类型的支持 | |||
* 增加LLSE APIs | |||
** pl.langCode property | |||
** en.getBlockFromViewVector | |||
** en.getEntityFromViewVector | |||
** pl.getBlockFromViewVector | |||
** pl.getEntityFromViewVector | |||
** sp.simulateWorldMove | |||
** sp.simulateMoveTo | |||
* 现在可以通过dlsym或MCVAPI调用虚函数 | |||
* 更新LibraryBuilder | |||
'''[BUG修复]''' | |||
* BDS bugs | |||
** 异常移动时崩溃的错误 | |||
** 钓鱼钩在折跃门时传送造成的崩溃 | |||
** 服务器关闭时造成的概率性崩溃#428 | |||
* LL bugs | |||
** 处理LoadLibrary错误 | |||
** 当目录"./plugins "不存在时造成PreLoader崩溃 | |||
** CompoundTag::fromNetworkNBT | |||
** PlayerLeftEvent包含模拟玩家离开 | |||
** 模拟玩家的PlayerAPI | |||
* DB bugs | |||
** DB::MyStmt::bind 的bug | |||
** DB::MyStmt复制数据的bug | |||
* LLSE bugs | |||
** mc.spwnSimulatedPlayer的位置错误问题 | |||
** File API的返回值错误的问题,#429 | |||
** file.read内存泄漏 | |||
** file.WriteMode和writeSync的错误,#431 | |||
** logger堆栈溢出 | |||
** WebSocket崩溃 | |||
** "在空全局上获取 "或其他错误 | |||
** simulateAttack参数 | |||
** simulateDestory错误输出 | |||
** simulateNavigateTo位置参数 | |||
** 远程调用API位置类型错误 | |||
** simulateLocalMove错误 | |||
** simulateLookAt错误 | |||
!1.18.33 | |||
|- | |||
!2.2.5 | |||
!2022/5/21 | |||
![主要] | |||
* 性能提升 | |||
[新内容] | |||
* 新添LLSE ll.hasExported API | |||
[BUG修复] | |||
* 修复BlockActor::refreshData | |||
!1.18 | |||
|- | |- | ||
!1.1.0 | !1.1.0 |
2022年9月26日 (一) 13:35的最新版本
本页面LiteLoader指LiteLoaderBDS
LiteLoaderBDS是一个基于BedrockX的开源插件加载器[1],以GPLv3 with extra restrictions&exceptions许可证发行,兼容加载为梦故加载器编写的插件
继承了BedrockX的优点:
- 动态符号查找:实现了自动适配Bedrock Dedicated Server的小版本更新而无需重新编译插件,换句话说,只要Mojang没有大量删改函数,那么部分插件即使不更新也能实现插件在新版本的Bedrock Dedicated Server上运行
- 完善的Api:LiteLoader内置相对完善的Api,内置的Bedrock Dedicated Server中的常用Api,使开发者无需手动在IDA内寻找函数就能编写简单的插件,减轻了插件开发者的时间花费
- 强大的社区:有大量来自社区的插件,涵盖大部分实用功能
快捷导航
文档: https://docs.litebds.com/zh-Hans/
minebbs发布贴: https://www.minebbs.com/liteloader/
实现原理
通过劫持Chakra.dll库实现注入LiteLoader.dll,使用微软的Detours开源库Hook Bedrock Dedicated Server主程序,从而实现各种对Bedrock Dedicated Server的修改
动态符号查找
版本历史[2]
版本号 | 发布日期 | 更新内容 | 适配的BDS版本 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
2.7.0 | 2022/9/25 |
LiteLoader Release Note适配BDS-1.19.30 | 协议版本 554 Bug Fixes
New Features
APIs / ABIs重大更改列表(为开发者)请注意,标记为已弃用的 API 将在接下来的几个版本中删除。
|
1.19.30 | |||||||||
2.2.7 | 2022/6/9 | [改变]
[BUG修复]
|
1.18.33 | |||||||||
2.2.6 | 2022/6/7 | [改变]
[新内容]
[BUG修复]
|
1.18.33 | |||||||||
2.2.5 | 2022/5/21 | [主要]
[新内容]
[BUG修复]
|
1.18 | |||||||||
1.1.0 | 2021/7/14 | 兼容1.17.10 | 1.17.10 | |||||||||
1.0.2 | 2021/6/8 | 兼容1.17.0 | 1.17.0 | |||||||||
1.0.0 | 2021/4/10 | 兼容1.16.220 修复WActor::teleport 更新插件预加载功能 支持自动将BDSNetRunner列入预加载名单 |
1.16.220 | |||||||||
0.2.3 | 2021/4/5 | 移除插件预加载文件夹 新增插件预加载配置文件 修复liteloader::runcmdEx 修复部分bug |
1.16.210 | |||||||||
0.2.2 | 2021/3/14 | 修复生物死亡事件 修复部分bug |
1.16.210 | |||||||||
0.2.1 | 2021/3/12 | 兼容1.16.210 添加玩家预加入事件 |
1.16.210 | |||||||||
0.1.9 | 2021/3/6 | 文件夹结构改动 | 1.16.200 | |||||||||
0.1.8 | 2021/3/4 | 添加sendtext 添加一些事件 修复中文文件夹导致的显示问题 |
1.16.200 | |||||||||
0.1.7 | 2021/2/20 | 添加GUI相关Api 修复teleport 添加getallplayer 添加playermap |
1.16.200 | |||||||||
0.1.6 | 2021/2/16 | 添加xuid数据库 | 1.16.200 | |||||||||
0.1.5 | 2021/2/15 | 添加指令注册 add CommandBlockExecute Event add PlayerDeathEV add offPlayer::getXUID add ServerStarted Event add PlayerUseCmd Event |
1.16.200 | |||||||||
0.1.4 | 2021/2/11 | 添加基本的事件系统 | 1.16.200 | |||||||||
0.1.3 | 2021/2/8 | 添加runcmd和runcmdEx | 1.16.200 | |||||||||
0.1.2 | 2021/2/7 | 添加插件预加载功能 | 1.16.200 | |||||||||
0.1.1 | 2021/2/6 | 修复Chakra存在的bug | 1.16.200 | |||||||||
0.1.1 | 2021/1/28 | 首个版本 | 1.16.200 |