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.
2022-04-14, 09:53 AM
2024-01-17, 08:15 AM
2
5
-