11 may 2013

Aplicaciones de bolsillo

Desde que comencé a programar para mi persona hace ya algunos años, a lo largo de todo este tiempo siempre me han surgido necesidades que ninguna otra aplicación existente (de pago o gratuíta) conseguía paliar. Ya fuese para casos puntuales como para automatizar muchos procesos que usaba a menudo (como la creación de un servidor privado para juegos), me he visto obligado a crear aplicaciones muy sencillas y lo más portables posibles que cumpliesen un objetivo muy concreto, SER ÚTILES.

Esta entrada la dedicaré exclusivamente a compartir todas esas maravillosas creaciones que me he ido creando para variadas funciones, desde la simple obtención de la IP pública (muuuuy usado), el testeo de puertos abiertos o incluso un pedazo de script para la consola de Windows (en batch) para la preparación de un servidor de Terraria para partys privadas apoyándome en dropbox.

NOTA: estos programas han sido creados con fines muy concretos y privados, eso no significa que no podáis utilizarlos o incluso modificarlos o expandirlos, solo que el nivel de control de errores es bastante bajo (lo justo para funcionar en los casos más habituales).

REQUISITOS: los scripts los he creado bajo Win7 Ultimate y las aplicaciones java requerirán tener instalado el JRE más reciente.



Spoiler: Obtener IP pública
Una de las primeras aplicaciones que me vi obligado a crear. Hice dos versiones, una para consola de comandos y otra con interfaz gráfica que permite copiar la IP al portapapeles. La versión para consola está orientada a ser usada en scripts o por gente que le gustan más los comandos (quedas to pro delante de la gente XD), mientras que la versión con GUI esta más destinada a casos puntuales donde se requiere conocer dicha IP y pasarla rápidamente a otras personas.

Esta aplicación está creada en JAVA y te ahorra el esfuerzo de tener que conectarte a una web sobre herramientas ADSL, automatizando el proceso y ahorrándote anuncios, spam y todas esas cosas. Solo te da lo que quieres :)

Descargas:
Versión consola: http://www.wuala.com/Razorbreak-Restringed-Zone/Programacion/Java/public_ip(shell).rar/

Versión con GUI: http://www.wuala.com/Razorbreak-Restringed-Zone/Programacion/Java/public_ip(gui).rar/


Spoiler: Comprobador de puertos
Siempre que se desea montar un servidor de cualquier clase, lo primero que uno se pregunta (si no es así recomiendo leer mucha bibliografía sobre redes bajo NAT) es si nuestro servidor es visible desde cualquier lugar de internet. Esta duda se resuelve rápidamente si tenemos certeza absoluta de que el puerto bajo el que proveemos nuestro servicio está abierto o cerrado al público. Para ello me cree esta segunda aplicación (esta vez solo para uso en consola). Básicamente, le pasas una lista de puertos a probar (como parámetros) y el programa te irá diciendo para cada uno si el puerto es visible o no. Si es un puerto no válido, también lo avisará. Me gustaría en un futuro no muy lejano incluirle un testeador de rangos de puertos, aunque si bien es cierto la mayoría de las veces solo me ha hecho falta probar algunos muy concretos (de ahí que no lo haya implementado).

Al igual que el programa anterior, esta aplicación te ahorra el engorro de tener que buscar una web de ayuda ADSL para obtener esta función. Está programado en JAVA.

Descarga: http://www.wuala.com/Razorbreak-Restringed-Zone/Programacion/Java/checkport(shell).rar/


Spoiler: Spoiler: Generador de M.O.T.D.
Técnicamente hablando, no es un generador propiamente dicho, sino más bien una pequeña aplicación que escoge aleatoriamente de entre una lista de MOTDs (Mensajes del día/Message of the day) y la devuelve. El funcionamiento es muy sencillo, aunque requiere hacer uso de la consola. Junto al .jar de la aplicación es necesario incluir un fichero motds.txt donde cada línea representará un mensaje del día diferente. Al lanzar la aplicación, esta buscará dicho fichero y escogerá una de manera aleatoria mostrándolo en pantalla. Está orientado a ser usado en scripts. Si el programa no encuentra el fichero devolverá un mensaje que le puse por defecto.

