19 años en Internet

30 enero 2016

FIFA 16, resumen en 44 segundos


Este vídeo lo resume todo: Pases rotos que van dirigidos al jugador que no has seleccionado, penalties que no son penalties, penalties que son penalties pero que se pitan como faltas fuera del área, porteros que saltan al lado contrario y defensas que cubren el primer palo y que en vez de despejar el balón deciden saltar encima suyo para esquivarlo.

17 enero 2016

Varios datos curiosos del Steam Link que se publican en su SDK

Fuente: Git oficial del proyecto.
  1. El dispositivo tiene un procesador de arquitectura ARM v7 y tiene 1GHz de velocidad.
  2. Su firmware es un Linux modificado, con kernel v3.8 y emplea las glibc 2.19.
  3. No permite la ejecución de kernels no firmados por Valve.
  4. Cuenta con 256 MB de RAM y posee una memoria flash de 500MB.
  5. Su SDK es compatible con las API de OpenGL ES 2.0, Qt 5.4 y SDL 2.0. Recomienda el empleo de la api de gamepads de SDL para que nuestras apps sean compatibles con su Steam Controller.
  6. Permite la copia de apps mediante lápiz USB. 
  7. Por defecto, su contraseña de root es "steamlink123". Se fuerza un cambio de contraseña al loguearse por primera vez.
  8. Permite su uso remoto por SSH. Para habilitarlo hay que instalar un archivo de texto y suministrarlo por lápiz USB. Esto se permite para poder debugar nuestra aplicación en hardware real.

13 enero 2016

SteamLink (día 2)

    Éste ya es mi segundo día con mi SteamLink y poco a poco voy encontrándome con los problemas técnicos que trae el dispositivo. Aunque bien es cierto que muchos de ellos aparentan más ser bugs del cliente de Steam (de nuestro ordenador) que del firmware del cachivache.

1.- Problemas generales
    En la entrada anterior os comenté que sufrí problemas de lag cuando utilizaba la retransmisión por Wifi. Pues bien, la norma general es que funciona de forma fluída, pero que de vez en cuando sufre picos que hacen que el juego resulte injugable durante determinados momentos, llegando incluso a perderse la conexión con el cliente Steam de vuestro equipo. El caso es que conectando el SteamLink por ethernet no he vuelto a tener semejantes problemas, por lo que da la sensación de que el driver wifi del firmware del dispositivo no debe de estar bien pulido y que debe de ser éste el que produce dichas anomalías. Con mi ordenador por Wifi y el SteamLink por ethernet, puedo jugar sin problemas a juegos de lucha veloces como el Ultra Street Fighter IV, el Skull Girls o el Vanguard Princess. Ahora bien, si tienes algún juego que vaya lento en tu equipo, pues aquí irá más lento aún. Es decir, la retransmisión consume un porcentaje bastante simbólico de CPU, por lo que repercute en la calidad de los juegos "más punteros".

2.- Problemas con el cliente de Steam de Windows
    Como os comenté antes, el gamepad de Xbox 360 funciona perfectamente. Ahora bien, a mi al Ultra Street Fighter IV me gusta jugarlo con un gamepad que tengo genérico de PS3 de marca Hama que posee un buen pad digital, el cual le da mil vueltas al de los mandos de Microsoft (que es un castigo para este tipo de juegos, dicho sea de paso). Pues bien, el mando Hama me lo desconfigura el SteamLink: Si lo enchufo al ordenador, este mando funciona a la perfección, pero desde el SteamLink me lo emula como un mando de 360 con botones cambiados de lugar, lo cual rompe con la configuración que tengo ya guardada en los juegos de lucha y no es plan de tener que reasignar botones cada vez que juego con o sin el SteamLink.

    Dicho sea de paso, tengo un bug muy molesto con el Ultra Street Fighter IV: No puedo pausar el juego puesto que nada más pulsar el botón "start" se me dispara el aviso de "Here comes a new Challenger!", puesto que por algún misterio que no comprendo, ¿el juego piensa que estoy manejando dos gamepads en vez de uno? Es un bug que me ha pasado un par de veces en el ordenador, pero que en este SteamLink se me reproduce el 100% de los casos.
    Otro problema notorio es que, incluso con una conexión por ethernet, el modo Big Picture funciona mucho peor que en Linux. Es lento y en ocasiones tardas casi 10 segundos para pasar el cursor de un juego a otro. ¿Por qué el Ultra Street Fighter IV funciona como un obús en SteamLink y el Big Picture resulta más lenta que la interfaz de la Ouya? No fastidien, en Ubuntu el Big Picture me va muy fluído.

3.- Problemas con el cliente de Steam de Linux
    Son dos y bastante notorios: No retransmite el audio y no me reconoce los gamepads. El caso es que si enchufo mis gamepads diréctamente al ordenador, éste me los reconoce sin problemas y puedo jugar con ellos, pero resulta decepcionante que no funcionen a través del SteamLink. Y en cuanto al audio, no tengo nada más que decir, para mi eso es una anomalía muy importante. Ya que enchufas un juego en la tele, ¿qué menos que poder escucharlo?

    En fin, esperemos a ver si las próximas actualizaciones de Steam y de SteamLink mejoran bastante. Por lo general es un producto que me gusta mucho, pero que falta por pulir algo más y que tiene un futuro prometedor.

12 enero 2016

SteamLink

    Hoy me ha llegado a casa un SteamLink y tras unas cuantas partidas me ha dejado un muy buen sabor de boca. Para el que no sepa qué es, se trata de un aparato de tamaño reducido que te permite reproducir todos los juegos de tu biblioteca de Steam en el televisor de tu casa. Ahora bien, no los reproduce por él sólo, si no que realiza una retransmisión remota de tu equipo: Todos los juegos que ejecutes son lanzados en tu ordenador personal.

    LLama mucho la atención por su reducido tamaño: fino como un hub de ethernet, de poco peso y más pequeño que el mando de una consola de videojuegos. Y lo que además resulta todo un acierto es que además resulta compatible con dichos mandos. En mi caso juego con uno alámbrico de 360, pero por lo que he leído también es compatible con mandos oficiales de PS3 y PS4

    ¿Qué tal se juega con él? Bueno, lo primero que tengo que destacar es que el dispositivo acepta Wifi, pero jugando con esa conectividad sufro algún latigazo de lag. Va bien, es muy jugable y fluído, pero para una mejor experiencia es mejor jugarlo en una red cableada. Por cierto, es todo un detalle que Valve incluya en la caja un cable de HDMI y otro de ethernet. El caso es que el producto final es tan satisfactorio que en muchas ocasiones nos hace olvidarnos de que estamos jugando a un juego de ordenador, recreando cierta inmersión consolera, sobretodo si estamos en modo Big Picture y con un mando de consola. Por cierto, si no estáis en modo Big Picture, podéis controlar todo vuestro ordenador, como si de una clase de cliente de VNC se tratara: Podemos jugar a juegos externos, arrancar el navegador web e incluso reproducir películas.

    ¿Si actúa como un cliente de VNC "mejorado", resulta seguro? Sí, puesto que cuando vinculamos el dispositivo con un ordenador, en dicho equipo se nos pide insertar un código PIN aleatorio que aparece en tu televisión. Y una vez vinculado, podremos retransmitir siempre que el cliente de Steam esté lanzado. Por cierto, se nos permite vincular distintos ordenadores y estos a su vez pueden contener distintas cuentas de Steam (se retransmite la bilbioteca de la cuenta logueada en ese momento). En cuanto a los equipos, la única pega que he notado es que la retransmisión no funciona con equipos con Windows XP, pero no surgen problemas si tienes una versión superior de Windows o una Ubuntu 14.04 (LTS) o superior. Por cierto, que sepáis que juegazos como Saints Row IV funcionan ya en Linux y que se ha confirmado que también lo hará Street Fighter V.

    Otra cosa remarcable es que carece de botón de encendido. Lo enchufas y se prende solito, como si se tratara de un Spectrum "de los viejunos". No obstante, si queréis apagarlo, la interfaz gráfica que trae tiene un botón que lo permite... y para volverlo a encender bastaría con desenchufarlo y volverlo a enchufar. En cuanto a conexiones, trae lo justo: Dos Tres puertos USB para gamepads (uno se encuentra en el lateral), teclados o incluso ratones, una salida HDMI, la fuente de alimentación y un puerto ethernet por si no queremos usar WIFI.








