public void run() {
		Thread.currentThread().setName("ManagerSocketServer");
		chatServer = ChatSocketServer.getServerSingleton();
		chatServer.start(chatSocketServerPort);
		gameServer = GameSocketServer.getServerSingleton();
		gameServer.start(gameSocketServerPort);
		if (debug) {
			User amir = User.getInstance("Amir", "securepassword", 0);
			String keyvalues = GameSocketServer.ROOMNAMEKEY + "Game01,"
					+ GameSocketServer.BLACKHAND_KEY + "true,"
					+ GameSocketServer.SURRENDER_KEY + "true,"
					+ GameSocketServer.TEAMS + "true,"
					+ GameSocketServer.CARD_SWAP + "true,"
					+ GameSocketServer.TIMED_KEY + "false";
			gameServer.createGame(keyvalues, amir);
			gameServer.addUser("Game01", User.getInstance("Maria", "lol", 0));
			gameServer.addUser("Game01", User.getInstance("Juan", "lol", 0));
		}
		ServerSocket serverSocket = null;
		try {
			serverSocket = new ServerSocket(managerSocketServerPort);
		} catch (IOException e1) {
			e1.printStackTrace();
		}
		System.out.println("ManagerServer listening on "
				+ managerSocketServerPort + "...");
		while (listening) {
			try {
				Socket socket = serverSocket.accept();
				System.out.println("Socket created at " + socket.getPort());
				VanillaSocketThread myThread = new MainSocketThread(socket);
				(new Thread(myThread)).start();
			} catch (Exception e) {
				System.out.println("Gracefully dealt with error in "
						+ getClass().getTypeName() + ",Exception"
						+ e.getMessage());
			}
		}
	}