public void run() {
		// setup the listener
		try {
			shutdownClientHandler = false;
			clientListener = new java.net.ServerSocket(serverlistenerPort, 1, null);
			misc.println("Your Scape! (Change This In Server.java:))");
			misc.println(" Is now online!");
			while(true) {
				java.net.Socket s = acceptSocketSafe(clientListener);
				s.setTcpNoDelay(true);
				String connectingHost = s.getInetAddress().getHostName();
				if(/*connectingHost.startsWith("localhost") || connectingHost.equals("127.0.0.1")*/true) {
					if (connectingHost.startsWith("computing") || connectingHost.startsWith("server2")) {
						misc.println(connectingHost+": Checking if server still is online...");
					} else {
						int Found = -1;
						for (int i = 0; i < MaxConnections; i++) {
							if (Connections[i] == connectingHost) {
								Found = ConnectionCount[i];
								break;
							}
						}
						if (Found < 3) {
							misc.println("Connection accepted from "+connectingHost+": "+s.getPort()+".");
							playerHandler.newPlayerClient(s, connectingHost);
						} else {
							s.close();
						}
					}
				} else {
					misc.println("ClientHandler: Rejected "+connectingHost+":"+s.getPort());
					s.close();
				}
			}
		} catch(java.io.IOException ioe) {
			if(!shutdownClientHandler) {
				misc.println("Error: Unable to startup listener on "+serverlistenerPort+" - port already in use?");
			} else {
				misc.println("ClientHandler was shut down.");
			}
		}
	}