31 diciembre 2015

Xenoblade Chronicles X - Primeras impresiones tras 40 horas de juego



    Aún recuerdo cuando probé el Xenoblade Chronicles X por primera vez. Fue el primer día de noviembre en el Salón del Manga de Barcelona y me encontré con un personaje ya creado que algún graciosillo había colocado en medio de una área repleta de enemigos de nivel avanzado. Básicamente, a cada pocos segundos me estaba reencontrando con la muerte.

    A pesar de ello, pude hacerme una pequeña idea de la jugabilidad: Controles a lo Mass Effect 1, sistema de batallas automáticas donde seleccionas "las mágias" a aplicar en un sistema de iconos similar al primer Dragon Age y unos saltos exagerados al estilo Crackdown. Y la mezcla de todo eso es, símplemente, genial. Engancha, salvo por la cámara, que a pesar de ser configurable era un incordio. Y también me llevé la impresión de que era gráficamente muy bonito, pero que tampoco era como para tirar cohetes.

Un servidor, muriendo ante un enemigo de nivel 55.

    Y un mes y pico más tarde ya tenemos el Xenoblade aquí y tras más de 40 horas de juego mi impresión ha mejorado muchísimo: Este juego me encanta. No es perfecto, ni mucho menos, pero me EN-CAN-TA.
Bienvenido a Mira.

Historia

    Lo primero que debo de aclarar, es que no hace falta haber jugado antes al Xenoblade Chronicles (Wii 2012, N3DS 2015), puesto que al igual que pasa con sagas como Zelda o Breath Of Fire, esta entrega es totalmente independiente a la anterior. Aún así, si habéis jugado a la primera entrega, pues no os van a quitar lo bailado, puesto que ambos son dos juegazos. Ahora bien, esta entrega trae dos cambios importantes respecto a su predecesor:
  1. No manejamos a un protagonista predefinido, como lo fuere el caso de Shulk en Xenoblade Chronicles, si no a un personaje creado a nuestro gusto.
  2. Este personaje nunca habla, imitando al 100% el estilo de la saga Zelda. A ver, nuestro protagonista no es mudo, puesto que los otros NPC interaccionan con él, pero se trata de exáctamente de lo mismo que le pasa a Link en los juegos de Zelda, lo cual favorece mucho la inmersión del jugador en su rol de salvador.
 Pese a no hablar nunca, podemos elegir como continuar con determinados diálogos.

    Bueno, entremos al trapo: Todo empieza en el año 2054, cuando dos facciones alienígenas se enfrentan en una gran contienda cerca del planeta Tierra. Esto precipita la ejecución del proyecto Exodus, es decir, se produce una evacuación en masa... con la desgracia de que por causas del destino, sólo una nave sobrevive y que para poner nuestro gozo en un pozo, el planeta Tierra explota.

    La nave en cuestión es la "Ballena Blanca" y ésta se encuentra vagando durante años por el espacio, en busca de un planeta similar a la Tierra para poder habitarlo. No obstante, la nave acaba siendo atacada por fuerzas alienígenas y ésta se precipita contra Mira, el planeta donde transcurre toda la acción del juego.

   Durante la caída, la nave espacial se divide en varios módulos antes de estrellarse, asentando la ciudad de "Nueva Los Ángeles" al sur de Primordia, uno de los cinco continentes que componen Mira. Pero a pesar de ello, se ha perdido el rastro del "Arca", el módulo que contiene a toda la población de la nave en estado de criogenización... Y éste será tu cometido tras ser reclutado por Elma, lídel de los Reclaimers: Encontrar el "Arca" para evitar la extinción de la raza humana.

Jugabilidad

    El manejo es muy agradable y se deja querer como si del amor de una madre se tratara. Como ya he mencionado antes, el control inicial recuerda bastante al primer Mass Effect, con followers incluídos, a los que sumamos un sistema de batallas donde sólo manejamos al personaje principal y donde para más inri él va pegando solo al enemigo, sin que tú tengas que apretar ningún botón a cada vez. Ahora bien, aunque él pegue automáticamente a los enemigos, somos nosotros los que debemos de desplazarlo para acercar o alejarlo del enemigo, además de que podemos hacer que cambie el objetivo a atacar e incluso podemos hacer que apunte a determinadas extremidades del enemigo. Además, también disponemos de un panel inferior con diversos iconos que representan las habilidades especiales que podemos ejecutar, muy similar al que disponemos en Dragon Age.

Las batallas son intensas y da gusto jugarlas.

    Durante el transcurso de la batalla, veremos también de forma aleatoria, la aparición de un aro en medio de la pantalla con la letra B, como si de un "quick time event" se tratara, muy similar al efecto que vimos en el "Lost Odyssey" para poder lanzar ataques críticos, salvo que en esta ocasión la ejecución correcta o incorrecta de este evento servirá para alzar o disminuir la moral del equipo en esta batalla. Para finalizar, puestos a hablar del equipo, también podemos gritar órdenes, pero su ejecución se hace bastante molesta (pulsar + y seleccionar un grito de entre una gran lista, en tiempo de ejecución, sin pausar la batalla), por lo que en la práctica sólo se utilizan en muy contadas ocasiones, además de que por lo general los gritos resultan totalmente prescindibles.

Podemos atacar las extremidades de los enemigos. Esto nos permite ganar nuevos items.
Centrado en la parte baja, la lista de habilidades que puede ejecutar nuestro protagonista.

    Ahora bien, hay que notar la ausencia de un hecho típico de todo juego de rol de consola: La ausencia de objetos consumibles. No hay ningún consumible, ni para recuperar puntos de vida, ni maná, ni nada parecido. Olvidaros pues de las típicas hierbas curativas o de las plumas de fénix de turno. Los únicos items que encontraréis son piezas de armadura, armamento, objetos de misión y coleccionables. Eso sí, puedes recuperar vida haciendo uso de determinadas habilidades curativas, además de que cuando salgamos de un combate, la vida irá regenerándose a un ritmo rápido.

    A pesar de las parrafadas que habéis léido ahora, el sistema de combates no cuesta mucho de aprender y los enfrentamientos son amenizados siempre con una sobresaliente banda sonora. Por cierto, varios de sus temas han sido compuestos por el grupo que compuso la apertura del ánime "Ataque a los titanes". Aquí un ejemplo: Uncontrollable.

    Respecto a lo que concierne la exploración, el segundo punto fuerte de este título, nos llevamos con varias sorpresas muy poco típicas en los mundos abiertos: Caer desde grandes distancias no hace daño, saltos exageradamente largos y para más inri tu personaje no se cansa al correr grandes distancias. Más adelante desubriréis la razón de eso, que la hay, aunque tengamos que esperar entre 20 y 30 horas de juego para conocerla. Por cierto, GRACIAS por incluir los saltos exagerados, al puro estilo Crackdown. Habrá gente que esto no le guste, pero a mi, desde luego, me han ganado con ello.

