2015/11/11

¿Qué es el cloud gaming?

Cloud gaming. Mucha gente habla de cloud gaming... pero ¿qué es exactamente el cloud gaming?

Cloud gaming o videojuego en la nube, es un sistema por el cual un videojuego no se ejecuta en tu máquina local, si no en "la nube", o más bien en los servidores de un tercero, de forma que desde el lado del cliente no se necesita capacidad de cómputo ni cálculo (en resúmen, ninguna máquina potente) para poder disfrutar de los mismos.
Obviamente, esta sesión de juego tiene que llegar al cliente de alguna forma, normalmente en streaming de audio y video (esto es, como si fuera una película), pero con la particularidad de que la comunicación no es solo descendente (desde el servidor a tu sistema), si no también ascendente, porque hay que enviar los comandos de entrada del juego (mando, teclas, etc) hasta el servidor remoto. Básicamente, esto es el cloud gaming.

¿Qué ventajas reporta el cloud gaming? Muchas y variadas, algunas entraré a enumerarlas.

Desde el punto de vista del usuario:

- No se necesita una máquina potente para disfrutar de un videojuego. De eso se encarga la nube. De esta forma puedes disfrutar del último videojuego disponible que requiere muchísima CPU, RAM y demás en un ordenador viejo, en una consola de sobremesa, en un móvil, en un tablet o incluso en un descodificador de vídeo IPTV como los que muchos tenemos en casa para ver la televisión de pago.

- Puedes disfrutar de los videojuegos independientemente de tu plataforma. Esto es, si tienes un tablet pero te gusta los juegazos de PC, vas a tener posibilidad de jugarlos a pesar de que estés en un sistema operativo Android (si hay cliente para ello, claro). O si tienes un MAC, podrás jugar a la última versión del FIFA que no ha salido para el ecosistema Apple.

- Vas a tener acceso a un catálogo de juegos extenso, dado que normalmente no vas a comprar un juego, si no a suscribirte a un servicio. Imaginate un Netflix pero para juegos.

Desde el punto de vista del publisher (del fabricante de videojuegos)

- Vas a poder dar salida a tu catálogo de videojuegos de hace unos años y que ya nadie te compra. Nuevamente imagínate Netflix...

- Vas a distribuir en un entorno donde la piratería NO EXISTE NI PUEDE EXISTIR. Nadie va a descargar nada, y controlar un servicio bajo demanda es muy sencillo.


Desde el punto de vista de un proveedor de servicio (pueda ser una telco, etc)

- Vas a ofrecer un servicio de valor añadido y alta demanda de recursos y calidad sobre tu conexión a internet de alta velocidad. Sí, esa conexión donde te ha costado una fortuna el renovar tu red y donde hay que diseñar nuevos servicios para darle valor. ¿Quién quiere una fibra para navegar por internet si con 10Mbps lo haces de sobra desde el móvil?


Como ves, un sistema de cloud gaming ofrece unas ventajas interesantes tanto al usuario como al generador de contenido, que hace uso y da sentido a las nuevas infraestructuras de alta capacidad que se están desplegado actualmente por medio mundo.



2015/06/23

