A.G.E.S. Live - Arcade Machine SystemA.G.E.S. Live - Arcade Machine System Arcade Genuine Entertainment System (A.G.E.S.) es un pequeño pero potente Live de Ubuntu, enfocado a un uso exclusivo en máquinas arcade. El objetivo es tener un sistema mínimo pero usable que permita...

Leer más

OpenPPJoy Actualizado!OpenPPJoy Actualizado! Con todo esto de recuperar AGES anoche me quité un par de horas de sueño para actualizar OpenPPJoy a su versión 0.4z que soporta por fin el Kernel 2.6.38, las gracias a VeS que además corrigió la...

Leer más

IrisManager v1.2IrisManager v1.2 "Hermes is a messenger from the gods to humans, sharing this role with Iris." - Wikipedia IrisManager is a port of HermesManager based on PSLIGHT, Tiny3D, PS3Soundlib and OpenPS3FTP, is a completly...

Leer más

Ultracargas en Amstrad CPCUltracargas en Amstrad CPC Todo empezó este puente con la visita del viejo amigo de Dantoine, Vampire. Nos dedicamos una tarde a cacharrear (+) y probando juegos en el MSX, apareció una rom de Ghostbusters que rápidamente pusimos...

Leer más

ene
20
2012

Como modificar Minecraft para una LanParty / Servidor Privado

Artículos, Envios al blog

Que también lo podía haber llamado “como crakear minecraft”, pero hubiera sido algo amarillista, ya que las herramientas y todo el sistema son libres y está muy simplificado. Evidentemente no es que Mojang lo soporte pero tampoco creo que sea algo que realmente les moleste. De hecho las protecciones son MUY simples.

Yo inicié todo este pequeño proyecto de servidor privado para una mini-party en una casa rural y como era imposible tener internet, pues lo monté para que todos pudiéramos disfrutarlo allí :)

Minecraft Cliente 1.1 - Para la Party

Mis objetivos con este proyecto eran:
Sistema de Login de Usuarios para una LAN, Sistema de Skins/Cloaks para la LAN y multiplayer desde LAN con todo esto funcionando…

Modificar el cliente de Minecraft

Lo primero que necesitamos es descargar el Coder Pack correspondiente a nuestra versión de Minecraft (ej: para la 1.1 usaremos el MCP 5.6), este pack de utilidades nos permitirá extraer/modificar/recompilar el código fuente de Minecraft. Una vez bajado debemos copiar la carpeta [bin] de Minecraft a la carpeta [jars] de MCP y descargar de la página oficial minecraft_server.jar para tenerlo también en [jars] por si queréis echarle un ojo luego ;)

Ahora desde un terminal entramos en el directorio del MPC y ejecutamos: decompile (en ubuntu sería ./decompile.sh)
Este proceso extraerá todos los ficheros del paquete oficial y los parcheará para que sus funciones sean comprensibles para los humanos XD
Una vez terminado todos los fuentes los tendréis disponibles en la carpeta [src]. Ahora tenéis todo el juego disponible para modificar cualquier cosa que no os guste o ampliar, logros, armas, etc…

Pero nosotros vamos a algo mucho más sencillo permitirnos jugar sin internet, para ello necesitamos editar 4 ficheros.

EntityOtherPlayerMP.java

Este fichero sirve para mostrar las propiedades de los otros jugadores durante la partida multijugador (de ahí el MP). Buscad esta cadena casi al inicio del fichero:

skinUrl = (new StringBuilder()).append("http://s3.amazonaws.com/MinecraftSkins/").append(s).append(".png").toString();

Esto lo que hace es bajar el png de tu skin, y nosotros queremos que las skins las use de nuestra LAN asi que nada más facil que por ejemplo si la ip de nuestro server (con apache montado y demás) fuera 192.168.0.1 …

skinUrl = (new StringBuilder()).append("http://192.168.0.1/MinecraftSkins/").append(s).append(".png").toString();

EntityPlayer.java

De aquí vamos a buscar las cloacks y hacer que la url apunte a nuestra LAN:

playerCloakUrl = (new StringBuilder()).append("http://s3.amazonaws.com/MinecraftCloaks/").append(username).append(".png").toString();

Igual que antes usamos la ip de nuestro server:

playerCloakUrl = (new StringBuilder()).append("http://192.168.0.1/MinecraftCloaks/").append(username).append(".png").toString();