Saltos exageradamente largos, sello de la franquicia Crackman. Quedan genial en este juego.

    Aún así, no penséis que esos tres puntos van a casualizar el juego, ni mucho menos. Son más un aliciente, puesto que nos encontramos con cinco vastos continentes donde encontraremos siempre enemigos extremadamente fuertes en los lugares estratégicos que impedirán nuestro avance. Ahora bien, como pudiera pasar en los primeros Tomb Raiders, siempre puedes maquinar estrategias para esquivar al enemigo saltando por un punto A para después rodear pasando por un punto B... Salvo que aquí, a diferencia de los juegos de Lara Croft, este tipo de acciones sí que suelen tener resultado y además quedan genial con los saltos exagerados. Y sí, aunque la acción inicial transcurra en el continente de Primordia, la verdad es que todos los continentes contienen enemigos de bajo, medio y alto nivel, incentivando que exploremos todo lo que queramos en caso de que nos aburramos de la historia o bien no sepamos qué hacer para avanzar.

Enemigo de nivel alto rodeado de ítems y haciendo la siesta.

    En lo que concierne a los continentes, son de lo más grandes y hermosos que he visto en un videojuego. Ahora bien, si los llevaramos a escalas del mundo real, serían más bien islas. Pero en fin, muy pocos juegos tienen "continentes" del tamaño de Menorca, lo cual juega a favor de este juego (valga la redundancia), por lo que acabamos aceptando gratamente dicho término.

    Respecto a los tintes roleros, Monolith Soft nos da una de cal y otra de arena. Por un lado nos da un muy elaborado sistema de brigadas, clases, subclases y rangos. La elección de brigada (ocho a elegir) hace variar la forma en la que se priman la subida de puntos de experiencia y en la que se reparten los puntos de crecimiento de las stats. Por otro lado tenemos tres clases iniciales, que sirven para definir el tipo de armamento que podemos utilizar y la lista de habilidades que obtendremos en combate. Cuando más luchemos, mayor será nuestro rango en una clase, lo cual nos permitirá desbloquear nuevas habilidades. Además, cuando alcancemos el rango 10 de una clase inicial, podremos desbloquear sus dos subclases, las cuales tienen a su vez otras dos clases avanzadas que también desbloquearemos cuando alcancemos el nivel 10 de sus respectivos rangos.

 Podemos seleccionar ocho brigadas.

    Y por otro lado tenemos el talón de aquiles del juego: Los diálogos. No me mal interpretéis, el juego tiene gran cantidad de diálogos y de escenas cinéticas sublimes... Pero por desgracia no podemos charlar con la inmensa mayoría de los NPC que pueblan el juego y cuando lo hacen dan información totalmente inútil. Y la forma de que hablan, varían en función del tipo de personaje, lo cual acaba siendo demasiado desconcertante. Por lo general, los diálogos con un NPC pueden catalogarse de tres tipos:

1º) NPC que tiene un globo encima de su cabeza y que al acercarte a él sale automáticamente un cuadro de texto en la esquina superior derecha de la pantalla. Estos son los más rallantes, puesto que rompen totalmente con la inmersión del juego.


2º) NPC con un cuadrado blanco de interacción encima de la cabeza. Te acercas a ellos y pulsas el botón "A". Se dispara un menú con tres opciones: Indagar, charlar y cancelar. Todas las opciones suelen ser inútiles.


3º) NPC de juego de rol de toda la vida. ESTO SI. ¡Deberían de haber hecho todos los NPC así!


    La verdad es que la forma de disparar los diálogos es al final bastante anecdótico y en el fondo tienen su razón de ser, puesto que entiendo que los pusieron para incrementar la inmersión del jugador. Por desgracia resulta que otorgan el efecto contrario. Además, si eres amante de los juegos de rol de mesa, la linealidad de los diálogos te decepcionará, aunque esto ya es algo típico y asentado en los juegos de rol de consola. Ahora bien, este juego te deja tomar más decisiones que cualquier otro JRPG de turno... aunque luego te encuentras con la dura realidad: Muchas de tus decisiones no varían el hilo argumental.

    En lo que se refiere al sistema de misiones, éste le resultará bastante familiar a cualquiera que haya jugado a un mmorpg (videojuego de rol multijugador masivo en línea). Disponemos de las misiones típicas que implican a la trama principal y además de un ejército de misiones secundarias. Estas misiones secundarias pueden ser encargos que obtenemos a travás del panel de peticiones del Barracón Blade, que por lo general son a su vez de dos tipos: Mata X bichos de tal raza o recolecta Y items de tal tipo. También pueden ser misiones de afinidad, que nos permitirán incrementar la relación de nuestro personaje con nuestros colegas y por último están las misiones de apoyo a un NPC, o lo que es lo mismo: La típica misión que se activa al hablar con el NPC de turno.

    Por lo general, las misiones secundarias más difíciles suelen ser las relativas a la recolección de ítems. Esto se debe a que por un lado, todos los ítems tienen el mismo aspecto en juego: Son diamantes brillantes repartidos por todo el planeta. Esto significa que no sabemos qué habremos recolectado hasta que no lo recojamos al tocarlo. Para más inri, pese a que la posición de los diamantes son siempre los mismos (se recargan en x minutos), el contenido del diamante suele ser distinto a cada vez. Encima, hay items que para ser recogidos deben de haberse cumplido una serie de condiciones, como por ejemplo: objeto disponible únicamente en las montañas del norte, que además aparece sólo por las mañanas y cuando llueve. Encima el juego no te da pistas sobre como conseguir este tipo de objetos "condicionales", teniendo que recurrir a internet como única fuente de información. Y digo única fuente de información, porque según lo que he leído en los comentarios de Amazon, la guía oficial carece de algo tan básico como la lista de todos los objetos coleccionables. Y a esto añadirle que los objetos aquí están localizados al Español y que a su vez la Wii U es una consola que se ha vendido muy poco en nuestro país... por lo que "googleando" tampoco te asegura que encuentres una respuesta a tu búsqueda.

Gráficos

    A groso modo y sin tapujos, puedo afirmar que Xenoblade Chronicles X es precioso y superior a muchos juegos que hemos visto no sólo en Wii U, si no también incluso en PlayStation 4. También es cierto que en la nueva generación de consolas se han publicado muchos títulos basura... Pero no miento al reconocer que Monolith Soft ha sacado un título de Wii U que no parece de Wii U.




El juego consta de una gran cantidad de escenarios increíblemente hermosos.

     Ahora bien, los gráficos pese a ser preciosos tampoco son como para tirar cohetes. Vale que tiene muchos escenarios maravillosos que quitan el hipo, pero luego te encuentras con texturas poco trabajadas, pendientes planas en las puntas de las montañas, suelos donde el único relieve es la textura o personajes con una expresión corporal que dejan bastante que desear, dignas de un maniquí (sobre todo en las escenas animadas) e incluso con una larga lista de deficiencias técnicas debidas a las capacidades técnicas de la Wii U que nombraré más adelante. El problema es que los puntos bajos hacen muchas veces que los puntos altos se devalúen. En fin, todos conocemos a estas alturas las capacidades gráficas de la consola y diremos que este juego tiene un nivel muy alto de gráficos para tratarse de un título de Wii U.

 

