public String getActiveGameServer(){
		
		synchronized(lock) {
		
			if(gamesession != null){
				return hostname;
			}
			
			if(servers != null && !servers.isEmpty()){
				
				Iterator<String> itr = servers.iterator();
				
				/*Recorremos la lista de servidores obtenida buscando quien esta manejando el juego en este momento*/
			    while(itr.hasNext()){
			    	
			    	String serverip = itr.next();
	
			    	if(!serverip.equals(hostname)){
			    	
						try {
							
					    	Iface skeleton = (Iface) Naming.lookup("rmi://" + serverip + ":1099/Iface1");
					    	
					    	if(skeleton.getGameSession() != null){
					    		Logger.debug("El juego esta corriendo actualmente en el servidor '" + hostname + "'", "Server", verbose);
					    		return serverip;
					    	}
					    	
						} catch (Exception e) {
							Logger.error("No puedo saber si el servidor '" + serverip + "' esta corriendo el juego.");
							Logger.error(e.getMessage());
						}
						
			    	}
			    }
			    
				/*En este punto no se encontraron servidores que tengan un juego activo, luego creamos un juego en el servidor de menor carga*/
				if(gamesession == null){
					
		    		Logger.debug("No hay servidores corriendo el juego!! El servidor '" + hostname + "' continua el juego.", "Server", verbose);
					gamesession = new GameSession(minplayers, verbose);
					gamesession.restart();
					migrator.restart();
					migrationhost = null;
					
					return hostname;
				}
	
			}		
			
		    return null;
	    
		}
		
	}