18 de agosto de 2012

Instalar League of Leguends en openSuse 12.1 64bit

Tengo varios amigos jugando a League of Legends y, viendo la insistencia en que lo probara y que tengo openSuse, me puse a ello (pensando que sería tan sencillo o más que instalar el World of Warcraft). Descargué instalador, instalé, actualicé... y todo para nada, no había forma de hacer funcionar el League of Legends.

Para que os hagáis un poco la idea del juego, os dejo aquí el trailer:
 
Podéis registraros en el juego aquí: registrarse en LoL.
Al final, después de buscar un montón y trastear otro tanto, lo he conseguido (aunque no de forma perfecta) y aquí dejo cómo lo he hecho por si a alguien le interesa.

Lo primero que vamos a necesitar es tener instalado python y los drivers de tu tarjeta gráfica actualizados... deberíais tenerlos ya instalados usando el Yast. Yo me centro en el resto de la instalación. 
Comento también, que yo lo he hecho todo en un PC con openSuse 12.1 64bit, una tarjeta gráfica nVidia con los drivers propios de la marca versión 295.71.

Para instalar correctamente el LoL, echaremos mano de PlayOnLinux, que nos ayudará tanto con algunos detalles que debemos tener instalados en wine (Internet Explorer, Adobe Air...) como la propia descarga del juego.

Encontraremos el PlayOnLinux en su web oficial y pulsaremos directamente en "Me gustaría descargar PlayOnLinux":


Esto nos permitirá ver un enlace a la página de descarga, debemos pulsarlo.


Una vez en la página de descarga, veremos unos botones para realizar la descarga según la distribución. En mi caso, he elegido "All distributions" por no aparecer openSuse como una de las opciones:


Se nos muestra el archivo a descargar:


Podemos ver que he utilizado la última versión disponible en este momento: PlayOnLinux 4.1.6. Con versiones anteriores lo había intentado pero no me había funcionado correctamente.

Una vez descargado, debemos descomprimir el archivo en una carpeta. A lo rápido, he utilizado Ark con el menú del botón secundario, pero cada uno que descomprima como quiera ;)


Nos quedará una carpetita con el PlayOnLinux dentro:

Entramos en ella y abrimos un terminal:


No vamos a ejecutar nada como root. De hecho, PlayOnLinux no está pensado para ello y nos mostraría un mensaje indicándolo. Simplemente escribimos: ./playonlinux y pulsamos ENTER.


Se ejecuta PlayOnLinux (si protesta por dependencias usad vuestro gestor de software para instalar las que falten, habitualmente son los wxWidgets para python). Siempre que lo abro me protesta por no tener instalado icotool y wrestool, pero no me influye para nada para el juego, así que acepto los dos mensajes y listo. Si no tuvieras los drivers actualizados y openGL, también puede ser que recibas el aviso. Es importante que lo tengas todo al día.


Una vez que ha arrancado PlayOnLinux, pulsaremos el botón "+" para empezar a instalar el League of Legends.


Como aún no está totalmente pulida la instalación de League of Legends, debemos marcar la casilla "En pruebas":


Al marcar la casilla, se nos advierte al respecto, pulsamos Aceptar:


Ahora, en el buscador, comenzaremos a escribir "league of legends" y ya nos sale de primera opción. Pulsaremos sobre el juego y luego en el botón Instalar:


Se nos indica que el programa está en pruebas, pulsamos Aceptar:


Se abre el asistente, pulsaremos el botón Siguiente:


Ahora toca esperar...


...dejar que instale varias aplicaciones...


...y, al fin, nos pregunta por qué forma vamos a usar para instalar el juego. Elegiremos la opción de "Descargar el programa" y pulsaremos Siguiente:


Leemos lo que se nos dice y pulsamos Siguiente de nuevo... MUY IMPORTANTE LO QUE SE NOS DICE: no marcar la casilla de ejecutar el juego al terminar la instalación. Si la marcáis lo más probable es que falle todo y toque volver a empezar. 
Algo también muy importante, es que dejemos la carpeta de instalación del juego tal cual se nos ofrece por defecto.


Ahora toca esperar un buen rato... el juego ocupa unos 1'6Gb, así que paciencia:


Cuando termine la descarga comenzará directamente la instalación del juego... tan sencillo como siguiente, siguiente, siguiente, ok, aceptar, ... lo típico... así hasta que termine. Recordad NO marcar la casilla de ejecutarlo cuando termine y pulsemos Finalizar.

Una vez instalado, aparecerá un icono nuevo en el PlayOnLinux. Sólo tendremos que seleccionarlo y pulsar Lanzar [si no se ejecuta, seguid leyendo, quizá veáis la solución más adelante].


Al ser la primera vez que ejecutamos el juego, se va a actualizar, debemos dejarlo hasta que termine. Es importante marcar la región al lado izquierdo acorde con la región en la que nos hemos registrado:


A veces se queda parado como si estuviera actualizando eternamente. Llega con cerrar la ventana y volver a lanzar el juego. Al acabar se nos habilitará el botón Jugar:


