LegacyScriptEngine icon indicating copy to clipboard operation
LegacyScriptEngine copied to clipboard

[Bug]: 在 onPreJoin 监听事件中使用 player.kick() 或 player.disconnect() 可以正常踢出玩家但是控制台报错

Open zmsgsb opened this issue 5 months ago • 3 comments

Describe the bug

Image

[Bug]: 在 onPreJoin 监听事件中使用 player.kick() 或 player.disconnect() 可以正常踢出玩家但是控制台报错

To Reproduce

在 onPreJoin 监听事件中使用 player.kick() 或 player.disconnect()

Expected behavior

在 onPreJoin 监听事件中使用 player.kick() 或 player.disconnect() 可以正常踢出玩家并且控制台没有报错

Screenshots

Image

Platform

Win10

BDS Version

1.21.80

LeviLamina Version

1.3.1

LegacyScriptEngine Version

0.12.0

Additional context

No response

zmsgsb avatar Jul 08 '25 07:07 zmsgsb

无法复现,应该和插件有关,如果这个bug重启后依然稳定出现,可以从github release下载debug构建的LeviLamina,解压覆盖掉已安装的ll,报错时会打印调用堆栈,方便定位出问题的插件。 操作前建议做好备份或者复制一份bds目录副本来测试

xiaoqch avatar Jul 08 '25 10:07 xiaoqch

无法复现,应该和插件有关,如果这个bug重启后依然稳定出现,可以从github release下载debug构建的LeviLamina,解压覆盖掉已安装的ll,报错时会打印调用堆栈,方便定位出问题的插件。 操作前建议做好备份或者复制一份bds目录副本来测试

Image Image
mc.listen("onPreJoin", (player) => {
    player.kick(`onPreJoin player.kick 测试`);
});

zmsgsb avatar Jul 09 '25 04:07 zmsgsb

可能是GMLIB在玩家开始连接服务器的时候试图获取玩家的某些数据?然后在此时玩家被踢出服务器,所以产生了报错?

GMLIB链接:https://github.com/GroupMountain/GMLIB-Release/releases

https://www.123912.com/s/Tq3Rjv-wA25H

提取码:DVAN

这是plugins文件夹压缩包打包 大小470MB 其中 test 插件文件夹其中的 onPreJoin 监听事件是用于测试的代码

zmsgsb avatar Jul 09 '25 04:07 zmsgsb