También podríamos modificar EntityPlayerSP.java pero sólo vale para el solitario, así que para este tutorial no nos interesa, si quisierais modificarlo sería lo mismo que el MP, no hay pérdida ;)

NetClientHandler.java

Este componente se encarga de comprobar que nuestro usuario y nuestra sesión son correctas, al hacer login contra el servidor oficial se nos da un identificador si no es correcto, pues no podemos entrar, lo que vamos a hacer es que esa comprobación la haga contra nuestro server (que dirá que sí a todo XD)

Buscad la cadena de iniciar la sesión del cliente:

URL url = new URL((new StringBuilder()).append("http://session.minecraft.net/game/joinserver.jsp?user=").append(mc.session.username).append("&sessionId=").append(mc.session.sessionId).append("&serverId=").append(packet2handshake.username).toString());

Y modificadla como antes a vuestra LAN:

URL url = new URL((new StringBuilder()).append("http://192.168.0.1/game/joinserver.jsp?user=").append(mc.session.username).append("&sessionId=").append(mc.session.sessionId).append("&serverId=").append(packet2handshake.username).toString());

Luego crearemos todos estos ficheros y directorios en el server, pero por el momento simplemente modifiquemos el cliente.

ThreadCheckHasPaid.java

Este fichero genera un hilo que cada cierto tiempo conecta al servidor oficial y comprueba que tus datos de login son correctos, es un hilo que está ahí consumiendo y que sólo vale para eso.

HttpURLConnection httpurlconnection = (HttpURLConnection)(new URL((new StringBuilder()).append("https://login.minecraft.net/session?name=").append(mc.session.username).append("&session=").append(mc.session.sessionId).toString())).openConnection();
httpurlconnection.connect();
if(httpurlconnection.getResponseCode() == 400 && this == null)
{
    Minecraft.hasPaidCheckTime = System.currentTimeMillis();
}
httpurlconnection.disconnect();

Yo al principio no quería tocarlo y simplemente usar mi server y añadirle un certificado SSL a apache, pero el problema es que java requiere que ese certificado sea correcto y un montón de tonterías más… total, un trabajazo para simplemente comentar esas líneas y dejar activa la línea que establece el valor de la variable Minecraft.hasPaidCheckTime para que el cliente inicie correctamente.

Y ya hemos terminado, sólo queda llamar a recompile y aunque podríamos iniciar el juego con starclient no lo hagáis aun ya que necesitamos montar la parte del servidor y luego ya comprobaremos que todo funciona correctamente.

Vamos a por el Server!

Preparar el servidor para Minecraft SMP

Damos por supuesto que tenéis un servidor apache y mysql funcionando, sois root y que tenéis acceso al directorio del servicio web. Simplemente vamos a configurar el sistema para que nos permita loguearnos contra el servidor y usar nuestras Skins. Se podría también preparar un sistema de registros (yo de hecho monté uno sencillito que nos permite subir nuestras Skins) pero como el artículo va dirigido a montar una lan-party realmente cuesta poquito dar las cuenta de alta a mano y copiar las skins.

Login del Panel de control de Dantoine

Bajad la carpetilla del servidor web, descomprimidla y comprobad con cualquier navegador que el servidor os las muestra (aunque en algunas al no enviar vuestro user/pass dará “bad login” o “cannot select DB”, claro). Explico que contiene cada carpeta:

  • [game] Contiene las comprobaciones cuando conectamos al servidor, simplemente son un par de ficheros que no comprueban nada y simplemente contestan “adelante!” XDD checkserver.jsp lo usará el servidor y joinserver.jsp como vimos lo usaba el cliente.
  • [loginusr] Un pequeño PHP  que permite a los usuarios loguear en el sistema. Nada del otro mundo, usad el SQL que encontraréis en la carpeta para instalar la tabla de usuarios. La información del mysql los coge del config.inc.php del principal. Con este fichero podríamos jugar con muchas cosas incluso obligar a los jugadores a actualizarse, la verdad que es bastante ampliable pero para nuestros cometidos es suficiente ;)
  • [MinecraftCloacks] y [MinecraftSkins] son directorios que contienen las capas y las skins de los usuarios, simplemente hay que poner ahí la skin con el nombre exacto de usuario y ya al loguear aparecerá keko con la apariencia que deseaba el usuario. Vendría bien que bajaráis unas cuantas por que si no tenéis internet, poco podréis bajar en la lan-party ;)
  • [webinfo] Es el HTML que verán los usuarios al introducir sus datos. Puedes editarlo y poner lo que quieras :)

