Rebot: Un bot de red para aplicaciones de texto

For information in english about Rebot, please see the project page on Savannah.

Descripción

Rebot es un bot para ejecutar aplicaciones de texto plano por red.

Rebot está especialmente orientado a aventuras de texto/conversacionales o relatos interactivos pero puede utilizarse para ejecutar cualquier otra aplicación de propósito general con salida de texto.

Rebot está escrito en Perl, es una pasarela entre el protocolo de comunicación (normalmente red) y la aplicación externa (normalmente los intérpretes de aventuras de texto), su diseño es modular, el código de manejo de comunicación está separado del núcleo de modo que pueden usarse diferentes módulos para diferentes protocolos, actualmente con el paquete vienen módulos para IRC, Jabber, MSN-Messenger y transcript (volcado a ficheros de texto locales), hay más protocolos en desarrollo (text-server/telnet/MUD) y otros podrían implementarse simplemente añadiendo el correspondiente módulo, como por ejemplo: cualquier otra mensajería instantánea, SSH o incluso interfaz para la web.

El funcionamiento de Rebot es el siguiente: Rebot se conecta a un servidor IRC o de mensajería instantánea como si fuera un usuario humano, interactuando con dicho usuario bot, uno o varios usuarios humanos pueden lanzar y jugar aventuras monopersonaje o multipersonaje, cooperativamente o competitivamente. También se pueden usar otras aplicaciones de texto.

Desde la versión 0.10 rebot tiene soporte modular para aventuras multijugador (donde cada usuario maneja un personaje propio competitivo o cooperativo), en principio existe un módulo para las aventuras creadas con las librerías de Inform multifloyd/multizx (con aventuras como por ejemplo Vampiro multijugador). Está en proceso de desarrollo un nuevo protocolo genérico, potente y multisistema para aventuras multijugador con su correspondiente módulo.

Rebot ha sido probado con éxito con los intérpretes de aventuras:

Además debería funcionar sin problemas con cualquier otro intérprete o aplicación en modo texto plano.

Información adicional sobre rebot está disponible en la página del proyecto en Savannah y en su página de WikiCAAD.

Descarga

La última versión es la 0.10 (beta), disponible desde la página de descargas en Savannah.

Se puede acceder también a los últimos fuentes de desarrollo a través del repositorio GNU Bazaar por web o directamente con la utilidad bzr:

bzr branch http://bzr.savannah.nongnu.org/r/rebot/main (rama principal)
bzr branch http://bzr.savannah.nongnu.org/r/rebot/mud (rama cliente telnet/mud)
bzr branch http://bzr.savannah.nongnu.org/r/rebot/text-server (rama servidor tcp/telnet/mud)

Para los fuentes de desarrollo de la versión 0.10 o anteriores hay que acceder a través del antiguo repositorio GNU Arch mediante la utilidad tla (aunque no se pueden consultar por web sí se puede ver el log de cambios):

tla register-archive http://arch.savannah.gnu.org/archives/rebot
tla get rebot--beta--0.10

Mi clave pública PGP/GPG está disponible por si queréis comprobar la firma digital de los ficheros y de los repositorios.
Para comprobar la firma de versiones anteriores a la 0.8, deberéis utilizar mi antigua clave pública PGP/GPG.

Instrucciones y requerimientos

Los ficheros de configuración (para cada módulo) que será necesario adaptar para cada instalación están en el directorio config, llevan comentada cada opción.

Las aventuras deben residir en el directorio run/adventures, los intérpretes en run/interpreters y las aplicaciones en run/applications (aunque esto es configurable), rebot se distribuye sin estas aplicaciones de terceros, la mayoría de ellas son dependientes del procesador y sistema operativo en el que se ejecuten, de todas maneras puedes encontrar enlaces a algunos intérpretes en esta misma sección.

Rebot depende del intérprete de Perl.
Dependencias de librerías de Perl para cada módulo de rebot (no incluídas en el paquete de Rebot):

Suponiendo que se tengan instalados Perl y las librerías necesarias según los módulos de rebot que se vaya a usar, rebot se arranca simplemente desde su directorio:

./rebot.pl

o bien

perl -I. rebot.pl

Parches para que los intérpretes funcionen con rebot (deben aplicarse a los fuentes): flush para frotz 2.43 (necesario); file prompt para cheapglk y para arun (permite visualizar el prompt cuando pide un fichero de partida salvada) (opcional).

Algunos ejecutables de intérpretes ya parcheados:
dfrotz (Linux/x86)
dfrotz (Linux/powerpc)
dfrotz (Linux/arm)
dfrotz (Windows/x86)
cheapglulxe (Linux/x86)
cheapglulxe (Linux/powerpc)
cheapglulxe (Linux/arm)
cheapglulxe (Windows/x86)

Otra documentación

Está disponible una pequeña ayuda de funcionamiento y comandos. También puedes ver el fichero de cambios entre versiones.

Para los interesados en escribir módulos de protocolo para Rebot existe una documentación que explica con detalle la interfaz (API) que deben implementar dichos módulos.

Los usuarios de MS-Windows tenéis disponible una pequeña guía sobre cómo instalar Perl y los módulos necesarios.

Licencia

Rebot es software libre, puede distribuirse y modificarse libremente bajo las condiciones de la licencia GNU GPL versión 3 o posterior (traducción al español de la GPL), brevemente especifica que este software puede modificarse y distribuirse libremente incluyendo los fuentes, de pago o gratis, siempre y cuando cualquier resultado siga ateniéndose a estas mismas condiciones (siga siendo GPL).
Los módulos de protocolo escritos por terceros deben estar licenciados GPL o con una licencia compatible.
La documentación (incluyendo esta web) también se publica bajo GPL.

Contacto

Para enviar bugs o sugerencias por favor hacedlo a través de las herramientas disponibles en la página del proyecto Rebot en Savannah.
De vez en cuando también me paso por el canal de IRC #rebot, en irc.freenode.net.
Para cualquier otro comentario a través del correo electrónico.

Autores y colaboradores

Núcleo; módulos IRC, Jabber, mud, transcript, log, floydzx; coordinación del proyecto: Enrique D. Bosch 'presi'.
Módulos MSN y text-server: Sebastián Argañaraz 'sarganar'.
Función textwrap: Arthur Corliss (Curses::Widgets.pm).
Guía de instalación de Perl y módulos: Carlos Sánchez 'Uto'.
Traducción de textos al francés: Eric Forgeot.
Logo: Jarel.
Testeadores: Enrique D. Bosch 'presi', Carlos Sánchez 'Uto', Antonia Visiedo 'Jenesis', Sebastián Argañaraz 'sarganar', Eric Forgeot, Lenko, Eliuk Blau y otros.


Última actualización: 2011-06-05