Sockets now call a disconnection callback in a dedicated thread, so as not to cause any deadlocks with lookups (e.g. looping over the active session map and disconnecting players from within [even if the socket's Send() method failed) would cause a deadlock, as the session lock is acquired and it cannot write to it on disconnection. It's done this way (as opposed to simply using a FastMutex, which would mean it locks unnecessarily in some cases, but wouldn't deadlock within the same thread) for a future update to make players visibly disconnect after a few seconds (to prevent them from abusing killing the client while PVP'ing). As is, it won't support that -- but it will.