When joining and cancel joining while the server is loading the world the disconnect message is not the same as when.
How to reproduce:
1. Start server
while world loads:
2. join
3. wait until it shows encrypting
4. press cancel
5. wait until the world loaded
6. look in the server terminal
Expected:
The server logs a disconnect like it would be logged when the world is loaded:
Sertonix lost connection: Disconnect
Observed:
The server logs a lot more data instead of just the username:
com.mojang.authlib.GameProfile@3af7900[id=c79d29c6-0d05-435c-b742-c1cdd4ab191d,name=Sertonix,properties={textures=[com.mojang.authlib.properties.Property@38b94fa8]},legacy=false] (/127.0.0.1:52010) lost connection: Disconnected
If you cancel while connecting or logging in some data hasn't loaded jet:
com.mojang.authlib.GameProfile@1154b36a[id=<null>,name=Sertonix,properties={},legacy=false] (/127.0.0.1:52087) lost connection: Disconnected
Cause & fix
The reason this happens is because there are two different functions that can log a disconnect. The on disconnect function in the server login handler could be changed to only print the user name instead.
Linked issues
is duplicated by 1
Attachments
Comments 3
This seems to be described in MC-134419.
If not, I can confirm. It's very tricky to get right, so you have to try qute a few times to get it.
Yes, MC-134419 seems to be the same problem. I think the case described there is even harder to reproduce. Maybe when in step 4 the client is killed or disconnected without sending a disconnect message.
And thanks for the screenshot!
Cannot confirm in 1.19.3 and 23w04a