mojira.dev
MC-250193

Server log does not use the string representation of a player's GameProfile on a disconnect during encryption

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

Attachments

Comments 3

Cannot confirm in 1.19.3 and 23w04a

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.

[media]

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!

Sertonix

bl4ckscor3

Community Consensus

Platform

Low

Dedicated Server

logging, server

Minecraft 1.13, Minecraft 1.13.2, Minecraft 18w48a, Minecraft 18w48b, Minecraft 18w49a, ..., 22w15a, 1.19.3, 23w04a, 1.20.4, 23w51b

Future Update

Retrieved