Pues eso sería todo metéis la tabla de usuarios con phpmyadmin y dáis de alta vuestros usuarios!

Panel de control de Dantoine

Una vez logueado en el panel de Dantoine esto es lo que se veía...

MinecraftLauncher

Ya tenemos el cliente y el servidor configurados aun no podemos loguear con nuestros usuarios ya que el MCP sólo permite entrar con una cuenta por así decir anónima, sin usuario ni contraseña. Para poder loguearnos debemos usar un launcher que inicie el cliente con nuestros datos de usuario. Para eso vamos a usar una versión viejuna del lanzador de Minecraft, no podemos usar las nuevas por que requieren servidor con https y meternos con SSL, certificados y demás como dije está fuera de este artículo.

Esta versión que yo modifiqué sólo tiene un pequeño bug, que cuando pulsamos en un enlace no abre el navegador, pero vamos nada grave ;)

Launcher Modificado para Servidores no SLL

El lanzador de Minecraft viene configurado para el servidor de todo este artículo 192.168.0.1 si tu servidor estará en una ip diferente modificaremos con un editor hexadecimal los ficheros: LauncherFrame.class y LoginForm$8.class, buscad la cadena de de la ip y cambiadla a la ip que deseeis, tened en cuenta que no podéis añadir caracteres, respetad la cadena original. Si ahora la ip es tiene más caracteres os comeréis parte del directorio de apache asi que renombradlo después en el server para que coincidan.

Os veo un poco perplejos, así que pongo un ejemplo para LoginForm$8.class la cadena que encontraréis será:

http://192.168.0.1/webinfo/ (carpeta webinfo en el server)
http://192.168.0.100/winfo/ (renombramos la carpeta a winfo en el server)

El nombre me los he inventado yo, podéis poner el nombre a la carpeta que queráis siempre que mantengáis el tamaño de la cadena exactamente igual.

Una vez hemos modificado los dos ficheros con cualquier compresor podemos abrir minecraft_launcher-1.5-dantoine.jar (no es más que un zip) y actualizar ambos ficheros con las nuevas versiones.

Finalmente para iniciar el lanzador debemos indicar que inicie la clase “net.minecraft.LauncherFrame“, en windows hay utilidades que permiten generar un ejecutable que por defecto use esa clase pero en ubuntu debemos indicarla, pero nada más simple que montarnos un pequeño script que haga el trabajo por nosotros. Os dejo un simple ejemplo suponiendo que el lanzador lo metierais dentro de [.minecraft] en una nueva carpeta llamada [LauncherDantoine]:

cd ~/.minecraft/LauncherDantoine
java -Xmx1024M -Xms512M -cp minecraft_launcher-1.5-dantoine.jar net.minecraft.LauncherFrame

Ya tenemos casi todo listo volvemos al cliente para finalizar todo el proceso…

Ajustes en el Servidor Multiplayer

Para simplificarlo ya que el minecraft_server.jar intenta loguear contra session.minecraft.net, yo lo que hice fue añadir en el /etc/hosts (supongo que en windows andará por el system) la ip del server:

192.168.0.1    session.minecraft.net

 Retoques finales del Cliente de Minecraft

Antes os dejé la miel en los labios de comprobar si todo funcionaba, bueno no si se aguantasteis sin lanzar el cliente XD
Pues ya vamos a lo último, actualizar el cliente oficial para que use nuestra party-modificación ^_^’

Sencillo volvemos al terminal y desde el directorio principal del MCP lanzamos reobfuscate (siendo esta llamada en linux ./reobfuscate.sh), nos aparecerá algo como esto:

== Reobfuscating client ==
> Gathering md5 checksums
> Compacting client bin directory
> Reobfuscating client jar
> Extracting modified classes
> Modified class found : net/minecraft/src/EntityOtherPlayerMP
> Modified class found : net/minecraft/src/EntityPlayer
> Modified class found : net/minecraft/src/NetClientHandler
> Modified class found : net/minecraft/src/ThreadCheckHasPaid
> Outputted net/minecraft/src/EntityOtherPlayerMP to reobf/minecraft as qx.class
> Outputted net/minecraft/src/EntityPlayer      to reobf/minecraft as xb.class
> Outputted net/minecraft/src/NetClientHandler  to reobf/minecraft as abm.class
> Outputted net/minecraft/src/ThreadCheckHasPaid to reobf/minecraft as hc.class

