if the server drops a client from the server it always has a reason for it.
It may be that the client timed out etc.
In the server console:
Dropped More from server
Reason: Client sent 'drop'
is it possible to get this reason string?
since not always ppl are disconnected this way, sometime also because of channel overflow or steam ticked validating problems (which look to normal clients like the person disconnected normally).
(I tried register_logevent but this doesnt seem to catch this not-logevent)