@Override
    public void onClientDisconnected(String id) {
        if (serverAlreadyExists(id)) {
            TumpiServer server = getServer(id);
            try {
                Map<String, Cliente> clientes_socket = socket.clientes;
                for (TumpiClient cliente_tumpi : server) {
                    Cliente cliente_socket = clientes_socket.get(cliente_tumpi.id);
                    cliente_socket.close();
                }
                server.removeAllClients();

            } catch (IOException ex) {
                Log.$.error("Error al desconectar al cliente");
            }
            servidores.remove(id);
        } else {
            Collection<TumpiServer> values = servidores.values();
            for (TumpiServer server : values) {
                if (server.isClient(id)) {
                    server.removeCliente(id);
                    sendClientNotification(server.id, id, "off");
                }
            }
        }
        Log.$.info("Cliente desconectado >> " + id);
    }