Ahora como véis se han creado cuatro nuevos ficheros compilados y cifrados con nuestras modificaciones, pues ahora como hicimos con el launcher, vamos al jar oficial de minecraft que tendréis en vuestra carpeta bin del juego y sobrescribid cada uno de ellos para que ahora el cliente contenga nuestras modificaciones :D

Y por último borramos completamente la carpeta [META-INF] que contiene el jar para que el cliente no proteste por haberlo modificado.

Yo también modifiqué la carpeta de title y añadir un splash personalizado, jejej apañado que es uno :P

Disclaimer final…

Evidentemente aunque se necesita al menos alguien con el juego original, todo esto puede usarse para jugar de gratis, pero nada de mal hace a nadie usarlo para montarte tu pequeña LAN y me consta que gracias a todo esto que monté para esa pequeña reunión se han vendido un par de Minecraft más y a quien no le gustó, tampoco lo llegó luego a jugar más ;)

Aviso: Este tutorial no se actualizará, si algún día Mojang decide cambiar los ficheros, la forma de funcionar, etc… este tutorial yo lo hice para la versión 1.0 (aunque me consta que sigue siendo válido para la 1.1) y ahí se quedará, ignorando si más adelante seguirá siendo efectivo o no.

Un Saludo y espero que lo disfrutéis con vuestros colegas, nosotros lo pasamos pipa… hoguerita, minecraft y todos alrededor con nuestras mantitas ^_^

Minecraft Login - Apache Files (4.73 kB)

Subido: 20-01-2012 [Descargas: 19]

Ficheros para el servidor apache.

Minecraft Login - Launcher (76.68 kB)

Subido: 20-01-2012 [Descargas: 20]

Launcher modificado por mi para permitir usar cualquier servidor HTTP.

dic
14
2010

Ultracargas en Amstrad CPC

Artículos, Destacado

Todo empezó este puente con la visita del viejo amigo de Dantoine, Vampire. Nos dedicamos una tarde a cacharrear (+) y probando juegos en el MSX, apareció una rom de Ghostbusters que rápidamente pusimos a cargar…

Ghostbusters (MSX 1)

Cazando fantasmas en Ghostbusters (MSX 1)

El juego no estaba mal, pero parecía un remake de estos de Spectrum traspasado al MSX y le dije: “si te gusta este, espera que saco la dingoo-player y ponemos el de Amstrad CPC que lleva voces digitalizadas, verás el vicio…”

No se si conocéis el tema de cargar juegos de cinta desde un reproductor MP3, espero que si. La cuestión es que salió un proyecto de ultra cargas otla, en el cual puedes pasar de cargar un juego de cinta 6/8minutos a 30/40 segundos ¡maemia! Así que nos dispusimos a tal intento armados con una dingoo, el CPC, muchas cintas y una tarde libre ;)

Lamentablemente esa tarde hicimos muchas pruebas pero no lo conseguimos, no sabíamos si nos fallaba el cable o era alguna incompatibilidad de mi Amstrad Plus 464. Lo máximo que conseguimos fue escuchar la risa burlona del fantasma, seguida de un restart o cuelgue variado XD

Pero yo he seguido intentándolo y finalmente conseguí cargar el cargar el puñetero juego con otla en 30 segundos y lo comparto aquí no solo por si hay algún otro loco como nosotros al que toda esta mierda le resulte útil; sino para que la próxima vez que tenga una ocurrencia igual, me sirva de chuletilla ;)

Advertencias y Consejos generales

  • El binario de otla, funciona sin problemas en linux por medio de wine.
  • No uses imágenes SNA, al menos en mi CPC +, lo único que consigues es colgar el juego a los pocos segundos.
  • Otla debería funcionar con juegos multicarga y CDTs pero es muy complicado y sólo recomendable para conocedores del código máquina del Z80, ya que requiere cambiar las rutinas de carga originales y/o buscar los puntos de ejecución con debuggers. La mejor opción es si quieres jugar con algún multicarga es mantener sus fases en el formato original y usar otla para el binario principal del juego.
  • Otla, no permite tampoco cargar las pantallas del juego tal y como eran originalmente, así que mejor olvidarte de ellas, de todas formas aquí se busca velocidad de carga en el hardware original y no fidelidad. Quizás un modo que capturara del BAS su mode y paleta, salvaría este problema…
  • El proyecto parece abandonado, lamentablemente.