Online

     Por desgracia no he podido probar todas las funcionalidades online del juego, no obstante, la impresión que me llevo es que el multijugador está limitado a realizar escaramuzas en un escenario limitado y no puedes, por ejemplo, pasear por el mundo e ir realizando misiones con tus compañeros.

    Ahora bien, para paliar esto Monolith Soft nos presenta un sistema similar al de Dragon's Dogma: Puedes reclutar los personajes creados por tus amigos (o de otros usuarios de internet) para que se unan a tu grupo. Es decir, tus amigos no jugarán contigo, pero puedes ir haciendo misiones en tu consola en local y con sus personajes apoyándote

Los personajes creados por tus amigos son reclutables y aparecen en la puerta del Barracón Blade.

 

Bugs, deficiencias y problemas de diseño

    La prensa ya ha tildado este título de obra maestra y tras leerme, por ejemplo, la revista Hobby Consolas (número 294), me llama la atención de que sólo hablen de las bondades de Xenoblade Chronicles X. Puedo entender que se le de una nota altísima, pero me llama la atención de que en ninguna parte nombran nada sobre los puntos flacos del título, incluso aquellos que acabará descubriendo cualquier hijo de vecino a las pocas horas de encender la consola. Esto me hace plantearme una pregunta: ¿En Hobby Consolas juegan los juegos que analizan?

    Por ejemplo, existe un bug muy común, reproducible en el 100% de las consolas y copias del juego y que a día de hoy no se ha parcheado. En condiciones normales, cuando morís en un combate, vuestros compañeros tienen 30 segundos para matar al enemigo y así evitar el Game Over. No obstante, si el enemigo te lanza un ataque sorpresa y te mata antes de que desenfundes tu arma, nadie de tu grupo habrá desenfundado y pasarás los dichosos treinta segundos viendo cómo tus compañeros se dejan matar sin ni siquiera defenderse del agresor.

Mis compañeros se quedan mirando al vacío mientras un bicho los ataca.

    Otro bug notable, pero debido más bien a una mala decisión de diseño, aparece cuando combatimos en un lugar cerrado: Si salimos del recinto o cambiamos de planta, el combate sigue en marcha y para más inri nuestras balas traspasan todas las paredes, suelos y techos. Bueno, lo de las balas puede tener su explicación, pero si el arma es de cuerpo a cuerpo y el enemigo está en el otro lado de la pared, pues le haces pupa igualmente.

    También hay otro par de puntos de diseño que rompen totalmente con la inmersión del jugador. El más notorio es que traspasas los coches y los mechas que pasean por la ciudad. Es decir, para Monolith Soft está bien que un enemigo poderoso te pueda dar una zambonbazo que te mande 30 metros hacia atrás, pero lo de poder ser atropellado por alguna imprudencia tuya no. La cuestión es que esto parece más alguna absurda arducia para bajar la calificación PEGI para hacer el juego accesible a los chavales de 12 años.

No puedes ser atropellado en el juego, los coches y los mechas te traspasan.

    Otro problema muy notorio es el tema de la carga de objetos y texturas. Me explico, los creadores del juego han optado por que podamos usar un juego sin tiempos de carga. Es decir, que puedes ir andando desde un punto A en una esquina del continente hasta un punto B en la esquina contraria pasando antes por un punto C en plena ciudad sin tener que mostrar ninguna pantalla de carga. Para realizar este truco se carga un modelado del mundo completo con las texturas en baja resolución y se van cargando en segundo plano los actores de la escena y las texturas en alta resolución de la zona. En pocas palabras: Si corres rápido (o si realizas un "viaje rápido") te encuentras con enemigos gigantes que aparecen de la nada y con texturas de baja calidad. ¿La razón? Problemas técnicos de Wii U: Leer desde un DVD es más lento que leer desde un disco duro. Para "solucionar" este problema, Nintendo te permite realizar una descarga extra con más de 10GB de ficheros donde se incluyen las texturas del juego.

En primer plano: Texturas en baja resolución.

Correr rápido y que te aparezca un bicho mastodóntico de la nada, acojona.

 

¿Problemas de presupuesto?

    Otro punto decepcionante del juego, es que reutilizan muchísimo los modelos. Por ejemplo, podemos ver una y otra vez en distintas zonas a los mismos tipos de enemigos con distintos nombres y distintos niveles de dificultad; Además de disponer también de una cantidad ingente de armaduras que a priori muchas de ellas son idénticas pero de distinto color. Vale, cambian los stats, cambian los nombres, cambia todo... menos los modelos. Un viejo truco que venimos degustando desde la saga Mortal Kombat y sus ninjas mutlicolor.

    A esto hay que sumarle lo poco explotada que está la ciudad central. Estamos en una ciudad con una zona industrial, una zona militar, una zona de comercio.... y sólo tenemos una tienda. Sí, cada episodio contamos con algún fabricante de armas nuevo. ¿Pero de qué sirve tanta inmersión y tanto decorado si luego resulta que absolutamente todo lo compras en la misma tienda, la cual encima no se encuentra en la zona comercial de la ciudad?

    No nos confundamos, Xenoblade Chronicles X es un juego de sobresaliente, pero no de matrícula. Y lo peor es que no es de matrícula de honor porque los creadores no han querido. Parece ser que durante la etapa de desarrollo, Monolith Soft ya sabía que Wii U no había vendido mucho y por consiguiente digo yo que habrán querido recortar en el presupuesto del juego. Es la única explicación que encuentro, puesto que no es normal que el juego cuente con una buena cantidad de detalles cuidados con mucho mimo y luego encontrarte una completa dejadez en muchos otros. Por lo menos esa es mi sensación, cuando ves los detalles geniales que tiene te das cuenta que los desarrolladores del juego son buenos y por eso a veces cuesta entender por qué otras áreas sufren una completa dejadez. Mi única explicación posible: Problemas de presupuesto. Es decir, estos señores no hicieron un juego perfecto porque no querían gastar más dinero en hacerlo... y vistas las ventas de Wii U parece que la jugada les ha salido bien.

 

Censura en la versión occidental

    Sí, además de todo lo que he comentado antes, resulta que la versión europea y americana contiene censura. Ahora bien, se trata de una censura menor y sirve para volver al juego más políticamente correcto:
  1. En la pantalla de creación de personajes, las mujeres tenían una opción extra para cambiar el tamaño de su busto en la vesrión japonesa. Esta opción extra ha sido eliminada.
  2. El juego tiene una compañera menor de edad: Lin. En su caso, las armaduras y prendas de vestir que enseñan más carne son más recatadas.

Valoración personal

    Mi primera impresión es que nos encontramos ante un juegazo, de esos que resultan ser los buques insignia de una consola. Pero no es ni mucho menos perfecto, puesto que contiene un amplio número de limitaciones que afectan en la inmersión del jugador. No obstante, estamos ante una aventura épica y bien narrada, de esas que enganchan de principio a fin y que está sublimemente amenizada con una extraordinaria banda sonora y un adictivo sistema de combates. ¿Vale la pena comprarlo? Sí, de hecho lo recomiendo si tienes la Wii U. Ahora bien, la pregunta del millón: ¿Vale la pena comprarse una Wii U por él? Bueno... seré franco: No.


