Closed CoolLoong closed 10 months ago
Possible useful information:
serialize<LevelSettings>::write
serialize<LevelSettings>::read
I'm pretty sure about that :c
Hi, I have checked it with other people too. What you see there in IDA is an error caused by code optimalization, which in this case IDA strugles to decompile correctly. I am very confident that optional boolean are two serialized booleans if the value is present.
The client crashes are probably caused by something other.
To add more context, overrideForceExperimentalGameplayFlag is only ever set as part of game unit tests. The vanilla itself does not use it from what I can see. The sources also explicitly say this flag should not be used by servers.
Why do you think this is another reason? When I turn on this ForceExperimentalGameplay
, the client will encounter an error, and when I turn it off, the client can enter the server
Waiting for me to record a video
StartGamePacket#setForceExperimentalGameplay=true
will block player join the server, which I think is an error caused by usingwriteOptional
. The protocol library version I am using is 594, and below is the complete content of the StartGamePacketWhen the player enter the server![image](https://github.com/CloudburstMC/Protocol/assets/69153398/5828583b-d928-4fc2-8cb9-e86b3b065c26)