Windows 10 build 10130 comes with a serious bug when trying to access to a remote samba share (this doesn't happen with native Windows 2012 or later).
If you cannot access your home NAS fix is easy: Remove PIN authentication (recommended by Microsoft) and use classic user and password way.
That's all, friends.

Windows 10 build 10130 presenta un bug bastante serio (y coñazo) cuando intentas acceder a una compartición samba remota (carpeta de Windows). Este problema no sucede accediendo a Windows 2012 o posterior.
Si no puedes acceder a la NAS de tu casa la solución es sencilla: elimina la autentificación por PIN (que Microsoft recomienda) y utiliza el sistema clásico de usuario y contraseña.
Así de fácil.

Windows 10 en camino.

Casi todos los que me conocéis sabéis lo poco amigo del software propietario que soy, y en particular lo poco que nunca me ha gustado Windows.
Después de aquella versión muy buena de Windows 2000, vino XP (para muchos la mejor, para mí un puro lavado de cara a Windows 2000), la nefasta Windows Vista, la decente Windows 7, el cagarro de Windows 8 y 8.1 (ojo, a nivel de estabilidad nada que reprochar, pero se olvidaron de los sobremesa por el camino), y ahora Windows 10.
Llevo unos días trasteando con la TP, y en general mis impresiones son muy gratas. La interfaz es una vuelta en ordenadores de sobremesa a Windows 7, pero mucho más limpia y con una estética mucho más moderna. Hereda las buenas sensaciones en cuanto a rendimiento de Windows 8. Y para ser una TP en general es estable, bastante estable, incluso el Proyecto Spartan que aun lo veo un poco "pobre" en cuanto a configuraciones pero al menos rápido. En fin, que creo que Microsoft apunta por buen camino.
A ver si de cara a la release final se aclaran con el tema del licenciamiento y de una vez adoptan el modelo Apple de no cobrar por el sistema operativo y sí por los servicios sobre el mismo. Sería un punto a su favor y un claro guiño de Nadella hacia el futuro.

2015/06/21

Configurar router ASUS ac66u (o ac68u) con Movistar FTTH + Movistar TV + multipantalla

Buenas.

** IMPORTANTE: ASUS está añadiendo esta funcionalidad de serie en sus routers con el perfil Movistar Triple VLAN (no Movistar a secas). No está aun implementado en todos los routers, pero imagino lo estará a no mucho tardar. Antes de empezar con el tutorial, te recomiendo descargues y pruebes con el último firmware de ASUS oficial. En el caso del rt-ac66u, por poner un caso, ya lo incorpora. El perfil se selecciona desde LAN -> IPTV.
Si por el contrario no lo soporta o prefieres usar el firmware de Rmerlin que incluye mejoras sobre el original de ASUS, continua con el tutorial.

Tras un viernes por la noche iluminado, finalmente conseguí configurar mi router ASUS RT-ac66u para sustituir completamente a "la cosa grande y negra" (como dice mi amigo Juan Luis), manteniendo la configuración de Movistar TV y sin necesidad de tocar el desco con IP fija ni mandangas similares.

Esto, además, permite tener multicliente de Movistar TV (varios descos, Raspberry Pi, VLC, etc), lo cual en todos los tutoriales que he visto hasta la fecha es imposible (me refiero a tutoriales para el Asus con firmware AsusWRT o derivados).

Requisitos:

* Router ASUS RT-AC66U (posiblemente este método es válido para otros modelos de Asus modernos, en particular el RT-AC68U, RT-N66U, RT-AC56U, RT-AC68U, RT-AC68P, RT-AC87, RT-AC3200.

* Firmware alternativo de RMerlin AsusWRT. Este firmare es sustituto del oficial de Asus pero mantiene prácticamente al 100% su funcionalidad o la expande, con la misma interfaz. Está basado precisamente en el firmware oficial de Asus pero con mejoras y se instala simplemente como una actualización del mismo. Volver de este firmware al oficial de Asus es trivial, y basta simplemente con actualizar desde la pantalla de administración al firmware de Asus nuevamente. Es estable, MUY ESTABLE, y tan sencillo de usar como el original, pero incluye mejoras en rendimiento y algunas modificaciones necesarias para poder configurar Movistar TV vía NAT.

* IP, máscara de red y gateway de la conexión de Movistar TV. La podéis obtener del desco original siguiente los otros tutoriales al respecto. Os recomiendo la aplicación de Noltari para a partir del backup de la configuración de vuestro router actual, os indique dicha IP.

A partir de aquí, el mecanismo es él siguiente:

1- Debemos configurar nuestro router en modalidad PPPoE para la conexión a internet en el menu WAN (adjunto pantallazo). No os preocupéis en exceso por el username y password. En realidad podéis poner lo que queráis porque hace ya muchos años que Movistar pasa de hacer uso del radius para la Auth, así como si queréis poner vuestro correo electrónico, os valdrá. OJO A LOS DNS: Tenéis que usar los de Movistar. Si usáis los de Google o cualquier otro, algún servicio puede que no os funcione.



2- Ahora accederemos a LAN - IPTV y configuraremos la VLAN de acceso a internet (VLAN6). No cedáis a la tentación de seleccionar Movistar TV como proveedor porque en ese caso perderéis el puerto 3 y 4 del switch y está pensado para funcionar como bridge, meter ahí el desco y no podréis tener la televisión en el resto de los aparatos de vuestra red, que es precisamente lo que buscamos. Dejad el proxy IGMP como "disabled" para evitar que arranque con la configuración por defecto de ASUS.



3- Finalmente, configuraremos la particion JFFS. Esta es una funcionalidad que no trae el firmware original de Asus y que sirve para ejecutar algunos scripts y comandos tras arrancar el router. Aquí es donde está la "magia" de todo esto y lo que más tiempo me llevó. Se accede desde el menú Administration - System. La primera vez que lo configuréis, debéis marcar la opción de Formatear partición en el siguiente reinicio. Esto solo la primera vez. Luego pasará estar desmarcado y no lo volveremos a tocar. Además deberéis activar el acceso SSH para poder acceder por consola al router.



Con esto tendremos ya el router ASUS sustituyendo a la "cosa grande y negra", y directamente conectado a la ONT de Movistar. Ahora viene la parte divertida y la que tiene ya algo de complicación. Necesitarás un cliente SSH (putty, MobaXterm o similar en Windows) o simplemente el ssh de siempre si accedes desde Linux o MAC. 4- Accedemos via SSH a nuestro router con el usuario y contraseña que hayamos definido al configurarlo. 5- Entramos en la carpeta /jffs/scripts y creamos un primer fichero llamado services-start con el siguiente contenido (para los no versados en Unix, los comandos a continuación)
cd /jffs/scripts
vi services-start
Puslamos ESC i (escape y luego i) para empezar a meter contenido, e insertamos las siguientes líneas TAL CUAL. Debéis sustituir la IP de Movistar TV, Máscara y Gateway por aquellas que hayáis conseguido de la web de Noltari.
Ojo: Ajustad este script comentando la línea del AC66u y descomentando la correspondiente a vuestro router (AC56u, AC67u o AC68u). Las he añadido en base a las aportaciones de los comentarios de diferentes compañeros y sus experiencias.
#!/bin/sh
MOVISTAR_TV_IP=10.64.XX.XX
MOVISTAR_TV_MASK=255.192.0.0
MOVISTAR_TV_GW=10.64.0.1
# Configuramos switch para Movistar TV (VLAN2 tagged en WAN y router interno para el AC66U. En otros modelo cambiar por la correspondiente)
robocfg vlan 2 ports "0t 8t"
# AC66u: robocfg vlan 2 ports "0t 8t"
# AC68u: robocfg vlan 2 ports "0t 5t"
# AC67u: robocfg vlan 2 ports "0t 7t"
# AC56u: robocfg vlan 2 ports "4t 5t"

# Añadimos VLAN2 en puerto WAN
vconfig add eth0 2
# Asigamos IP a VLAN del router
ifconfig vlan2 $MOVISTAR_TV_IP netmask $MOVISTAR_TV_MASK up
# Añadimos rutas Movistar TV
ip route add to 172.26.0.0/16 via $MOVISTAR_TV_GW
ip route add to 172.23.0.0/16 via $MOVISTAR_TV_GW
sleep 30
/usr/sbin/igmpproxy /jffs/configs/igmpproxy.conf


Para guardar los cambios, pulsaremos consecutivalente ESC, :wq y finalmente INTRO (escape, dos pultos, w, q, e INTRO en dicho orden). Volveremos a la pantalla inicial de consola.




Repetiremos los mismos pasos con dos scripts más: firewall-start y nat-start. Los contenidos han de ser los siguientes:

Para firewall-start:

#!/bin/sh
# Habilitamos firewall
iptables -I INPUT -p igmp -i vlan2 -d 224.0.0.0/4 -j ACCEPT
iptables -I INPUT -p udp -m udp -i vlan2 -d 224.0.0.0/4 -j ACCEPT
iptables -I FORWARD -p igmp -i vlan2 -d 224.0.0.0/4 -j ACCEPT
iptables -I FORWARD -p udp -i vlan2 -m udp -d 224.0.0.0/4 -j ACCEPT
iptables -I FORWARD -o vlan2 -j ACCEPT
#Deshabilitamos filtro de IGMP en vlan2
/bin/echo 0 > /proc/sys/net/ipv4/conf/vlan2/rp_filter
/bin/echo 0 > /proc/sys/net/ipv4/conf/br0/rp_filter

Para nat-start:
#!/bin/sh
# Habilitamos NAT en firewall
iptables -t nat -I POSTROUTING -o vlan2 -j MASQUERADE
#Deshabilitamos filtro de IGMP en vlan2
/bin/echo 0 > /proc/sys/net/ipv4/conf/vlan2/rp_filter
/bin/echo 0 > /proc/sys/net/ipv4/conf/br0/rp_filter

Una vez creados los tres scripts, deberemos hacerlos ejecutables. Para ello:
cd /jffs/scripts
chmod a+x *

Ahora iremos a la carpeta de configuraciones para configurar el igmpproxy, que es el daemon que nos permite retransmitir multicast a nuestra red.
cd /jffs/configs
vi igmpproxy.conf

Puslamos ESC i (escape y luego i) para empezar a meter contenido, e insertamos las siguientes líneas TAL CUAL.

quickleave
phyint vlan2 upstream ratelimit 0 threshold 1
altnet 172.26.0.0/16;        
altnet 172.23.0.0/16;
phyint br0 downstream ratelimit 0 threshold 1

Para guardar los cambios, pulsaremos consecutivamente ESC, :wq y finalmente INTRO (escape, dos pultos, w, q, e INTRO en dicho orden). Volveremos a la pantalla inicial de consola.


Con esto ya tendremos completamente configurado el router para funcionar con Movistar TV desde cualquier dispositivo de nuestra red interna. Esta configuración se aplicará automáticamente siempre que se reinicie el router, pero podemos probarla antes ejecutando manualmente los tres scripts.

cd /jffs/scripts
./services-start
./firewall-start
./nat-start
Pruebas:

Haced ping 172.26.23.3 desde el router. Debe responder. Esto implica que services-start está funcionando.
Haced ping 172.26.23.3 desde un ordenador de la red. Debe responder. Esto implica que firewall-start y nat-start están funcionando.
Nota: desde hace un tiempo, 172.26.23.3  ya no responde a ping. Recomiendo hacer en su lugar un traceroute. Si hay respuesta desde cualquier 10.X.X.X, está enrutando correctamente.
Windows: tracert -d 172.26.23.3
Linux: traceroute -In 172.26.23.3

Conectar desco de Movistar TV. Debe funcionar. Si no funciona, el proxy IGMP no está funcionando.

NOTA: En caso de actualizar el firmware del router, estos scripts se borrarán, por lo que habrá que volver a añadirlos. No siempre es asi, pero tenedlo en cuenta.

NOTA2: Si tenéis activo en el control parental del router el filtrado por DNS, no os funcionarán las funciones avanzadas del desco (grabar, etc), porque los DNSs de los filtros no tienen esas URLs disponibles. Añadid una excepción para que el router de Movistar TV no tenga filtro parental.
Tras... ¿CINCO AÑOS?? Cielos, ¡cómo pasa el tiempo!, vuelvo a añadir alguna entrada a mi abandonado blog. La verdad es que tampoco es que pueda decir que ahora tenga más tiempo en le pasado. Nada más lejos de la realidad. Y por supuesto en este tiempo han sucedido muchas cosas que han apartado mi atención de estos temas tan mundanos y me han obligado a centrarme más en el día a día... Desde el punto de vista laboral, tal vez lo más relevante es que a finales de 2014, y muy a mi pesar, abandoné "mi empresa de toda la vida", VectorSF (ahora Vector ITC group o como quiera que lo llamen) para comenzar un proyecto totalmente nuevo y apasionante. Nada que ver con lo que hasta ahora había hecho. Vuelta a los orígenes, a una startup, a diseñar, investigar, pensar, imaginar... Hacía muchos años que no me metía tan de lleno en un día a día tan alejado de las tareas, en muchos casos rutinarias y aburridas(informes de seguimiento, presupuestos, reuniones, planes, certificaciones de calidad, politiqueos, cuchilladas traperas, etc) con las que tuve que lidiar estos últimos años. ¿Y que decir sobre PlayGiga? Pues que estamos construyendo DESDE CERO una plataforma de Cloud Gaming, o streaming de juegos desde la nube. Básicamente, para los no versados, consiste en ejecutar los actuals juegos de PC en un sistema remote (servidores muy potentes) y, en tiempo real, comprimir la imágen y enviarla hasta un visualizador que puede ser un PC, un tablet, un smartphone...un STB Android, el desco de ver la TV de tu casa... para que desde este ultimo se pueda tomar control del mismo y jugar en remote sin necesidad de tener un equipo potente ni instalar juegos, ni tener que ir a la tienda a comprar un DVD ni descargar desde Steam el programa de turno. Así, en corto. Pero sobre esto hay muuuucho que escribir que me podría llevar entradas y más entradas, además de violar mi NDA. :-)