public async Task KickUserAsync(string message)
{
try
{
await ClientEndPoint.SendPacketAsync(new DisconnectPacket {Reason = message});
if (!_quitMessagePosted && !_isMotDRequest)
{
_logger.Info(Username + " lost connection, message: " + message);
_quitMessagePosted = true;
}
ClientEndPoint.Close ();
if (ServerEndPoint != null)
{
ServerEndPoint.Close ();
}
}
catch (Exception)
{
}
finally
{
_server.RemoveConnection(this);
}
}