private void cmd_config(final String arg, final Client client) {
		// use this to replace 'ansi' and 'msp' commands?
		// or possibly alias them to it?
		// @config ansi = on, @config ansi = off
		// @config msp = on, @config msp = off

		// String[] args = arg.split("=");
		String[] args = arg.split(" ");

		if (args.length == 2) {
			if (args[0].equals("color")) {
				if (args[1].equalsIgnoreCase("off")) {
					color = Constants.DISABLED; // disables color
					send("Colors turned off.", client);
				}
				else if (args[1].equalsIgnoreCase("on")) {
					color = Constants.ANSI; // disables color
					send("Colors turned on.", client);
				}
			}
			else if (args[0].equals("colors")) {
				if( color != Constants.DISABLED ) {
					if (args[1].equalsIgnoreCase("ansi")) {
						color = Constants.ANSI; // enables ansi and disables xterm
						client.write("\033[;1m"); // tell client to use bright version of ANSI Colors
						// send("> Using BRIGHT ANSI colors <", client); // indicate the use of bright ansi colors to the client
						send(Utils.rainbow("ANSI", ANSI) + " colors turned on.", client);
					}
					else if (args[1].equalsIgnoreCase("xterm")) {
						color = Constants.XTERM; // enables xterm and disables ansi
						send(Utils.rainbow("XTERM256", XTERM256) + " colors turned on.", client);
					}
					else {
						send("Colors are disabled.", client);
					}
				}
			}
			else if (args[0].equals("linelimit")) {
				// default line limit is?
				int line_limit = Utils.toInt(args[1], 80);

				// TODO validate input for a given range?
				getPlayer(client).setLineLimit(line_limit);

				send("Line Limit set to " + line_limit, client);
			}
			else if (args[0].equals("msp")) {
				if (args[1].equals("on")) {
					msp = 1;
				}
				else if (args[1].equals("off")) {
					msp = 0;
				}

				send("MSP turned " + ((msp == 0) ? "off" : "on"), client);
			}
		}
		else if (args.length == 1) {
			if (args[0].equals("colors")) {
				if (color == Constants.ANSI)       send("Using " + Utils.rainbow("ANSI", ANSI) + " colors.", client);
				else if (color == Constants.XTERM) send("Using " + Utils.rainbow("XTERM256", XTERM256) + " colors.", client);
				else                               send("Colors are disabled.", client);
			}
			else if (args[0].equals("msp")) {
				if (msp == 0)      send("Game> MSP: off", client);
				else if (msp == 1) send("Game> MSP: on", client);
			}

			if (args[0].equals("linelimit")) {
				send("Line Limit is " + getPlayer(client).getLineLimit() + ".", client);
			}
		}

		/*
		 * if ( args.length > 1 ) { if ( arg.equalsIgnoreCase("prompt_enabled")
		 * ) { switch( args[1] ) { case "true": prompt_enabled = true;
		 * send("SRV> set " + args[0] + " to TRUE.", client); break; case
		 * "false": prompt_enabled = false; send("SRV> set " + args[0] +
		 * " to FALSE.", client); break; default:
		 * send("SRV> Invalid config setting!", client); break; } } }
		 */

		/*
		 * f ( arg.contains("=") ) { String[] args = arg.split("=");
		 * 
		 * if ( config.containsKey( Utils.trim( args[0] ) ) ) {
		 * debug("Config> Setting '" + Utils.trim( args[0] ) + "' to '" +
		 * Utils.trim( args[1] )); config.put( Utils.trim( args[0] ),
		 * Utils.trim( args[1] ) ); send("Game [config]> " + Utils.trim( args[0]
		 * ) + ": " + Utils.trim( args[1] ), client); } else {
		 * debug("Game [config]> no such configurable setting exists.");
		 * send("Game [config]> no such configurable setting exists.", client);
		 * } } else { if ( arg.equals("list") ) { send("Configuration Options",
		 * client); for (Entry<String, String> e : config.entrySet()) { send(
		 * Utils.padRight( e.getKey(), ' ', 10 ) + " : " + e.getValue(),
		 * client); } } else { send( gameError("@config",
		 * ErrorCodes.INVALID_SYNTAX), client ); } }
		 */
	}