En definitiva, para cocinar nuestro MP3 y cargarlo en nuestro CPC, necesitamos:

  1. Un CD lleno de juegos de CPC, con sus ficheros extraídos como los que podemos encontrar aquí:
    http://webs.ono.com/cpcgamescd/
  2. Elegir uno e identificar su binario principal (el más gordo), normalmente encontraréis dos: uno será la pantalla de presentación (que ignoraremos) y el otro será el juego.
  3. Abrir otla, añadir el bloque del binario [Add Blocks] y cambiar del Header el “Loading name” manteniendo lo demás sin tocar y en la zona del Player/Wav se configura así…
Otla - Ghostbusters

Configuración de Otla para el juego cazafantasmas.

Ya sólo queda pulsar en SBB=> WAV o SBB=> MP3. A mi la conversión a MP3 me ha dado problemas con algún juego, así que recomiendo hacer al menos las primeras pruebas directamente con WAV. O bien comprimirlos vosotros mismos a una calidad alta. Ej:

lame -m s --preset cbr 256 $FILE$ $NAME$.mp3

Ya os digo, con un WAV de unos segundos, es complicarte lo de ponerte a comprimir nada. Una tontería con la que sólo ganarás unos 100kb. En CDTs originales si se nota, pero aquí no.

Una vez tienes tu fichero yo he usado la Dingoo con su player del firmware oficial que me permite sacar y meter la SD sin problema. Mi configuración: Volumen al máximo (30), Ecualizador Normal (Nada de Jazz, Pop, ni na deso) y Efectos Off (Ni Small room, Concert, etc…). Todo estos consejos seguro que os valen igual para otro reproductor aun no siendo la fantástica dingoo ;D

Dingoo (FW Original)

Dingoo (FW Original)

Por último uso una cinta de los chinos (comprada en carrefúl por 7€ grgfgfr) para cargar los juegos y os evitáis abrir el CPC, soldar… Lo único que no se es como cerrar ahora la tapa XDDD

Adaptador de Cintas

Adaptador de Cintas

Como nota curiosa a los valientes, que prueben todo este tinglado:
Si alguno ha jugado a la versión de 8 bits, recordará que la presentación era una especie de pelotita que hace las veces de karaoke y que va indicando lo que debes cantar. Pues parece que originalmente en Amstrad no era esa pelota la que te indicaba, lo que debías cantar sino otro icono del basic que fue modificado a posteriori en la carga del inicio. Este icono original sólo lo podréis ver usando la ultra carga. Suerte! 8)

Un Saludo y menuda entrada retrofrikera que me ha quedado, que seguro sólo me interesará a mi, para variar XDDDDDDDDD

dic
09
2008

Tutorial: Modeline HowTo en Español!!! (configura advmame como los MACHOTES)

Artículos

Aunque estos temas tan técnicos no parecen interesar tanto, la historia de ponerme a traducirlo fue que empecé a leerlo online y me dije:
“Voy a imprimírmelo y lo leo en el cagadero” xD

Cuando empecé a imprimirlo me di cuenta que no se imprimía muy bien, sin contar que no se imprimían las imágenes flash… Así que me puse a pasarlo a un documento de OpenOffice haciendo screenshots de los flash, cuando lo tenia todo montado vino mi cuñaillo (que también se esta haciendo una maka) y empecé a explicarle que imprimía y dijo:
“bua, que interesante si supiera ingles me lo leía de cabo a rabo”
Y le dije que me diera un par de días xD

Leer más

feb
14
2008

Tutorial: Recuperación e Instalación rápida de Terminales con Software Libre

Artículos

Dicen que ante la presión la mente se agudiza, en mi caso ha sido así ya que hace unos meses se decidió cambiar todo el parque de ordenadores del centro donde trabajo y la cantidad de curro que se me avecinaba tenía pinta de querer acabar conmigo Smiley: guiño

