Professional Documents
Culture Documents
Una vez instalado creamos una nueva carpeta, donde estar nuestro juego. Acto seguido nos desplazamos a esa carpeta.
mkdir /home/usuario/mudU && cd /home/usuario/mud
Una vez en ella, instalamos ah una instancia del juego. El paquete que instalamos previamente contiene una herramienta que instalar automticamente todo lo necesario en la carpeta y realizar todas las configuraciones iniciales.
penn-install
a creacin de nuestro propio juego MUD no implica que haya que programar ni desarrollar nuestro propio servidor MUD. nicamente ser necesario que, desde un cliente MUD como los que comentamos en el nmero anterior, nos conectemos como administrador para poder crear el mundo de nuestro juego. Al estar conectados durante la creacin, podremos probar en el acto todo lo que creemos.
tos es complejo y depende de cada configuracin, as que no podemos abordarlo en este artculo, pero es un tema asequible que se puede consultar en internet. El tercer punto, la IP externa, se puede obtener (entre otras formas) consultando pginas como [1] o similares. Tambin, como es habitual en informtica, tener un mnimo nivel de ingls nos ayudar bastante.
Preparativos
Todo servidor est pensado para ofrecer un servicio, generalmente por red, a uno o ms clientes. Eso implica que debe estar accesible desde Internet para que nuestros amigos puedan conectarse desde sus casas. Para esto es crucial que se cumplan tres puntos: Tener conexin a Internet, poder enrutar puertos y obtener nuestra IP externa para facilitrsela a nuestros clientes. Damos por hecho que el usuario tiene internet. El enrutado de puer-
Instalacin
El primer paso consistir en instalar el servidor MUD que vamos a usar. Hemos elegido pennmush porque ha sido el que menos problemas nos ha dado en las pruebas, por su estabilidad y porque, cuando se adquiere destreza, es fcilmente modificable a nivel interno. As pues instalamos pennmush, con su variante internacional, usando el paquete para Ubuntu 7.10.
sudo apt-get installU pennmush pennmush-i18n
Podemos observar que se ha creado una carpeta nueva llamada pennmush, y que dentro de ella tambin hay otra carpeta, de nombre game. Ahora es necesario configurar mnimamente el juego para que funcione. Empezamos modificando, con nuestro editor de texto favorito, el archivo /home/usuario/mud/pennmush/game/ mush.cnf. nicamente cambiaremos el puerto, indicando por ejemplo que usar el puerto 4001. La lnea de configuracin del puerto en ese fichero quedar as:
port 4001
Ahora editamos el archivo /home/ usuario/mud/pennmush/game/restart. En l tenemos que configurar el directorio del juego y el idioma.
WWW.LINUX- MAGAZINE.ES
Nmero 38
85
GAMEDIR=/home/usuario/U mud/pennmush/game
Nota: Experimentalmente hemos descubierto que si no indicamos aqu el idioma, automticamente se detecta el espaol, usando as los mensajes internos en espaol. Sin embargo no hemos sido capaces de conseguir que respete los caracteres especiales como tildes o ees. Con esto ya podremos arrancar el servidor:
/home/usuario/mud/pennmush/U game/restart
nueva conexin, le indicaremos como servidor localhost, y en puerto pondremos el mismo que usamos en el archivo de configuracin, en nuestro caso el 4001. Conectamos y el servidor debera recibirnos con un mensaje (en ingls) de bienvenida. A continuacin tendremos que identificarnos como One, que es el usuario administrador por defecto en el servidor pennmush. Para ello, como no hay contrasea configurada inicialmente, bastar con escribir en el cliente MUD simplemente:
connect One
Lo que nos genera un identificador #3 (por ejemplo). Podemos, y debemos, referirnos a esa habitacin con su identificador para ahorrarnos problemas con espacios y caracteres internacionales. As, para referirnos a nuestro almacn escribiremos #3. Ntese que no hemos puesto la tilde en el nombre, lo hemos hecho a propsito para evitar inconvenientes, ya que esta versin de pennmush no trata correctamente los nombres con caracteres especiales. Creamos a continuacin un patio.
@dig Patio
Estaremos identificados (logueados en argot) como administrador del servidor. Obviamente no es muy seguro para el servidor permitir el acceso como administrador sin contrasea, as que la cambiaremos.
@password = nuevacontrasea
Que genera como identificador #4. Por defecto las localizaciones no estn conectadas, as que es necesario crear salidas. Para crear una salida en nuestro almacn lo primero es teletransportarnos all.
@teleport #3
Bien! El servidor est funcionado Y para apagarlo? Si queremos apagar el servidor MUD podremos hacerlo pulsando, en la terminal donde se est ejecutando, las teclas CONTROL y la tecla C, y escribiendo a continuacin el comando:
killall netmush
Como norma general, los comandos de administracin van precedidos por @. A partir de ahora podremos conectar, usando la contrasea, con el comando:
connect One nuevacontrasea
Nos informar de que la salida creada tiene como identificador #5. Enlazamos esa puerta (identificador #5) con el patio (identificador #4)
@link #5=#4
Pruebas
Ya estamos listos para ver si el servidor funciona. Ejecutaremos nuestro cliente MUD preferido, y en los datos de
Ya tenemos nuestra puerta. Ahora podemos desplazarnos al patio y crear una puerta en sentido inverso (por defecto las puertas son unidireccionales).
@open Puerta del almacen
@dig @desc algo=texto @set me=sexo @open @link @unlink @succ @osucc @fail @ofail @lock @find name @recycle
Esto genera la puerta #6. Tenemos que unir la puerta #6 con el almacn #3.
@link #6=#3
Ya podemos pasar de una habitacin a otra a travs de estas puertas. Repetiremos este proceso para crear todas las estancias de nuestro juego. Sin embargo, no es necesario crearlas todas de golpe. Por ejemplo, podemos crear las estancias de un castillo y ms adelante, cuando alguien consiga derrotar resolver el puzzle que lo
86
Nmero 38
WWW.LINUX- MAGAZINE.ES
sellaba, estarn disponibles nuevas localizaciones, dndonos tiempo mientras tanto para crearlas.
Objetos
Aunque se podra hacer un juego nicamente basado en localizaciones, lo habitual es que como mnimo haya algunos objetos con los que interactuar. En nuestro ejemplo disponemos de dos habitaciones enlazadas, pero vamos a poner una puerta cerrada entre ambos. Vamos a cerrar con llave la puerta desde el lado del almacn. Vamos pues al almacn y creamos un objeto llave.
@teleport #3 @create llave
tir mucho tiempo en escoger buenas descripciones para todos los elementos. Se usa el comando @desc para aadir descripciones a los elementos. Vamos a darle unas sencillas descripciones a nuestros objetos.
@desc #7=HerrumbrosaU llave de bronce U bastante pesada. @desc #3=Patio de armasU delcastillo con todasU Figura 1: No debemos preocuparnos por la esttica sus paredesU visual en nuestro juego. Lo importante ser el texto. cubiertas de hiedra. mente en los archivos de texto que @desc #4=El almacn delU encontraremos en la subcarpeta txt. castillo con espacio U suficiente para almacenarU Mi Cuado Quiere alimentos para vivir durante U Conectarse meses.
La llave tendr el identificador #7. Ahora necesitamos una cerradura en la puerta, pero no es un objeto normal, es una cerradura o lock. Las cerraduras deben enlazarse con salidas, por lo que vamos a unir la llave #7 con la puerta #5.
@lock #5=#7
Si intentamos pasar por la puerta no nos lo permitir. As que antes tendremos que mirar la estancia para localizar la llave.
look
Adems de @desc hay 4 comandos importantes que sirven para dar descripciones en ciertas circunstancias particulares. @success: mensaje que aparecer cuando uses o cojas el objeto. @osuccess: mensaje para los observadores cuando se use o coja el objeto. @fail: mensaje cuando no podemos usar o coger el objeto. @ofail: mensaje para los observadores cuando no podamos usar o coger el objeto.
Para que alguien pueda conectarse a nuestro juego desde Internet debemos indicarle nuestra IP externa y el puerto que hemos usado en la configuracin. En su cliente tendr que usar estos datos para conectarse al juego. Si la IP es correcta, el router est configurado correctamente y el servidor est funcionando, lograr conectarse a nuestra pequea pera prima.
Nos informar de que ve una llave. La cogemos y entonces tendremos va libre para abrir la puerta.
take llave
Ahora vamos al patio pasando por la puerta sin problemas. Una vez all, queremos que la puerta tambin tenga una cerradura en sentido contrario. Lo haremos con:
@lock #6=#7
RECURSOS
[1] Obtener IP externa: http://www. showmyip.com [2] Tutorial MUD (ingls): http://www2. nau.edu/~rdr/SolSys/mudstuff/ mudtorial.htm
Creando Atmsfera
La atmsfera es muy importante en la realizacin de un MUD. Hay que inver-
WWW.LINUX- MAGAZINE.ES
Nmero 38
87