@Subscribe public void onPlayerQuit(DisconnectEvent quitEvent) { removePlayer(quitEvent.getPlayer()); }
void teardown() { if (connectionInFlight != null) { connectionInFlight.disconnect(); } if (connectedServer != null) { connectedServer.disconnect(); } server.unregisterConnection(this); server.getEventManager().fireAndForget(new DisconnectEvent(this)); }
@Subscribe public void onQuit(DisconnectEvent e) { UserConnection userConnection = Via.getManager().getPortedPlayers().get(e.getPlayer().getUniqueId()); if (userConnection != null) { // Only remove if the connection is disconnected (eg. relogin) if (userConnection.getChannel() == null || !userConnection.getChannel().isOpen()) { Via.getManager().removePortedClient(e.getPlayer().getUniqueId()); } } }
@Subscribe public void onLogout(DisconnectEvent event) { try { Player player = event.getPlayer(); UUID uuid = player.getUniqueId(); sessionCache.endSession(uuid, System.currentTimeMillis()); processing.submit(processors.info().playerPageUpdateProcessor(uuid)); ResponseCache.clearResponse(PageId.SERVER.of(serverInfo.getServerUUID())); } catch (Exception e) { errorHandler.log(L.WARN, this.getClass(), e); } }