Closed yoraze closed 4 years ago
Minecraft has had this issue for a while, if a client gets disconnected during the login process, there's a chance it will hang on that screen indefinitely. This is not a PocketMine bug so this issue is pointless.
I think you do not quite understand me correctly - I have already come to the conclusion that this is a client-bug, but what's the point of leaving PlayerLoginEvent cancelable if canceling it does such things with the client? I think something needs to be done with this.
Also, during the inspection of the logs, I noticed that the player does not destroyed by the GC
after the cancelling of this event.
There's no point removing a working feature that stopped working due to a client bug that will possibly be fixed in the future.
And about the GC, I believe the player object is not fully created at that stage so there is no need for the GC to destroy the player.
If we changed the API every time Mojang created a bug, the API would be extremely volatile. This is supposed to work, and someday it'll get fixed.
Instead I cancelled PlayerJoinEvent. It kicks the player with the reason, but gives back an error saying that it was still getting the permissions of the player or something.
Edit: It doesn't crash the server
Issue description
Generating world
on screenSteps to reproduce the issue
OS and versions
Linux
andWindows
Plugins
I wrote example plugin where canceling PlayerLoginEvent
Crashdump, backtrace or other files
No crashdumps, no backtraces.