Closed skilahello closed 4 months ago
JDK--21--22出现问题
处理UUID字符串0000000000003005998F50309B45FD5时出错
问题出现在 fromStringLenient 方法中
或许可以尝试构建 PCL-Community/PCL2-Uuid-Fix 并启动,看看是否存在相同问题?
PCL的UUID格式一直比较怪,离线和正版登录的UUID大小写似乎不统一(具体地,目前版本中,正版UUID和服务器返回结果一致,为无符号小写,离线是大写。) 问题与这无关,详见#issuecomment-2162382215
使用zmwdz这个用户名发现了这个问题--测试其他的没有问题复现---可能还有其他用户名有这个问题
根据日志,PCL生成的启动UUID字符串是0000000000003005998F50309B45FD5
,不难发现它只有31位,而UUID一定是32位的。
这应该就是原因。不过以防万一,如果反馈者有空,可以尝试用上面提到的UUID修复版本复现问题
是的--正式版中--使用其他用户名没有发现问题----只有zmwdz发现这个问题
好的我试一下
构建 PCL-Community/PCL2-Uuid-Fix 并启动 使用zmwdz为用户名没有发现相关问题
[Uuid-Fix] 根据用户名生成的离线 UUID:a4cbd3b0f8183c52ab44360aa83a7edb
注意到日志中的这一行:
[15:06:45.403] [Launch] 正在构建自定义皮肤资源包,格式为:17
玩家似乎设置了自定义皮肤。这可能也是导致问题的原因之一。
如果您还有时间,请尝试以下操作: 1.使用UUID-Fix版本,选择自定义皮肤,启动 2.使用正式版,选择随机皮肤,启动
我这边能做的到此为止,接下来交给开发者……
我调整一下---保证和问题环境一致
哦,我猜是自定义资源包生成对应体型UUID的时候忘记补足最后五位转写后生成十六进制数据的前导0了
我暂时没时间验证,等开发者来看看吧。 通过阅读代码,基本确定问题就是这个导致的。
使用正式版,选择随机皮肤,可以正常启动 使用UUID-Fix版本,选择自定义皮肤,可以正常启动
也就是--正式版使用自定义皮肤--并且用户名为zmwdz--出现了启动失败
Log1.txt UUID-Fix生成的Log
为啥你们都能发现这么诡异的Bug
提交了PR #4018 尝试修复此问题
完整复盘一下问题原因。造成此问题需要:
这个问题之前应该已经修复过了 已经找到:#3879,但是不知道为什么自定义这一项好像被遗忘了……
检查项
描述
UUID报错IllegalArgumentException
PCL 错误报告、日志与附件
游戏崩溃前的输出.txt PCL 启动器日志.txt
HMCL 启动脚本
No response