24 noviembre 2015

.Net Core en Linux

    El 19 de noviembre Microsoft liberó su versión RC de .Net Core, una versión opensource de su famoso framework .NET que funciona tanto en Linux como en Mac.

    La verdad es que vengo usando desde hace mucho tiempo Mono, una alternativa multiplataforma que a día de hoy mantiene Novell y que compatible con dicho framework de Microsoft. No obstante, siempre viene bien probar qué tal funcionan las herramientas nativas y "oficiales".

    La instalación a priori resulta bastante sencilla, seis comandos de shell:
  • sudo apt-get install libunwind8 libssl-dev unzip
  • mozroots --import --sync
  • curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh
  • dnvm install latest -r coreclr -u
    Para ir abriendo boca he creado un sencillo "HolaMundo.cs" en Vim y un sencillo project.json:



    Y lo he compilado y ejecutado realizando los siguientes comandos:
  • dnu restore
  • dnx run

    Aún es pronto para dar una valoración general, pero ya es un buen comienzo, aunque sólo haya probado con un triste ejemplo de "Hola Mundo". Si os pica el gusanillo, podéis ir mirando también el proyecto de ASP .NET 5 para Linux/Mac o incluso darle un vistazo a Visual Studio Code, un editor multiplataforma que también ha liberado Microsoft.


    Os aviso que sigo teniendo otro tipo de preferencias a la hora de programar, pero no está mal darle un vistazo a modo experimento.

Bibliografía:

06 noviembre 2015

Os presento a Matías

    Os presento a Matías y aparentemente es mi nueva mascota. Es un saltamontes gigantesco que apareció en mi cortina hará una semana y desde entonces no se ha movido de ahí. Lo cual es sorprendente porque vivo en plena ciudad y en un décimo tercero.

    El animalito está vivo, puesto que cuando te acercas a él se aprecia que mueve las antenitas. No obstante apenas se ha desplazado un poquitín durante la semana, por lo que creemos que está invernando en nuestras cortinas. Y si os lo estáis preguntando, resulta imposible retirarlo de ahí, está muy bien agarrado y no atiende a sustos. En fin, parece que se quedará con nostros una temporadita.


30 octubre 2015

Occidente incívico

    Tengo la convicción de que no llegaré a viejo. No, no me mal interpretéis. Tengo buena salud, un trabajo que adoro y una familia que me quiere. No obstante, estoy convencido que algún día moriré por accidente debido a algún tipo de negligencia cívica de algún vecino. Y cuando hablo de algún vecino no me refiero a la gente que vive en mi zona, si no al resto de habitantes de mi ciudad, en general.

    Y es que a mi me revienta la falta de civismo de la gente, soy esa persona que acata las reglas y que no soporta ver a una bicicleta saltándose un ceda el paso para peatones, a un vecino metiendo su publicidad en el buzón de otro, a un retrete con papel higiénico tirado en el suelo o a un viandante que no evita que su perro mee en una farola. Encima soy un toca pelotas, soy esa clase de persona que si ve un acto incívico suele protestar al instante, sin callarse. Uno puede callarse una vez, dos, tres... pero es que ya son tantas las gilipolleces que un servidor padece en su día a día que lo único que puede hacer es espetar con la esperanza de que algún día Occidente cambie.

   Y sí, hablo de Occidente y no de Valencia o España. Aunque parezca mentira, en general he visto el mismo desnivel de civismo en Francia, Bélgica, Inglaterra e incluso Brasil y Argentina. Cuando te topas con algún gilipollas, da igual su idioma o cultura, su nivel de gilipollez es universal. La única parte del mundo donde no he podido apreciar semejante nivel de falta de civismo es en Japón, pero eso ya es otro mundo... y a pesar de las diferencias culturales entre Asia y Occidente no creo que esto sea un problema cultural, ni de inteligencia, si no de educación. El mundo occidental es grosero y maleducado. Y punto. Somos lo que los romanos llamaban "bárbaros".

   Dejadme que os ponga los antecedentes... ¡pero es que ya no sé ni por dónde empezar! Hace unos meses unos chavales de instituto casi me hacen volar una pierna. No, no eran vándalos. Eran niños de mamá, como el tuyo o el de tus hermanos. Una mañana, iba yo tranquílamente al trabajo y unos chavales me gritaron "¡cuidado!". Acto seguido me encuentro con un "pedazo de petardo" aterrizando debajo de mi pie derecho. Le pegué una patada y lo desvié a un árbol. Todo molesto me dirigí a ellos para recriminarles. Al final lo que pasó es que al estar en la edad del pavo símplemente tiraban los petardos a lo lejos, pensando que al ser un lugar apartado nadie aparecería.

  Otro ejemplo. Hace dos semanas me dió por tirar la basura un viernes noche. Cual fue mi sorpresa al abrir la puerta de mi portal y encontrarme a un corrito de chicas turnándose para mear. Sí señores, una de ellas estaba meando en la puerta de mi portal. Se ve que a pesar de ser una zona de copas con decenas de negocios abiertos y varios jardines por la zona, el mejor lugar para mear no era un árbol o un retrete, era el portal de mi casa. Las chicas al verme se asustaron y se fueron alejando. Vista la reacción me dediqué a hacer lo mío, dirigirme al contenedor de basura... pero poco antes de llegar escuché a una de las chicas quejarse:
- "¿Pero a quién se le ocurre bajar la basura a estas horas?"
   Me hervió la sangre, me giré y les chillé:
- "Perdona, ¡pero yo tiro la basura cuando me da la gana! ¡Lo que no voy a hacer es irme a tu casa a mearme en tu puerta! ¿O sí?"
    La chica, acojonada por mi mirada de asesino, me dió la razón asintiendo tímidamente con la cabeza mientras desaparecía a la lejanía con la vergüenza de ser mirada por el resto de viandantes que acaban de enterarse de su fechoría.

    Y es lo que tienen las zonas de copas. ¿Se pueden creer que yo no puedo aparcar mi coche en mi barrio? Llevo puestas denuncias por encontrarme rotos ambos retrovisores, el limpiaparabrisas trasero o incluso haberme robado los tapacubos... cada uno de esos destrozos en días distintos. Y no, nadie me tiene manía, son los putos borrachos de los pubs, que destrozan los coches de las zonas por diversión. O por lo menos, esa es la explicación que me dió la policía. Y deben de tener razón, porque desde que no aparco en mi barrio mi coche está intacto y de vez en cuando encuentro en mi zona otros coches con destrozos.

   Pero que no pare la fiesta. Ayer, por las 23:15h, volvía de casa de mis padres porque necesitaban ayuda urgente para cierto tema. Y al pasar por Blasco Ibañez, que para quién no conozca mi ciudad es un barrio de "gente de bien" (donde la gente, pese a no ser millonaria, digamos que no pasa hambre), una botella de plástico rellena de un líquido sospechoso cayó desde una gran altura y aterrizó justo a mi lado. No me mató de milagro. Tuve suerte de que un árbol amortiguó la caída de la botella y desvió ligeramente su trayectoria. También tuve suerte de no ser salpicado. Miré al cielo y grité en buen español: "¡hijo puta!". Pero nadie se asomó por el balcón. Habría sido una muerte muy absurda. Ya me imagino el titular en la prensa: "Vecino muere al caerle una botella de dos litros de pis desde un décimo tercero".

   Y siguiendo con el festival. Volvía hoy del trabajo en bicicleta por una avenida de tres carriles... hasta que me encuentro con el típico coche aparcado en doble fila. Pero no me refiero al típico coche que se arrima a la derecha para dejar pasar al resto de gente. No, eso sería lo fácil. Era el coche del típico gañán que lo aleja del bordillo, situándolo en el centro del carril, sin dejarte espacio para adelantarle por la izquierda o esquivarlo por la derecha. Me dejó, literalmente, bloqueado. No podía adelantarlo porque los coches pasaban como obuses por el otro carril. Adelantar a ese coche, en ese momento, era el equivalente a poder morir atropellado y para más inri delante de ese coche había otro coche de la policía nacional, también en doble fila. Olé, olé y olé.

   Cuando el tráfico paró, adelanté al coche con el asombro de encontrarme con que durante todo ese tiempo el "fill de puta" del conductor estaba al volante. Es decir, esa persona estuvo ignorando mis pitidos y mis gritos. No obstante, me cobré la venganza. Advertí al policía nacional, el cual también se encontraba en el volante de su coche, de que "el coche de atrás está molestando al tráfico".