Descarga: http://www.wuala.com/Razorbreak-Restringed-Zone/Programacion/Java/generate_motd(shell).rar/


Spoiler: Generador de GAMERCARD Mass Effect 3 (ME3App)
La aplicación ha sido actualizada. Ahora, además de tener una interfaz más bonita y agradable, se permite la personalización manual de la gamercard. Esto se ha hecho así por que la página de bioware del N7HQ ha sido modificada y no permite (por ahora) la actualización automática de la gamercard. De la misma forma que antes, se puede escoger donde almacenar la tarjeta.
También se le ha añadido una nueva funcionalidad que permite seleccionar de forma aleatoria de entre los personajes y armas, así como clasificarlas. La utilidad práctica a nivel de juego es nula, pero yo lo uso cuando juego con los colegas y nos imponemos ciertas reglas de juego propias, como jugar con X raza o con Y clase o con Z arma (de ahí la posibilidad de escogerlas de forma aleatorias).
Queda pendiente implementar el sistema de guardado de nuestro árbol de habilidades para nuestros personajes favoritos. Como ya sabréis, al ascender una clase todos los puntos asignados desaparecen, lo que hace que fácilmente lleguemos a olvidad una buena configuración de poderes para ciertos personajes. Con esa función pretendo que cada uno pueda guardarlas a buen recaudo para poder pasarlas o verlas en cualquier momento.

NOTA: debe instalarse necesariamente en la carpeta por defecto.
Descarga: https://www.dropbox.com/sh/tg6fzt2v36lmdja/CM7F0F73ij/Releases/ME3App.exe


Spoiler: Sistema de hosting circular para server de Terraria
El siguiente sistema que he diseñado usando exclusivamente scripts BATCH, aplicaciones JAVA y C y Dropbox permite a un circulo de usuarios compartir las labores de Hosting de servidores de juego. Concretamente este ejemplo esta pensado para montar y compartir el mismo servidor de Terraria, pudiendo adaptarse y configurarse según las especificaciones del usuario que haga de host, pudiendo jugar en el mismo mundo persistente y proporcionando la información de conexión al resto de jugadores.

El sistema requiere realizar los siguientes pasos:
1.Instalar Dropbox en cada máquina perteneciente al circulo y compartir la misma carpeta. Permitir que Dropbox sincronice automáticamente dicha carpeta.
2.Copiar a dicha carpeta el contenido del RAR (ver sección de descarga).
3.[OPCIONAL] Copiar un mundo existente a la carpeta \worlds.
4.Editar y configurar las variables del fichero start-server.bat para cargar el mundo deseado así como configurar ciertos aspectos del servidor.

Una vez terminada la preparación se puede proceder a ejecutar el .bat. El script recuperará la IP pública, buscará un puerto abierto y configurará el servidor. A continuación permitirá al host revisar si los datos son correctos y dará avisos de error si así debe ser. Si todo es correcto, basta con presionar cualquier tecla para iniciar el lanzamiento del server. Para evitar además que Dropbox actualice continuamente la carpeta conforme el mundo se va autoguardando, como medida preventiva Dropbox se cerrará, reabriéndose automáticamente al cerrar el servidor para sincronizar el mundo actualizado.

Al iniciarse el servidor, el resto de jugadores si intentan lanzarlo recibirán un aviso indicando que el servidor esta online y dando la información del mismo, impidiendo además que otros usuarios lancen por error el server (es necesario permitir a Dropbox que sincronice automáticamente).

Descarga:
AutoServer-Terraria.rar

NOTA: en caso de que el servidor no se cierre adecuadamente y se desincronice la carpeta, borrar el fichero "SERVIDOR ONLINE!.txt" que se habrá creado.
Si el script no encuentra un mapa válido en la carpeta \worlds, creará uno según la configuración que se haya editado en el .bat.
Si se produce algún error a iniciar el servidor, revisar los nombres de configuración, por si algún valor no fuese válido.


No hay comentarios:

Publicar un comentario