* @param arg
	 * @param client
	 */
	private void cmd_ban(final String arg, final Client client) {
		final String[] args = arg.split(" ");

		if (arg.equals("#list")) {
			// List Banned IPs
			send("Banned IP Addresses", client);
			
			for (final String s : banlist) send(s, client);

			// List Banned Players
			send("Banned Players", client);
			
			for(final Player player : objectDB.getPlayers()) {
				if( player.getPStatus() == Player.Status.BANNED ) {
					send(player.getName(), client);
				}
			}
		}

		if (args.length > 1) {
			if (args[0].equals("#ip")) {
				final String ip_addr = args[1];
				
				// add IP address to banlist
				
				// TODO test ip address for format errors
				// ^ need to check IPv4 and IPv6
				boolean valid_address = false;
				
				// IPv4
				if( ip_addr.matches("^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$") ) {
					valid_address = true;
				}
				
				if( valid_address ) banlist.add(args[1]);
			}
		}

		if (!arg.equals("")) {
			// NOTE: use DB so we can ban logged off players too
			final Player player = objectDB.getPlayer(arg); // player name based search (banning a player should ban his account as well

			System.out.println("Player: " + player);

			if (player != null) {
				final Client client1 = player.getClient();

				if (client1 != null) { // current DB always has players loaded, so the player will never be null
					// TODO this should be a configurable option
					// add the player's ip address to the banlist (IP address ban)
					// banlist.add(client1.getIPAddress());

					// if they have an account, suspend the account
					final Account acct = acctMgr.getAccount(player);

					if (acct != null) {
						acct.setStatus(Account.Status.SUSPENDED);
					}
					else {
						
					}

					// mark the player somehow
					player.setPStatus(Player.Status.BANNED);

					// inform the player
					cmd_page(arg + ", you have been banned.", client1);

					// remove them (unceremoniously) from the server/game
					kick(client1);
				}
				else {
					/*
					 * Update my code so it stores the last login ip for
					 * players, so I can ban them even if they log off? Also,
					 * add a banned check to logging in so they still can't
					 * login, even if they change their ip?
					 */
					debug("That player is not connected");
					send("That player is not connected", client);
				}

				return;
			}
			else {
				if (arg.matches("[a-zA-Z]+")) {
					send("No such player!", client);
				}
				else {
					String[] range = arg.split(",");

					System.out.println(Arrays.asList(range));

					for (final String ipa : range) {
						if (ipa.matches("^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$")) {
							banlist.add(ipa);
						}
						else send("That's not an ipaddress or a range of them.");
					}
				}
			}
		}
		else {
			send("Command> '@ban' : No valid arguments.", client);
		}
	}