- "Ok, ahora voy a hablar con él."
   Y no contentos con mi versión sebastiana de Destino Final, esta no sería la última liada parda de la semana. No pasó ni una hora cuando al abrir la puerta del ascensor de mi finca, ¡un vecino tiró una naranja por el hueco de las escaleras! ¡Pero que coño es esto! Vale que una naranja, a diferencia de una botella de dos litros de pis, no mate si cae desde un décimotercero, pero oye, ¡te deja tontín igualmente!

    Y mientras todos estos tontitos pululan por le mundo haciendo méritos para conseguir hacer realidad una Simiocracia, resulta que para Rajoy y Sánchez lo más urgente es frenar el pulso nacionalista de Artur Mas por anticonstitucional. ¡Tócate los cojones! "Quins fills de putes!". Estamos hablando de dos personas que se ventilan la constitución a su gusto. ¿Qué fue eso de que cada español tiene derecho a un trabajo y a disfrutar de una vivienda digna? A día de hoy, España tiene el mismo nivel de paro que Palestina y no creo que Palestina tenga un nivel de economía sumergida menor al de nuestro país. Eso sí, para esos dos gañanes la gran crisis constitucional es Cataluña. Con gilipollas así, es normal que nuestra sociedad esté cívicamente muerta. Si les falla el diagnóstico, es más que natural que les falle el remedio.

11 octubre 2015

Sword Art Online

Imagen promocional de la serie: Asuna y Kirito, protagonistas principales.

    Sword Art Online es un anime de dos temporadas muy diferenciadas de 14 y 11 episodios respectivamente, basadas a su vez en una serie de novelas de bolsillo escritas por Reki Kawahara. Su historia no hace gala de grandes alardes, pero engancha de tal forma que cuenta con una secuela de 24 episodios, además de 8 series manga y 4 videojuegos (dos de los cuales son "remakes" del primero). Ante tanta y tan abrumadura información, quisiera tranquilizaros un poco, puesto que hoy sólo os hablaré de la primera temporada de la primera serie de animación.

    Vamos por partes: Nos encontramos en el año 2022 y acaba de salir a la venta Sword Art Online, un MMORPG (Videojuego de rol multijugador masivo en línea) para la consola Nervegear, un casco de realidad virtual que ha revolucionado la industria de los videojuegos y donde S.A.O. parece ser el primer juego diseñado para poder aprovechar el 100% de su hardware. Gran parte de este mérito se debe a que el productor del juego es ni más ni menos que el mismo que ha creado la consola: el ingeniero Akihiko Kayaba. No obstante, la distrubuidora sorprende a los consumidores al poner en la venta tan sólo 10.000 copias en su primer día de lanzamiento.

    Y entonces conocemos a Kirito, betatester y protagonista principal de la serie que por descontado ha conseguido hacerse con una copia del juego. Este juego nos lleva al mundo de fantasía de Aincrad, donde haciéndo gala de una temática medieval debemos de recorrer una torre de 100 plantas. Kirito fue en su día el betatester que más alto llegó, pero le corroe en la cabeza no haber podido pasarse el juego y ahora quiere ser el primer jugador en llegar a la planta 100. Pero mira tu por dónde, que nada más ingresar en Aincrad (nombre del mundo virtual donde transcurre la acción de S.A.O.) se echa en falta una opción importante: El botón "log-out" ("Desconectarse") está deshabilitado.

    Suenan unas campanas y los diez mil jugadores son teletransportados a la plaza principal, donde aparece el avatar de Kayaba (creador del juego). Ahí les explica que la ausencia del botón "Desconectarse" no es un bug, si no una de las funciones estrellas del juego y les explica que se encuentran en una partida de vida o muerte:
  1. Si se muere en el juego, el Nervegear freirá el cerebro del jugador.
  2. Si se intenta quitar el caso, el Nervegear también le freirá el cerebro.
  3. La única forma de sobrevivir es pasarse el juego, es decir, hay que llegar a la planta 100.
     No contentos con el trolleo de Kayaba, éste les da otra sorpresa. Para incrementar la inmersión de los jugadores, les obsequia a todos con un espejo que aplica a todos ellos su aspecto físico real. Es decir, tu personaje virtual tiene tu aspecto físico exácto: Raza, sexo, altura, edad, rasgos faciales...

    La histeria se apodera de los jugadores y muchos mueren en los primeros días, lo cual hace crecer un sentimiento generalizado de ira contra los betatesters, puesto que muchos jugadores piensan que estos se han comportado de forma egoista al no haber hecho todo lo posible para ayudar a los novatos a sobrevivir y tras la muerte del primer jefe final sale a relucir que Kirito era uno. En ese momento nuestro protagonista decide pasar olímpicamente de los demás usuarios, realizar su camino a la cima en solitario y de paso decide hacerse llamar con uno de los insultos que recibe: Beater (Betatester + cheater).

Más información:

13 septiembre 2015

Seafile, una nube opensource

Motivación

    Llevaba un tiempo buscando alternativas de almacenamiento en la nube desde que se anunció la muerte de Ubuntu ONE a mediados de 2014. Vale que los chicos de Canonical no reinventaron la rueda, pero su servicio funcionaba bastante bien. Tenía sus bugs y los clientes de Windows y Mac eran demasiado básicos, es cierto, pero cumplía bastante bien con mis necesidades.

    Antes de descubrir Ubuntu ONE utilizaba Google Drive para albergar documentos en la nube... pero realmente es algo que nunca me ha gustado mucho, puesto que hoy Google da miedo. Sabe demasiado y tampoco es cuestión de que filtre contenido a entidades dudosas como la NSA. Ya me dirán a mi por qué un servicio secreto de un país extranjero pudiera estar interesado en leer mi hoja de gastos mensual... En fin. Lo único bueno es que si algún día perdemos el móvil o la contraseña de GMail podremos escribirle una carta a la NSA o a la CIA para que nos los chiven :-).

    A pesar de ello, aunque más bien por motivos laborales, me vi en la obligación de coquetear con Office 365 y su flamante One Drive. Pero esa solución no me gustaba, porque era de ir de Guatemala a Guatepeor (pido disculptas a los guatemaltecos, pero es una expresión muy arraigada en la cultura española). Llevo trabajando casi un año como administrador de varios repositorios de SharePoint Online y aunque One Drive sea seguro y una delicia con su integración de Office Online, yo mismo he podido observar hasta qué punto un administrador puede ojear este tipo de archivos (con permiso de los usuarios finales, claro está). Pero claro, ¿y si un administrador de Microsoft que esté descontento desea mirar mi One Drive?

   Aunque él, a priori, no tenga permiso de administración sobre mi cuenta puede proclamarse como tal sin que yo reciba una notificación al respecto. Recordemos, que en pleno siglo XXI ya han robado contraseñas de eBay, Adobe e incluso de la PlayStation Network, recordando señores que la consolas de sobremesa de Sony suelen ser las más vendidas. No es que sea un terrorista en potencia, pero no quiero que los hackers que robaron en su día las fotos de centenares de famosas que posaron con sus iPhones como Dios les trajo al mundo puedan hacerse por ejemplo con el código fuente del último juego que esté programando.

   La cosa es que leyendo el número 91 de la revista francesa "Linux Pratique" leí un reportage sobre Seafile que me resultó interesante y tras trastear un poco con una de mis Raspberries Pi tengo que decir que funciona bastante bien, puesto que permite hacer lo que andaba buscando: Un usuario puede gestionar/sincronizar varias bibliotecas (carpetas), tiene soporte para multiusuario y permite la compartición de una biblioteca con varios usuarios... y ni Google, ni Microsoft, ni Facebook tienen por qué enterarse de la existencia de mis archivos.