Tras haber pulsado jugar, se nos abrirá el juego y ya podremos introducir el nombre y la contraseña que hemos usado para el registro:


Aquí fue donde tuve un ligero problemilla, se me quedaba indefinidamente cargando tras pulsar Iniciar Sesión hasta que daba error en la conexión con el servidor.


Para arreglarlo, cancelamos, se cerrará el juego, y volvemos a PlayOnLinux. Seleccionamos el juego y pulsamos en Configurar:


En la ventana que se abrirá, iremos a la pestaña Wine y luego al Editor del Registro:


Debemos ir ahora a HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Currentversion y ahí, crear una nueva cadena con el nombre ProgramW6432Dir y que contenga C:\Program Files


Otro detalle que me daba error, era causado por el propio lanzador de PlayOnLinux, trasteando un poco, conseguí que funcionara. Iremos a la carpeta que se ha creado en nuestro home para el PlayOnLinux y ahí a los accesos directos. La ruta sería algo como /home/tuUsuario/.PlayOnLinux/shortcuts/ y ahí veremos nuestro acceso al League of Legends:


Ahora debemos editarlo. En mi caso, clic derecho sobre el icono > abrir con... > KWrite, pero podéis editarlo con lo que queráis.

Como podéis ver, he comentado algunas líneas añadiendo # y, sobre todo, he cambiado el inicio de la última línea. Pulsad sobre la imagen para verla más grande:


El texto que me ha quedado es el siguiente (ojo con el ajuste de línea del blog, fijaos bien):

#!/bin/bash
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
export WINEPREFIX="/home/TUUSUARIO/.PlayOnLinux//wineprefix/LeagueOfLegends"
export WINEDEBUG="-all"
#POL_Log=League of Legends
#ScriptID=League Of Legends
cd "/home/TUUSUARIO/.PlayOnLinux//wineprefix/LeagueOfLegends/drive_c/./Riot Games/League of Legends/RADS/system"
#rm "/home/TUUSUARIO/.PlayOnLinux//wineprefix/LeagueOfLegends/drive_c/Riot Games/League of Legends/RADS/projects/lol_launcher/releases/0.0.0.0" 2> /dev/null
#ln -s "/home/TUUSUARIO/.PlayOnLinux//wineprefix/LeagueOfLegends/drive_c/Riot Games/League of Legends/RADS/projects/lol_launcher/releases/$(ls -1 "/home/TUUSUARIO/.PlayOnLinux//wineprefix/LeagueOfLegends/drive_c/Riot Games/League of Legends/RADS/projects/lol_launcher/releases/" | tail -n 1)" "/home/TUUSUARIO/.PlayOnLinux//wineprefix/LeagueOfLegends/drive_c/Riot Games/League of Legends/RADS/projects/lol_launcher/releases/0.0.0.0"
#rm "/home/TUUSUARIO/.PlayOnLinux//wineprefix/LeagueOfLegends/.update-timestamp"
wine rads_user_kernel.exe run lol_launcher 0.0.0.0 LoLLauncher.exe "$@"

Una vez guardados los cambios, ya podemos volver a ejecutar el juego usando Lanzar desde el propio PlayOnLinux.

Y a jugar...

Lo siguiente es una imagen de una ficha de personaje:


Probando a ver una partida:


Y la tienda (hace unos días no me cargaba la tienda en Linux, se quedaba en negro. Tras la última actualización del juego ya se me ve perfectamente):


Como último decir que muchas veces, tras jugar una partida, salta un mensaje de error. Simplemente pulsamos "Don't Send" y nos olvidamos del tema:


Muchas gracias por leerme... y disfrutad del juego.

---------------
[Añadido el 1 sep 2012]

Perillo3ro pregunta por qué no puede ejecutar el juego a pantalla completa. Si eso sucede, lo primero que debemos revisar es que tenemos los drivers de nuestra tarjeta gráfica actualizados (a día de hoy uso los drivers NVIDIA 304.37). Por si sirve de algo, aquí dejo una captura de cómo están mis opciones de vídeo en el juego:



Para acceder a ellas, he empezado una partida tutorial (para no fastidiar a nadie en una partida real ;)) y me he ido a engranajes (abajo a la derecha) > Vídeo. Ojo con lo de Velocidad de Fotogramas, si lo cambiáis a cualquier cosa que no sea Estable, lo más probable es que empecéis a tener problemas gráficos o cuelgues del juego. Para arreglarlo, tenemos que ir al archivo de configuraciones del juego, que está en:
/home/usuario/.PlayOnLinux/wineprefix/LeagueOfLegends/drive_c/Riot Games/League of Legends/Config/game.cfg

Dentro del mismo archivo, la línea que habremos estropeado si jugamos con lo de Estable es "AutoPerformanceSettings=0", que tendremos que poner así, con el 0, si queremos dejarla como estaba.

Dentro de ese archivo, la línea que indica que se ejecuta a pantalla completa es "Windowed=0". Pondremos 1 para modo ventana y 0 para modo pantalla completa.