public static void removeConnection(Connection connection) { if (connection == null) return; Player player = connection.getPlayer(); if (player != null) unregister(player); //if connection has a player by some luck.. unregister him as well. if (connection.socket.Connected) { connection.socket.Shutdown(SocketShutdown.Both); connection.socket.Close(); } connection = null; }
/** * Register a player. * @param p as Player * @return the player slot */ public static int register(Connection connection) { if (connection == null) return -1; Player player = connection.getPlayer(); if (player == null) return -1; if (player.getLoginDetails() == null) return -1; players.Add(player); int slot = players.IndexOf(player); if (slot != -1) { Console.WriteLine("Registered " + player.getLoginDetails().getUsername() + " [pid = " + slot + ", online = " + players.Count + "]"); } else { Console.WriteLine("Could not register " + player.getLoginDetails().getUsername() + " - too many online [online = " + players.Count + "]"); } return slot; }