Descripción del Software.

    Seafile es una solución que consta de dos partes: Un programa servidor donde gestionamos los usuarios, grupos, bibliotecas y albergamos todos los datos; Y un programa cliente por cada ordenador que necesite conectarse.

    El servidor a su vez puede parametrarse con el navegador web gracias a un servidor web que lleva embebido y a su vez se puede instalar con muy pocas líneas de consola. Por desgracia, por defecto parte del tráfico se realiza en claro, a través del protocolo HTTP. No obstante, aparentemente esto se limita únicamente al login (lo cual no es poco...) y además Seafile nos permite proteger las bibliotecas con contraseñas, permitiendo a su vez el cifraje del contenido. De todas formas en esta entrada explicaré también como modificar y utilizar un servidor Apache 2 local para forzar el uso de SSL (protocolo HTTPS) de forma que nuestra comunicación sea 100% cifrada.

Instalación del servidor.

    Necesitamos una máquina Linux y tener derechos de administrador. En este caso voy a explicar el proceso para instalarlo en una Raspberry PI, máquina que se adapta a mis necesidades. No obstante, recomiendo encarnizadamente (sobretodo si trabajas para una empresa) utilizar un servidor serio, como pudiera ser una máquina Red Hat EL o una Ubuntu Server. El servicio funciona muy bien en una Raspberry PI, pero porque apenas lo utilizo para dos usuarios y utilizo una cuota de espacio reducida (10 Go). Si también pretendes utilizar una Raspberry PI vete mentalizando en comprarte un disco duro externo.

    Los programas necesarios para instalar el servidor son los siguientes: Python 2.7, Python Setup Tools, Python Imaging y SQLite 3. Estos pueden instalarse con el siguiente comando en las máquinas debianitas (Ubuntus inclusive):
apt-get install python2.7 python-setuptools python-imaging sqlite3
Entra en el directorio /srv y descarga la versión deseada. En este caso voy a descargar la versión estable 4.3.0:
  Debian 64 bits:
wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_4.3.0_x86-64.tar.gz
  Debian 32 bits:
wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_4.3.0_i386.tar.gz
  Raspberry PI:
https://github.com/haiwen/seafile-rpi/releases/download/v4.3.0/seafile-server_4.3.0_pi.tar.gz
Nota: Si tienes problemas con las URL, puedes conseguir las más actuales desde https://www.seafile.com/en/download.

Creamos los directorios necesarios:
mkdir -p /srv/seafile/installed
Y descomprimimos el tar.gz y lo guardamos en installed:
tar -c /srv/seafile -zxf seafile-server_*.tar.gz
mv seafile-server_*.tar.gz /srv/seafile/installed
 A continuación ejecutamos el instalable:
/srv/seafile/seafile-server-4.3.0/setup-seafile.sh
    El instalable nos preguntará el nombre del servidor y la IP/dominio de éste. Si vas a usarlo únicamente en tu red local, indica sin miedo la dirección IP del servidor donde estás realizando esta instalación. Si por el contrario quieres hacer que el servicio esté también disponible fuera de casa, te recomiendo registrarte en un servicio de dominios dinámicos, como pudiera ser http://freedns.afraid.org, para encargar un subdominio gratuito y utilizarlo para rellenar dicho parámetro de la instalación.

    También se te preguntará por el directorio donde guardar los datos que vas a ir albergando tus bibliotecas (en caso de que vayas a usar una Raspberry PI, sería interesante indicar aquí el directorio de un disco duro externo) y el puerto por donde se atenderán las peticiones (por defecto 8082). Si quires que tu nube sea accesible desde fuera de casa, recuerda mapear una regla en tu router para que el puerto 8082 apunte al 8082 de esta máquina.

Primer arranque.

 Ejecutaremos seafile.sh y después el seahub.sh, en ese orden y ambos con el parámetro start:
/srv/seafile/seafile-server-latest/seafile.sh start
/srv/seafile/seafile-server-latest/seahub.sh start
    En este primer arranque la aplicación nos pedirá que ofrezcamos el correo electrónico del administrador (se utilizan las direcciones de correo como los identificadores de cuenta, es decir, hace falta dar un correo electrónico para poder loguearnos después en la cuenta que estamos creando) y la contraseña que tendrá la cuenta.

Creación del servicio.

    Vamos a añadir el siguiente script, basado en el que hay disponible en el manual de Seafile y en el suministrado por la revista francesa Linux Pratique, pero adaptado a mis necesidades. Este script deberá almacenarse en /etc/init.d/seafile:
### BEGIN INIT INFO
# Provides:             seafile
# Required-Start:       $network
# Required-Stop:        $network
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
### END INIT INFO

seafile_dir="/srv/seafile"
scripts_path="${seafile_dir}/seafile-server-latest"
seafile_init_log=${seafile_dir}/logs/seafile.init.log
seahub_init_log=${seafile_dir}/logs/seahub.init.log

case "$1" in
        start|restart)
                ${scripts_path}/seafile.sh $1 >> ${seafile_init_log}
                ${scripts_path}/seahub.sh $1 >> ${seahub_init_log}
        ;;
        stop)
                ${scripts_path}/seahub.sh $1 >> ${seahub_init_log}
                ${scripts_path}/seafile.sh $1 >> ${seafile_init_log}
        ;;
        *)
                echo "Usage: $0 {start|stop|start}"
                exit 1
        ;;
esac
Y a continuación registramos el servicio:
chmod a+x /etc/init.d/seafile
update-rc.d seafile defaults
Y probamos:
service seafile stop
service seafile start
    Al cabo de un minuto podrás acceder a la interfaz web, insertando la dirección IP del servicio y accediendo por el puerto 8000. Ejemplo: http://192.168.0.20:8000

    En esa página web podrás crear todas las cuentas de usuario que creas necesario, crear bibliotecas, gestionarlas a grupos, etcétera.

    Tu nube ya está lista para usarse. Ahora, sólo tienes que instalar uno de los diferentes clientes disponibles para Windows, Linux, Mac OS X, iOS o Android: https://www.seafile.com/en/download.
 

