public void listen()
	{
		for (;;)
		{
			try
			{
				Socket newSocket = this.sSock.accept();
				DataOutputStream outputStream = new DataOutputStream(
						newSocket.getOutputStream());
				System.out.println("Connection from "
						+ newSocket.getInetAddress().toString() + " !");
				
				//Max # of players = 5
				if(getPlayerCount() < 5)
				{
					//this.outputs.put(newSocket, outputStream);
					Player p = new Player(newSocket);
					this.outputs.put(p, outputStream);
					playerOrder.add(p);
					//GameServerThread sThread = new GameServerThread(this, newSocket);
					GameServerThread sThread = new GameServerThread(this, p);
					String msg = "ONLINE_PLAYER=";
					msg += getPlayerCount();
					this.sendToAll(msg);
					
					try {
						Thread.sleep(200);
					} catch (InterruptedException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					
					if(getPlayerCount() == 5) {
						definePlayerRoles();
						sendToAll("START_GAME");
					}
				}else
				{
					System.out.println("Server is full -> rejecting.");
					outputStream.writeUTF("ERROR_SRV_IS_FULL");
					newSocket.close();
				}
			} catch (IOException e)
			{
				e.printStackTrace();
			}
		}
	}