The logic for detecting that you are already signed in will send a kick message even if the second login request is coming from the exact same connection as the first. I'm not sure if this is really desired. I could see a few potential ways of handling this.
Continue as normal, recreate the player object and resend all of the *_info messages.
Continue as normal, but update the existing player object with the new username rather than recreating the object.
The logic for detecting that you are already signed in will send a
kick
message even if the second login request is coming from the exact same connection as the first. I'm not sure if this is really desired. I could see a few potential ways of handling this.