Configurando SSL.

    Si vas a hacer accesible tu nube fuera de casa (es decir, que sea accesible por internet) resulta recomendable configurar Seafile para utilizar el protocolo HTTPS en detrimento del HTTP.

    El primer paso es instalar un servidor apache:
apt-get install apache2
    A continuación necesitamos instalar una serie de programas "privativos". Revisa que en tu /etc/apt/sources.list tenga habilitado los repositorios non-free, contrib y las fuentes (deb-src).
Ejemplo de sources.list de Raspberry PI:
root@Editor /home/sebas # cat /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
deb-src http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
     Y actualizamos las listas:
apt-get update
   Instalamos el paquete python-flup:
apt-get install python-flup
    Y ejecutamos las siguientes líneas para instalar el paquete libapache-mod-fastcgi:
apt-get update && apt-get -y upgrade
apt-get install postfix ntp ntpdate
apt-get install apache2-mpm-worker php5-fpm php-apc
apt-get install debhelper dpatch libtool cdbs libapr1-dev apache2-threaded-dev
apt-get -b source libapache-mod-fastcgi
dpkg -i libapache2-mod-fastcgi*.deb
    Activamos los siguientes módulos de Apache:
a2enmod rewrite
a2enmod fastcgi
a2enmod proxy_http
    Editamos el fichero de configuración de Apache (apache2.conf) para añadir la siguiente línea al final:
FastCGIExternalServer /var/www/seahub.fcgi -host 127.0.0.1:8000
    Entramos en /srv/seafile/conf y generamos aquí el certificado SSL:
openssl genrsa -out privkey.pem 2048
openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095
    Se te preguntará una serie de datos. Muy importante: El nombre del host debe de concidir con el dominio (subdominio también) de la máquina. Es decir, no pongas la IP local de tu máquina. Si has reservado por ejemplo el dominio "manolo.com", ese debe de ser el nombre del host en la generación del certificado. Si empleas un subdominio, por ejemplo "cloud.manolo.com", ese deberá de ser el nombre del host. Si no, los navegadores catalogarán tu certificado como "No confiable".

Nota: Tendrás que renovar el certificado cada 1095 días y los navegadores se chivarán de que se trata de un certificado auto firmado.

    A continuación editamos el fichero /etc/apache2/sites-enabled/000-default-ssl con el siguiente contenido:
<IfModule mod_ssl.c>
<VirtualHost *:443>

    ServerName my.domain.com
    DocumentRoot /var/www
    Alias /media  /srv/seafile/seafile-server-latest/seahub/media

    SSLEngine On
    SSLCertificateFile /srv/seafile/conf/cacert.pem
    SSLCertificateKeyFile /srv/seafile/conf/privkey.pem


    RewriteEngine On

   
        Order allow,deny
        Allow from all
   

   
        Order allow,deny
        Allow from all
   


    #
    # seafile fileserver
    #
    ProxyPass /seafhttp http://127.0.0.1:8082
    ProxyPassReverse /seafhttp http://127.0.0.1:8082
    RewriteRule ^/seafhttp - [QSA,L]
    #
    # seahub
    #
    RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</VirtualHost>
</IfModule>


    Verificamos de nuevo que la configuración de nuestro Apache sea correcta:
a2enmod rewrite ssl actions include
    Y reiniciamos Apache:
service apache2 restart
    A continuación, editaremos el fichero /srv/seafile/ccnet/ccnet.conf y modificaremos el valor de SERVICE_URL para usar el protocolo https. Si vas a poner una regla en tu router, sería recomendable ponerle las cosas difíciles a los hackers, haciendo que el puerto de acceso del HTTPS no sea el 443. Es decir, puedes crear una regla para que el puerto externo 7799 apunte al puerto 443 (el correspondiente al https) de este servidor. De esta forma, deberías de modificar el valor de la variable de la siguiente forma:
SERVICE_URL = https://my.domain.com:7799
Pero si te vas a limitar a usar el puerto 443 por defecto, déjalo de la siguiente forma:
SERVICE_URL = https://my.domain.com
Siguiendo dicho patrón, editamos el  /srv/seafile/seahub_settings.py para editar la linea
FILE_SERVER_ROOT:
FILE_SERVER_ROOT = 'https://my.domain.com:7799/seafhttp'
Y por último editamos el script /etc/init.d/seafile para reemplazar la primera línea "${scripts_path}/seahub.sh $1 >> ${seahub_init_log}" por "${scripts_path}/seahub.sh start-fastcgi >> ${seahub_init_log}" y reiniciamos el servicio:
service seafile stop
service seafile start

 Bibliografía:


06 septiembre 2015

Rokka - Braves of the six flowers

Póster promocional de la serie.

    "Rokka no yuusha" ("Rokka - Braves of the six flowers" en inglés) es un anime producido por Passione que se encunetra actualmente en emisión y que a su vez está basada en una serie de novelas de bolsillo escritas por Ishio Yamagata. Profundizando más en la serie de anime, ésta empezó a emitirse en julio de este año y cuenta ya con una primera temporada que está a punto de terminar, de los cuales 10 de sus episodios ya pueden verse con subtítulos al castellano en Crunchyroll.

    En un principio parece que nos encontramos ante un shônen, con un protagonista prepotente que pese a no tener un aspecto físico reseñable se otorga a si mismo con el título de "El hombre más fuerte del mundo". No obstante, este escenario nos rompe por completo con un giro de trama que nos mantendrá intranquilos durante toda la primera temporada: No estamos ante un shônen, si no ante una novela de misterio. Una especie de adaptación de un caso típico de Sherlock Holmes llevado a un mundo medieval de fantasía, donde nos encontramos sin saberlo ante un esenario cerrado, con 7 actores principales que desconfían los unos de los otros y donde aparentemente uno de ellos es un traidor en potencia.

    Pero entremos en detalle. Una vez cada mucho tiempo, el rey demonio resucita y despliega a sus soldados por la tierra para convertirla en su infierno particular. Cuando esto sucede, la Diosa del Destino elige a seis hombres para combatirle tatuándoles una marca en algún lugar de su cuerpo. Siempre han sido seis y estos además serán conocidos como "Los héroes de la flor de los séis pétalos", dando a entender a su vez que cada uno de estos héroes representa uno de los pétalos de la flor del tatuaje. De hecho, si uno de los héroes muere, un pétalo se borrará de él.

   El hecho es que durante el transcurso de la historia el rey demonio resucita y que por consiguiente, la Diosa procede a otorgar los seis tatuajes. Según cuenta la leyenda, las personas elegidas deben de abandonar de inmediato sus quehaceres para dirigirse a la frontera del oeste, a la puerta de la tierra de Mokaku, para agruparse y combatir juntos al mal... pero cuando los héroes se reúnen descubren que les han tendido una trampa, la cual les impide avanzar en su aventura y que para más inri no son seis, si no siete héroes, dando a entender que uno de ellos es un impostor aliado con el enemigo y que busca el fracaso de la misión.

    Y ese es el momento donde la serie hace un giro inesperado, puesto que la verborrea dialéctica de los personajes se dispara en detrimiento de la acción, recordando en ciertos aspectos a las pausas largas que podemos haber visto en otros animes como "Umineko no naku koro ni" ("Umineko: When they cry" en inglés) o incluso Death Note (pero sin todo el gore y las matanzas gratuitas que nos otorga). De hecho, la desactivación de la trampa preparada por este supuesto "séptimo héroe" nos mantendrá ocupados toda la primera temporada de la serie.