Realmente esto que deseo contar en el artículo dudo que sea muy novedoso, es más seguramente rebuscando por internet otros lectores hayan terminado haciendo algo parecido a lo que voy a contar. Pero no divago más y os cuento la idea.

El problema es que tengo casi 50 terminales que instalar y lo peor de todo: quieren tenerlos YA, por que los viejos se caen a cachos Smiley: HA HA HA ...

Leer más

feb
05
2008

Script para bajar videos del youtube

Artículos

Te habrá pasado como a mi que seguramente ibas mirando topics de foros con montones de vídeos interesantes,
de musica o juegos que te gustaría tener en tu ordenador y se hace pesado ir de uno en uno…
Pues bien, con este programejo por fin podrás bajarte todos los vídeos que se postean en foros vBulletin y verlos cómodamente en tu ordenador! Smiley: Muy contento!

El robot por defecto, se baja los vídeos del hilo de los vídeos setetenteros de marcianitos.org, pero se puede configurar para cualquier otro topic de foros vBulletin.

Leer más

dic
18
2007

Wine-Launcher: Como jugar con Wine+Compiz en Ubuntu

Artículos

Si hay dos cosas que puedo considerarme a mi mismo es ser un “pijo de los escritorios” y un “jugón empedernido”, esta bien que uno lo admita, pero la simbiosis en Ubuntu tiene un problema añadido si lo que intentamos es jugar usando Wine cuando tenemos activo nuestro escritorio 3D.
No sólo lo digo por su estado poco maduro, sino por que Compiz en sí, dado que usa muchos efectos y filtros, enlentece el desarrollo normal del juego.

Al principio lo que hacía era desactivar Compiz cuando iba a jugar, pero claro uno viendo que se volvía una tarea repetitiva me puse manos a la obra a crear un pequeño script que me facilitara la labor. El lanzador esta pensado para Ubuntu Gutsy (o posterior), para saber como usarlo en versiones anteriores he dejado unas notas al final del artículo. Leer más

abr
20
2007

Como unir Eclipse y nuestra negrita!

Artículos

Aunque personalmente siga usando Kdevelop para desarrollar en GP2x, estoy empezando a usar Eclipse para programar en otros lenguajes y me va gustando, asi que previa petición del foro de gp32spain, vamos a explicar como configurar un entorno de desarrollo para GP2x bajo Linux usando un proyecto que he creado como base común.

Como características el proyecto incluye un test de ejemplo y permite crear ejecutables de SDL+SDL_mixer+SDL_Image para GP2x (Debug/Release) y Linux (Debug).
Puede ser Fácilmente ampliado, ver más abajo. Leer más

jun
08
2006

Como usar KDevelop y no morir en el intento…

Artículos

Bueno este va a ser un minituto para que cualquiera que quiera pueda empezar a programar facilmente para GP2X bajo linux Smiley: Muy contento!

Este tutorial supone que tienes instalado ya tu entorno de trabajo (o toolchain) y que el siguiente paso que quieres dar es programar algo y ver como queda Smiley: HA HA HA ...

Leer más

may
19
2006

La fuerza del Estandar: XHTML + CSS2

Artículos

Con esta serie de artículos espero animaros a conocer las tecnologías que han dado lugar a este Weblog, creado desde 0 y que ahora disfrutáis Smiley: HA HA HA ...

Empezaremos preguntándonos: ¿Y que es XHTML?
- Básicamente se trata de coger el viejo y maltratado HTM y fijar unas reglas estrictas para devolver la L (Language) a nuestro compañero inseparable en esta gran red de redes Smiley: guiño

Se trata, por lo tanto, de usar cada etiqueta para el uso que explícitamente se creó. Por ejemplo, un servidor tenía la (mala) costumbre de hacer las típicas cajas de información usando tablas e imágenes dentro de ellas y claro esto, ahora ya no se permitiría…

Leer más

abr
08
2006

La Maka Linuxera para 4 Viciosillos xD

Artículos

Buenas a todos, este es mi primer post aunque sigo desde hace mucho Marcianitos, llevo muuuchos años pensando en empezar esta aventura y hoy, como veis, he dado el primer pasito. Supongo, no obstante que algunos del canal de #marcianitos ya conocen mis andanzas (Snopes :*) y tambien se que otros me conocereis de mis otros quehaceres :ph34r:

Bueno os planteo mi idea y ya entramos en materia Smiley: guiño

Leer más