  Quake I&II Mini Como
  lvaro Villalba Poncet, alvarovp@mad.servicom.es
  ver 0.7, 22 de Enero de 1999.

  Guia para configurar el Quake I y el II en linux.
  ______________________________________________________________________

  ndice General:

  1.      Introduccin.

  2.      Requisitos.

  2.1.    Software.

  2.2.    Hardware:

  2.2.1.  Configuracin de la tarjeta de video

  2.2.2.  Configuracin de tarjetas aceleradoras

  2.2.3.  Configuracin del ratn

  2.2.4.  Configuracin de la tarjeta de sonido.

  3.      Quake :

  3.1.    Principales problemas:

  3.2.    Juego en Red (Quake World).

  3.3.    Aadidos al quake.

  4.      Quake II

  4.1.    Juego en Red

  4.2.    Principales Problemas

  4.3.    Principales modificaciones.

  5.      Cmo montar un server dedicado.

  5.1.    Quake

  5.2.    QuakeWorld.

  5.3.    Quake 2

  6.      Problemas con las tarjetas aceleradoras.

  7.      Servidores espaoles de quake.

  8.      Agradecimientos:

  9.      Anexo: El INSFLUG
  ______________________________________________________________________

  1.  Introduccin.

  Actualmente no hay muchos juegos "populares" portados a linux, de
  hecho solo est el doom, el quake (en todas sus versiones) y el
  InnerWorlds, pero todo se andar (actualmente hay fabricantes que han
  dicho que nunca portarn sus juegos a linux, algn da se comern sus
  palabras ... :) ).  El quake en linux funciona perfectamente, incluso
  ms rpido que en windows, adems si se quiere montar un server de
  quake es la plataforma perfecta, el nico problema que puede haber es
  con las tarjetas de video modernas (especialmente con las 3dfx de
  ltima generacin), ya que no todas tienen drivers para linux (pero
  cada vez son ms las soportadas).

  2.  Requisitos.

  2.1.  Software.

  Nos hacen falta los ejecutables para linux. Se pueden encontrar en
  muchos sitios , el principal es en idsoftware (ftp.idsoftware.com)
  pero este server va muy lento, el mejor sitio para bajarse todo lo
  necesario es la pgina de quake en linux
  (captured.com/threewave/linux/index.html). Ah se puede bajar todo lo
  necesario sin tener que sumergirse en los oscuros directorios de
  idsoftware ... Otro sitio sobre el Quake y Linux es quake.medina.net.
  Otros sitios donde se puede obtener casi todo el software necesario
  para el quake son:

    ftp.cdrom.com (muy lento, es mejor el mirror que hay en
     ftp.doc.is.ac.uk).

    ftp.sci.com/quake.

     www.quake2.com

  Para descomprimir un fichero tgz o tar.gz ponemos tar zxfv
  nombre_del_fichero.

  2.2.  Hardware:

  Los que pide el propio juego, osea, una tarjeta de video y un Pentium
  a 90 (yo he visto el quake corriendo en un 486 bajo linux y
  funcionaba, as que todo es cuestin de probar ;) ).

  2.2.1.  Configuracin de la tarjeta de video.

  Se puede jugar al quake desde las X o desde la SVGA, recomiendo la
  SVGA porque es mas rpida, pero si es un servidor con varios usuarios
  recomiendo la versin de las X (principalmente porque para correr la
  verson SVGA hace falta que el ejecutable sea setuid root, con los
  consiguientes riesgos de seguridad que esto conlleva), pero cada uno
  que use la que ms le guste ...

  Si vas a jugar en las X tendr que tenerlas configuradas (cualquier
  duda sobre cmo hacerlo mirela en el XFree86-Como)

  Para la SVGA normalmente no hay que tocar nada, el archivo de
  configuracin est en /etc/vga/libvga.config (En RedHat) o en
  /etc/libvga.config  (Slack). Si algo no va bien con la vga tendr que
  editar el fichero y poner los parmetros de su tarjeta (tipo de
  chipset, RamDac, etc) y del monitor (mrelas en los manuales del
  ordenador).

  2.2.2.  Configuracin de tarjetas aceleradoras.

  Lo primero que necesitaremos es una tarjeta aceleradora; hasta la
  fecha solo estn soportadas las basadas en el chip 3dfx (en el momento
  de escribir esto estaban portando los drivers para la banshee). Para
  poder usar una 3dfx necesitaremos bajarnos los siguientes ficheros:

    glide son las libreras que acceden directamente a la tarjeta, se
     pueden obtener de http://glide.xxedgexx.com/3DfxRPMS.html , ah
     podemos encontrar versiones en formato rpm (para RedHat, OpenLinux,
     SuSe) as como para glibc (RedHat 5.X, debian 2.X, SuSe 6.X) o,
     libc5. En esta pgina se puede obtener tambien informacin sobre
     las tarjetas soportadas. Necesitaremos como mnimo dos archivos:

     1. Glide2x_SDK-2.1 es el kit de desarrollo de la librera glide.

     2. Glide son las libreras propiamente dichas, dependiendo del tipo
        de 3dfx que tengamos necesitaremos:

        a. Glide_VG-2.46 para las tarjetas voodoo 1.

        b. Glide_VR-2.46 para las tarjetas voodoo rush.

        c. Glide_V2-2.51 para las tarjetas voodoo 2.

    Mesa es la versin free de las libreras OpenGL, se pueden obtener
     de http://www.ssec.wisc.edu/~brianp/Mesa.html. La ltima versin
     estable es la 3.0 y de desarrollo la 3.1, es recomendable bajarse
     la ltima estable (en este caso la 3.0). De ah cojeremos dos
     ficheros:

     1. MesaLib las libreras propiamente dichas.

     2. MesaDemos demos de la librera.

     Existen binarios de las libreras en todos los formatos, pero en
     este caso necesitaremos los fuentes porque las tenemos que recompi
     lar.

  Una vez obtenidos los ficheros necesarios lo primero que instalaremos
  son las glide, si nos las hemos bajado en rpm lo haremos con

       [root@unsCAred][~]# rpm -Uhv Glide_V[tipo de tarjeta]-[versin].rpm

  Si no disponemos del programa rpm podemos usar la utilidad rpm2cpio de
  la siguiente manera (desde el directorio / para que nos cree bien los
  directorios necesarios):

       [root@unsCAred][/]# cd /
       [root@unsCAred][/]# rpm2cpio archivo.rpm | cpio -i --make-directories
       [root@unsCAred][/]# ldconfig

  Para comprobar que las libreras estn correctamente instaladas ejecu
  tamos en el shell el comando:

  [root@unsCAred][~]# ldconfig -p|grep libglide
  [root@unsCAred][~]# ldconfig -p|grep libtexus

  Ahora instalamos el fichero Glide2x_SDK-2.1, del que solo necesitamos
  los includes Si tenemos rpm ponemos

       [root@unsCAred][~]# rpm -Uhv Glide2x_SDK-2.1-3.i386.rpm

  Si no disponemos de rpm usamos nuevamente el rpm2cpio de la siguiente
  manera:

       [root@unsCAred][~]# cd /tmp
       [root@unsCAred][/tmp]# rpm2cpio Glide2x_SDK-2.1-3.i386.rpm | cpio -i --make-directories
       [root@unsCAred][/tmp]# cd /usr/local/
       [root@unsCAred][/usr/local]# mkdir glide
       [root@unsCAred][/usr/local]# cd glide
       [root@unsCAred][/usr/local/glide]# mkdir include
       [root@unsCAred][/usr/local/glide]# cd include
       [root@unsCAred][/usr/local/glide/include]# cp /tmp/include/* .
       [root@unsCAred][/usr/local/glide/include]# ls
       3dfx.h      glidesys.h  gump.h      sst1vid.h
       glide.h     glideutl.h  linutil.h   texus.h

  En caso de haber usado el rpm tenemos que hacer un enlace simblico ya
  que las libreras Mesa buscarn la librera libglide en
  /usr/local/glide/lib, lo hacemos con lo siguiente:

       [root@unsCAred][~]#cd /usr/local/glide
       [root@unsCAred][/usr/local/glide]# mkdir lib
       [root@unsCAred][/usr/local/glide]# cd lib
       [root@unsCAred][/usr/local/glide/lib]# ln -s /usr/lib/libglide2x.so .
       [root@unsCAred][/usr/local/glide/lib]# ls
       libglide2x.so@

  Ahora que ya hemos instalado correctamente las libreras glide nos
  vamos a por las Mesa. Haremos lo siguiente:

       [root@unsCAred][~]# cd /tmp
       [root@unsCAred][/tmp]# tar zxfv MesaLib*
       []
       [root@unsCAred][/tmp]# tar zxfv MesaDemos*
       []
       [root@unsCAred][/tmp]# cd Mesa-3.0
       [root@unsCAred][/tmp/Mesa-3.0]# make realclean

  Ahora es cuando nos leemos el README que viene con las libreras, una
  vez hecho eso las compilamos, dependiendo del tipo de tarjeta aceler
  adora que tengamos pondremos lo siguiente:

    make linux-386-opt-glide si tenemos una voodoo 1.

    make linux-386-opt-V2-glide si tenemos una voodoo 2.

    si tenemos una voodoo rush podemos hacer uno de estos tres:

     1. make linux-glide para linux glide.

     2. make linux-386-glide para micros i386.

     3. make linux-386-glide-mits micros i386 con multiproceso.

     Despues de un rato y si no hemos tenido ningun problema las
     libreras ya estarn compiladas, ahora lo nico que queda es insta
     larlas. Si ya las tenamos instaladas antes lo nico que tenemos
     que hacer es copiar la librera nueva que hemos generado, para eso
     hacemos:

       [root@unsCAred][/tmp/Mesa-3.0]# cd lib
       [root@unsCAred][/tmp/Mesa-3.0/lib]# cp -a * /usr/lib

  He puesto el /usr/lib porque es donde las tena yo instaladas, si ya
  las tenamos en /usr/local/lib las copiaremos ah.  Si no las tenamos
  instaladas antes lo hacemos poniendo:

       [root@unsCAred][/tmp/Mesa-3.0]# make install

  Para concluir, ejecutamos como root el comando ldconfig y ya tendremos
  todo lo necesario para que funcione la 3dfx (bueno, an nos faltan los
  ejecutables para el quake, el quakeworld y el quake2).

  2.2.3.  Configuracin del ratn.

  Para que funcione el ratn tenemos que editar otra vez el fichero de
  configuracin de la vga (ver ``Configuracin de la tarjeta de video'')
  y poner el tipo de ratn que tenemos. Es necesario tener el gpm
  funcionando, que es el que se encarga de controlar el ratn en la
  consola. Si usa el gpm con el parmetro -R es recomendable cambiarlo
  antes de jugar con un script o algo parecido, ya que se nota bastante
  la velocidad de respuesta del mouse.

  En el quake se puede especificar el dispositivo en el que se encuentra
  el ratn mediante los parmetros -mdev [device] y la velocidad con
  -mrate [speed]. Los parmetros por defecto son /dev/mouse para el
  -mdev y 1200 para el -mrate.

  Lo errores con el ratn normalmente se deben a fallos en la
  configuracin del gpm o porque no se ha especificado el tipo de ratn
  en el libvga.config. Adems es muy comn que cuando se est jugando al
  quake y se cambia a otra consola el ratn deje de responder, esto se
  puede arreglar de dos maneras:
    Reiniciando el gpm (en RedHat con /etc/rc.d/init/gpm restart)

    Poniendo echo "*n" >/dev/mouse en una consola.

  Para cualquier duda o problema con un ratn de tres botones es
  recomendable consultar el Raton_3_botones-Como.

  2.2.4.  Configuracin de la tarjeta de sonido.

  No es extrictamente necesaria, pero jugar al quake sin sonido es como
  una primavera sin flores ;) . Para configurar la tarjeta de sonido
  consultar el Sonido-Como.) Para jugar sin sonido ponemos el parmetro
  -nosound. Adems de este hay otros parametrs que son:

    sndbits [8 or 16]

    sndspeed [speed] (8000, 11025, 22051 and 44100), por defecto 11025.

    sndmono.

    sndstereo (por defecto, siempre que sea posible).

  En el quake2 he experimentado problemas con el OSS y el driver para mi
  tarjeta (una AWE32), ya que cuando se reinicia el sistema de sonido
  deja de funcionar (esto no ocurre con el driver normal del kernel). El
  problema estaba en el compilador, si est usando el OSS, el egcs o el
  pgcc como compilador y un kernel de la serie 2.0.X puede que tenga
  problemas, la solucin pasa por instalarse el gcc-2.7.2.3 y recompilar
  el sndconfig con l (adems los kernels de esa versin es recomnedable
  compilarlos con el gcc y no con el egcs/pgcc).

  3.  Quake :

  Bueno, se acabaron las configuraciones, ahora toca jugar :)

  Necesitamos los archivos pak0.pak (para la share) y el pak0.pak y
  pak1.pak para la registrada. Si tenemos el quake ya instalado en otra
  particin (por ejemplo en windows) no hace falta copiarlos a la
  particin linux, podemos usar enlaces simblicos, lo nico que tenemos
  que hacer es montar la particion de windows, por ejemplo en /mnt/dos.

  Vamos a instalar el quake en /usr/local/games/quake (se puede instalar
  en cualquier sitio).

    Lo primero es crear ese directorio (mkdir /usr/local/games/quake).
     Un vez hecho eso creamos el directorio id1 (a partir de ahora todos
     los directorios van referenciados al /usr/local/games/quake) dentro
     del directorio quake.

    Copiamos el pak0.pak y el pak1.pak al directorio id (si lo hacemos
     con enlaces simblicos, y suponiendo que tenemos la particin donde
     est el pak0.pak y el pak1.pak montada en /mnt/dos ponemos como
     root:

       ln -s /mnt/dos/[ruta_al_quake]/quake/id/pak* /usr/local/games/quake/id

    Descomprimimos el ejecutable para linux en /usr/local/games/quake.

    Y ahora ... a jugar, ya no hace falta nada ms ... vamos al
     directorio /usr/local/games/quake y ponemos ./squake (o xquake si
     estamos en las X) y cruzamos los dedos. Si todo a ido bien ya est
     funcionando el quake. Si usamos una tarjeta aceleradora
     ejecutaremos

  Para cambiar la resolucin de la pantalla se usan dos comandos, nos
  ponemos en la consola del quake y ponemos vid_describemodes que nos da
  una descripcin de todos los modos de video posible (cada uno con un
  nmero).

  Ah luego ponemos vid_mode N siendo N el nmero que corresponde a la
  resolucin que queremos. Esto no funciona con las tarjetas
  aceleradoras, para cambiar la resolucin en ellas hay que
  especificarlo en el arranque mediate los parmetros -width ANCHO
  -height ALTO, sino arrancar por defecto en 640x480 (otra resolucin
  muy utilizada es 512x384).

  Si queremos medir los fps a una resolucin podemos hacerlo con
  timedemo demo1 desde consola, que intenta ejecutar lo ms rpido
  posible la demo1 y nos dice los fps.

  Si queremos comprobar los fps durante el juego lo podemos hacer con
  timerefresh (pero depende de la parte de la fase en la que nos
  encontremos).

  3.1.  Principales problemas:

  Pueden ser:

    La tarjeta de sonido no est configurada y hemos intentado arrancar
     con sonido. Solucin: arrancamos con ./squake -nosound.

    No tenemos puesto el HOSTNAME. Solucin: editamos el fichero
     /etc/hosts y aadimos el nombre de nuestra mquina, por ejemplo:

       127.0.0.1       localhost       localhost.localdomain        unsCAred

  y nos aseguramos de que en /etc/HOSTNAME pone unsCAred (en mi caso
  claro ;) )

    can't get I/O permisions. El squake necesita ser setuid root ,
     ejecutamos como root

       chown root.root squake
       chmod 4755 squake/

  (No me responsabilizo de nada que pase por tener el ejecutable setuid)
  (No se asuste!!!, esto tiene problemas de seguridad, si es la mquina
  de casa no se te va a romper el ordenador ni nada parecido, simple
  mente, la svga no es muy segura en cuanto a seguridad del sistema se
  refiere).

    No nos arranca en las X. Solucin arrancamos el servidor a 8 bits
     de profundidad de color con (startx -bpp 8).

  3.2.  Juego en Red (Quake World).

  El quake es un buen juego, pero cuando de verdad sorprende y crea
  adiccin es cuando se juega en red. No es lo mismo matar a un monstruo
  en mitad de un nivel que a tu amigo pukka (con lo segundo disfrutas ;)
  ).

  Cambia totalmente tu visin del juego y la manera de jugar, los
  movimientos se aceleran en un 200%. Para jugar en red lo nico que
  necesita es una conexin a internet o a una LAN.

  En la pgina de quake en linux ( ver ``Software.'') se puede encontrar
  un ejecutable que se llama qwcl. Esto es el cliente de QuakeWorld, que
  no es ms que una mejora de la engine de red del quake (solo sirve
  para jugar en red) con algunos aadidos, como el poder "cambiar" de
  piel o uniforme.

  Se puede jugar en red con el quake normal, pero la mejora con el qw es
  muy notable, de hecho, es muy raro encontrar servers de quake normal
  en internet, lo normal es que sean de quakeworld.

  Una herramienta muy til para jugar en internet es el qspy o el
  quickspy (para consola) que consiste en un programa que localiza
  servers de quake world y nos dice cuantas personas hay, el ping, etc.

  Hace poco ha salido el xqf que es un magnfico interface para el qspy
  hecho con gtk (para las X), se puede bajar de www.botik.ru/~roma/quake

  Para instalar el qw lo nico que hay que hacer es descomprimir el
  archivo qwcl en el directorio /usr/local/games/quake y poner (ver
  ``Servidores espaoles de quake'').

  Lo mejor es tener la ltima versin del qw (actualmente la 2.30) y la
  anterior ya que algunos server no se han actualizado an.

  Si se tiene una tarjeta aceleradora necesitar el glqwcl. Para
  indicarle la resolucin de pantalla se hace como en el glquake
  mediante los parmetros -width ANCHO -height ALTO.

  El parmetro rate XXXX controla el numero de bps que recibimos del
  servidor adems del nmero de fps. Para un modem de 33.6 el parmetro
  ptimo es de 3000, para un 28.8 de 2500.

  3.3.  Aadidos al quake.

  Uno de los principales factores que han hecho al quake un juego "de
  culto" es ademas de su excelente modo de red el que se le puedan
  aadir variaciones fcilmente.

  Puede aadirle nuevas armas, nuevos montruos, nuevos niveles, incluso
  nuevos "juegos". El ms popular es el Capture the Flag, que divide a
  todos los jugadores en dos equipos (es para jugar en red) y le da a
  cada uno una bandera y una base, la misin de cada equipo es capturar
  la bandera del otro y llevarla a su base, siempre y cuando no lo
  capturen la suya. La mayora de los patches o modificaciones se
  instalan igual.  Supongamos el ctf. Los pasos para instalarlo son.

  1. Se crea el directorio /usr/local/games/quake/ctf

  2. Se descomprimen los ficheros del ctf en ese directorio.

  3. Desde el directorio quake se pone ./squake -game ctf.

  Sin duda alguna la mejor variacin que se ha hecho del quake son los
  bots, osea robots dotados de inteligencia artificial para simular el
  juego en red con humanos. Los mejores son el omicron (por lo menos es
  el que ms me gusta a mi ;) ) y el reaperbot (una lista completa de
  los bots, con puntuaciones a cada uno y comentarios se puede encontrar
  en www.ionet.net/~mimpchnk)

  Otra variacin muy interesante es el Team Fortress que se puede
  encontrar en www.planetfortress.com/teamfortress>. Es bsicamente el
  ctf solo que podemos elegir distintos caracteres cada uno con
  funciones y armas diferentes. En este mod es donde menos importa las
  diferencias de ping y donde ms se juega en equipo.

  El Rocket Arena es otra variacin del quake, el argunmento es muy
  simple, dos entran, uno sale, osea, son combates uno contra uno en
  mapas especiales, los dos jugadores salen con todas las armas y
  armaduras y el que mate al otro se queda y sigue jugando contra el
  siguiente contrincante.  Tambien se pueden configurar los servidores
  para poder jugar por equipos. Se puede obtener de
  http://www.planetquake.com/servers/arena/.

  4.  Quake II

  Para jugar al quake2 lo nico que hace falta es el cd y el ejecutable,
  osea que aunque tu disco duro est lleno con un poco ms de 800k que
  es lo que ocupa el ejecutable puedes jugar. Lo nico que hay que hacer
  es lo siguiente:

    Lo primero, creamos un directorio /usr/local/games/quake2 (por
     ejemplo) y dentro de este un directorio baseq2.

    Copiamos el fichero /mnt/cdrom/Install/Data/baseq2/pak0.pak a este
     directorio. Si se quiere jugar sin copiarlo se hace un enlace
     simblico con

       ln -s /mnt/cdrom/Install/Data/baseq2/pak0.pak /usr/local/games/quake2/baseq2

  Atencin que el ficherito slo ocupa 160 megas ;).

    Luego creamos el directorio players dentro del baseq2 y los
     directorios male y female dentro de este (osea que queda algo as:

               quake2---|-baseq2---|-players---|-male
                                               |-female

    Compiamos todos los ficheros que hay en
     /mnt/cdrom/Install/Data/baseq2/players/male en male y los del
     female en female.

    Descomprimimos el quake2-3.20-i386-unknown-linux2.0.tar.gz en el
     directorio quake2.

  Y listo, ya podemos jugar.

  Si no tiene la libreras MesaGL instaladas tendr que copiar la que
  viene con el ejecutable a /usr/local/lib (por ejemplo) y poner
  ldconfig como root (tiene que ser la version 2.6beta3 como mnimo) e
  instalar las librerias glide si va a usar una 3dfx (ver
  ``Configuracin de tarjetas aceleradoras'').

  Si se va a jugar en la svga el fichero quake2 tiene que estar setuid
  root (con el ejecutable vienen un script para poner bien los
  permisos), simplemente ponemos ./fixperms.sh como root en el
  directorio quake2).

  Para arrancarlo usamos:

               ./quake2 +set vid_ref soft (para la svga)
               ./quake2 +set vid_ref softx (para las X)
               ./quake2 +set vid_ref gl (para jugar con 3dfx)
               ./quake2 +set vid_ref xgl (soporte para OpenGL,solo funciona en las X)
               ./quake2.3dfxgl (para usar el mini-port del OpenGL, solo en sistemas
       con glibc, es decir RedHat 5.X o debian 2.0)

  Eso solo se hace la primera vez, luego con poner ./quake2 sirve.

  4.1.  Juego en Red

  Para jugar en red arrancamos el quake2, vamos al menu multiplayer y le
  damos a join network game.

  Hay dos opciones, server list, update server list y luego una lista.
  Le damos a server list y aadimos las direcciones de servers que
  queramos , luego le damos a update server list y nos saldrn los
  servers con la informacin en la lista, colocado por ping, de menor a
  mayor.

  Tambien puedemos jugar poniendo +connect IP desde la consola del
  quake2 (que sale dandole a la tecla ). Previamente habremos
  configurado nuestro jugador en player config (el nombre, el modelo, la
  skin, el tipo de conexin y las opciones de descarga que se usan para
  bajarse skins, mapas, sonidos y dems cosas de los servidores).

  La mayoria de los servers usan lo mapas de deathmatch (q2dm*). En el
  quake venan en el cd, pero en el quake2 salieron despus con lo que
  si queremos jugar en internet estamos obligados a bajrnoslos.

  Los mapas vienen en la versin 3.13, ocupan unos 10 megas, ver
  ``Software.'', que adems del ejecutable traen un pak1.pak con los
  mapas de deathmatch).

  Se instalan descomprimiendo el archivo en el directorio quake2, pero
  hay que recordar que tenemos que instalar luego la versin 3.20 que es
  la que usan los servidores (esta es la ltima versin que ha salido
  hasta la fecha, es recomendable tener siempre la ltima versin y
  algunas veces necesario :) ).

  4.2.  Principales Problemas

  Aparte de los del quake uno (que tambien pasan aqu) un problema del
  quake 2 es:

    Cuando juego como usuario y me conecto a un server el programa
     termina .... Este es un problema de permisos, con una mala solucin
     ...  cuando juega en servers con modificaciones (como el ctf2 o el
     Lithium II) al conectar se reinicia el sistema de video, y si no
     esta como root el quake2 "suelta" la id del root despus de iniciar
     el sonido y el vdeo y se produce el problema de I/O perm. La nica
     manera de que esto no pase es jugando como root o usando sudo.

     Nota: para jugar al quake2 en red NO necesita tener el Cd del
     quake, slo tiene que tenerlo instalado (por supuesto, si est
     jugando desde el cd tendr que meterlo ;) ).

  4.3.  Principales modificaciones.

  Al igual que para quake, para quake 2 hay muchas modificaciones, la
  ms extendida es el Lithium II, que aade nuevas funcionalidades al
  quake (como runas que te dan distintos poderes o el "hook"), de hecho
  la mayor parte de los servidores usan el Lithium II, pero para jugar
  en ellos no hace falta ningun fichero extra.

  Si queremos usar bots como en el quake los nicos que conozco que
  funcionen en linux son los eraser (ver la url que hay en ``Aadidos al
  quake.'') pero consumen muchos recursos (an as se pueden usar).

  Otra modificacin que est sustituyendo al ctf2 es el lmctf que es una
  variacin de este con mapas ms grandes.

  El equivalente al Team Fortress del quake2 se llama Weapons Factory,
  que se puede obtener de http://www.captured.com/weaponsfactory/.

  El Rocket Arena 2 tambien est disponible y se puede bajar de la misma
  pgina que el Rocket Arena para quake (ver ``Aadidos al quake.''.

  5.  Cmo montar un server dedicado.

  Si tiene una conexin permanente a Internet, contribuya a la causa
  y monte un server de quake !!!

  5.1.  Quake

  Para montar un server de quake dedicado solo necesitamos los pak's y
  por supuesto el ejecutable (que se llama unixded-1.0-i386-unknown-
  linux2.0.tar.gz). Lo ejecutamos (se recomienda usar el screen y
  ponerlo en una consola detached) y listo.

  El screen lo puede encontrar en prep.ai.mit.edu/pub/gnu Lo nico que
  sale al arrancar un server dedicado es una consola de texto.

  5.2.  QuakeWorld.

  Para montar un server de quake world necesitamos el fichero
  qwsv2.30-i386-unknown-linux2.0.tar.gz>.

  Una modificacin muy interesante para montar un servidor es el Kombat
  Teams, que ofrece una serie de posibilidades a los usuarios como poder
  cambiar el mapa, fijar el tiempo, el lmite de frags, etc. Se puede
  bajar de http://www.demolition.org/k/.

  5.3.  Quake 2

  Aqu no necesitamos nada nuevo, solamente poner ./quake2 +set
  dedicated 1 +exec server.cfg. En server.cfg ponemos los mapas que
  queremos cargar y dems cosas, recordar que si no ponemos la linea map
  q2dm1, (por ejemplo) no se cargar ningun mapa. Igualmente se
  recomienda se usar el screen.

  6.  Problemas con las tarjetas aceleradoras.

  Hay una pgina con una faq muy completa sobre las 3dfx en
  www.voodooextreme.com/3Fingers.  Tambien hay un programa llamado
  GlideControl disponible en http://www.ling.ed.ac.uk/~oliphant/gc muy
  til para configurar los parmetros de las 3dfx.  Los problemas ms
  comunes suelen ser:

    Los usuarios no pueden usar la tarjeta aceleradora: Esto se puede
     solucionar instalando el Device3Dfx, que es un paquete que nos crea
     un dispositivo /dev/3dfx y mediante la insercin de un mdulo en el
     kernel (3dfx) permite que los usuarios puedan acceder a la tarjeta
     aceleradora. Asegurese si lo instala de que los permisos de
     /dev/3dfx estn correctamente puestos ( ejecute chmod  666
     /dev/3dfx  ). Este paquete se puede encontrar en
     http://glide.xxedgexx.com/3DfxRPMS.html.

    Cuando ejecuto el glquake me da un core dump:. El quake2 y el
     glqwcl estn disponibles para glibc, sin embargo el glquake no,
     esto crea bastantes problemas a la hora de hacerlo funcionar. Si
     tiene una voodoo2 en principio no debera tener problemas porque el
     propio paquete del Glide_V2 trae adems de las versiones de las
     libreras para glibc las de libc5 (que se instalan en
     /usr/i486-linux-libc5/lib), sin embargo el paquete de la voodoo 1
     no las trae, con lo que puede que tenga que bajarse la versin para
     libc5, extraer las libreras (si est en rpm con el mc es muy
     sencillo hacerlo, sino tendr que usar el rpm2cpio o el rpmget ya
     que si lo instala directamente con el rpm sobrescribir las de la
     versin para glibc) e instalarlas (en /usr/i486-linux-libc5/lib).
     Adems asegurese de que en el fichero /etc/ld.so.conf aparece el
     directorio /usr/i486-linux-libc5/lib y de que tiene instalado el
     paquete de compatibilidad con la libc5 (libc-5.3.X-Y en redhat).

       asegurese si se baja este paquete de que lo est cogiendo de una versin de
       RedHat 5.X o del directorio /libc6 en caso de que lo est cogiendo del contrib
       de RedHat, sino le sobreescribir las antiguas libreras y no funcionar el
       sistema!

  Otra posible causa de error es que falte alguna librera en la ruta de
  bsqueda del ejecutable, esto se puede comprobar mediante el comando
  ldd fichero. Si por ejemplo al hacer ldd glquake le sale alguna
  librera seguida de la linea Not Found ah estar el problema, ase
  gurese de que tiene esa librera instalada y que el directorio en el
  que est dicha librera aparece en el fichero /etc/ld.so.conf, si no
  lo est aada el directorio y ejecute luego como root ldconfig.

    Cuando ejecuto el glquake me da el error glquake: can't resolve
     symbol tena (vienen con el ejecutable del quake2) consulte la
     direccin de las librerias en ``Software'', instalelas y ejecute
     ldconfig.

    El glquake/glqwcl/quake2 se ve muy oscuro. Ajuste el contraste de
     la tarjeta, esto se hace mediante la variable de entorno SST_GAMMA
     en una voodoo 1 y SSTV2_GAMMA en las voodoo 2, por ejemplo poniendo
     :

       [unscared][~]$ export SSTV2_GAMMA=1.70

  Otra opcin es bajarse el programa GlideControl mencionado anterior
  mente con el que puede cambiar la gamma de la tarjeta adems de otros
  parmetros.

    Al jugar en linux obtengo menos fps que en windows: Bueno, las Mesa
     no estn todava lo suficientemente optimizadas, y en procesadores
     lentos no dan un buen rendimiento. Una opcin es probar el port de
     opengl que han incluido los autores del quake como opcin a las
     libreras Mesa (se llama lib3dfxgl.so). Para usarlo creese un
     fichero llamado glquake.3dfxgl y meta en l lo siguiente:

       #!/bin/sh
       LD_PRELOAD=./lib3dfxgl.so ./glquake $*

  Para el quake world puede usar el glqwcl.3dfxgl que viene con el
  glqwcl y en el quake2 puede especificar el miniport en las opciones de
  video.  Otra opcin es asegurarse de que la libMesaGL.so.2 es un
  enlace a la libMesaGL.so.3. La versin 3 est bastante ms optimizada
  que la 2.6 y el rendimiento aumenta bastante, el problema es que el
  glquake necesita la versin 2.6. Una solucin chapucera es hacer lo
  siguiente; lo primero vemos donde estn las libreras y los ejecuta
  bles:

       [root@unsCAred][/usr/local/games/quake2]# ls -la libMesaGL.so*
       lrwxrwxrwx  1 root  root     14 ene 18 19:30 libMesaGL.so -> libMesaGL.so.2
       lrwxrwxrwx  1 root  root     16 ene 18 19:30 libMesaGL.so.2 -> libMesaGL.so.2.6
       -rwxr-xr-x  1 root  root 897135 dic 26 14:43 libMesaGL.so.2.6
       [root@unsCAred][~]# ls -la /usr/lib/libMesaGL.so.2
       lrwxrwxrwx  1 root  root     12 ene 13 20:01 /usr/lib/libMesaGL.so.2 -> libMesaGL.so
       [root@unsCAred][~]# ls /usr/local/games/quake/glquake*
       /usr/local/games/quake/glquake         /usr/local/games/quake/glquake.mesa
       /usr/local/games/quake/glquake.3dfxgl

  ahora hacemos un script que borre el enlace de la libMesaGl.so.2,que
  aada en el path de bsqueda el directorio /usr/local/games/quake2,
  que ejecute el glquake y que deje todo como estaba.  Para usar las
  MesaGL:

       [root@unsCAred][~]# cat /usr/local/games/quake/glquake.mesa
       #!/bin/sh
       # Movemos la libreria para que no la carge:
       mv /usr/lib/libMesaGL.so.2 /usr/lib/libMesaGL.so.2.tmp
       # Aadimos el directorio del quake2 a la ruta de bsqueda
       LD_LIBRARY_PATH_OLD = $LD_LIBRARY_PATH
       LD_LIBRARY_PATH=/usr/local/games/quake2
       # Ejecutamos el glquake
       # Dejamos todo como estaba.
       mv /usr/lib/libMesaGL.so.2.tmp /usr/lib/libMesaGL.so.2
       LD_LIBRARY_PATH= $LS_LIBRARY_PATH_OLD

  Para el miniport de 3dfx:

       [root@unsCAred][~]# cat /usr/local/games/quake/glquake.3dfxgl
       #!/bin/sh

       # This script preloads the lib3dfxgl.so library which overrides the functions
       # present in libMesaGL.so.  This allows glquake to run using 3DFX's miniport
       # and without Mesa 3-D.  Glide and X11 libraries have to be installed tho,
       # even tho GLQuake doesn't use X11, it's linked against it because Mesa 3-D
       # requires them.
       mv /usr/lib/libMesaGL.so.2 /usr/lib/libMesaGL.so.2.tmp

       LD_LIBRARY_PATH_OLD= $LS_LIBRARY_PATH
       LD_LIBRARY_PATH=/usr/local/games/quake2
       LD_PRELOAD=./lib3dfxgl.so ./glquake $*
       mv /usr/lib/libMesaGL.so.2.tmp /usr/lib/libMesaGL.so.2
       LD_LIBRARY_PATH= $LS_LIBRARY_PATH_OLD

  El problema de hacer esto es que el script se tiene que ejecutar como
  root.  Una opcin para hacer lo mismo pero sin necesidad de ser root
  es eliminar la libMesaGL.so.2 de la ruta de bsqueda del ldconfig y
  ponerla en otro directorio (por ejemplo en /usr/local/lib/MesaGL).
  Para que nos funcionen los programas que necesitan las Mesa lo nico
  que tenemos que hacer es aadir la linea  export
  LD_LIBRARY_PATH=/usr/local/lib/MesaGL en el fichero ~/.bashrc si
  usamos el bash como shell o la linea
   setenv LD_LIBRARY_PATH /usr/local/lib/MesaGL en el .cshrc/.tcsh si
  usamos csh/tcsh. Haciendo esto tendramos lo siguiente:

       [root@unsCAred][~]# cd /usr/local/lib/MesaGL/
       [root@unsCAred][/usr/local/lib/MesaGL]# ls -la libMesaGL.so.2
       lrwxrwxrwx   1 root  root 23 ene 22 21:19 libMesaGL.so.2 -> /usr/lib/libMesaGL.so.3

  Ahora ya podemos eliminar las lineas que llevan un mv de los scripts
  glquake.mesa y glquake.3dfx con lo que ya no es necesario ser root
  para que funcione.

    No me funciona el ratn: Las 3dfx y el gpm no se llevan bien , en
     el README viene bastante claro que para que funcione el ratn con
     las tarjetas aceleradoras hay que matr el gpm antes. Para hacerlo
     solo que ejecutar un killall gpm como root (o un gpm -k>. Tambien
     se puede hacer mediante la orden /etc/rc.d/init.d/gpm stop y
     reiniciarlo con /etc/rc.d/inid.d/gpm start (esto para redhat, en
     otras distribuciones puede variar ligeramente el directorio stat.d
     ); Este sistema es el ms recomendable.

  7.  Servidores espaoles de quake.

  He aqu una lista de algunos servidores de quake en Espaa.

    QuakeWorld:

    GODS      147.83.7.151

    NPM 194.74.94.4:27500

    IBK 161.72.161.72:27500

    Spain 194.179.72.11

    FragZone Stockholm 194.14.204.119:27500

    Axes4All 194.109.6.220:27500

    quake.arrakis.es 195.5.65.162:27500

    [LPB] 147.96.20.220:27500

    Quake 2:

    NPM 194.74.94.9:27910 Deathmatch

    194.74.94.9:27920 Capture the flag

    MaTaDoR-Q2 158.109.8.88:27910 Deathmatch

    NOKLAN-Q2 194.224.96.59:27910 Deathmatch

    VAMP-Q2 158.53.204.155:27910 Capture the flag

    ARRAKIS 195.5.65.162:27910 Deathmatch

    195.5.65.165:29000 Capture the flag

    [QU]-Q2 194.179.71.92:27910 Deathmatch

    quake.ctv.es      195.57.143.92:27910 Deathmatch

  8.  Agradecimientos:

  A todos los habituales del canal #linux del irc hispano por
  soportarme, y en especial a aquellos que me han enseado las
  maravillas del quake (pukka, wait_man, Al y alguno que me dejo ...),
  adems de a todos los que contribuyen a la expansin del linux.

  A Graffic por el 3Dfx-COMOR del que he sacado casi toda la informacin
  sobre las 3dfx.

  A Satch Sky-Man y Devan por las correcciones y aadidos.

  A Id Software por hacer el quake, y lo ms importante, por portarlo a
  Linux.

  9.  Anexo: El INSFLUG

  El INSFLUG forma parte del grupo internacional Linux Documentation
  Project, encargndose de las traducciones al castellano de los Howtos
  (Comos), as como la produccin de documentos originales en aquellos
  casos en los que no existe anlogo en ingls.

  En el INSFLUG se orienta preferentemente a la traduccin de documentos
  breves, como los COMOs y PUFs (Preguntas de Uso Frecuente, las FAQs.
  :) ), etc.

  Dirjase a la sede del INSFLUG para ms informacin al respecto.

  En la sede del INSFLUG encontrar siempre las ltimas versiones de las
  traducciones:  www.insflug.org. Asegrese de comprobar cul es la
  ltima versin disponible en el Insflug antes de bajar un documento de
  un servidor rplica.

  Se proporciona tambin una lista de los servidores rplica (mirror)
  del Insflug ms cercanos a Vd., e informacin relativa a otros
  recursos en castellano.

  Francisco Jos Montilla, pacopepe@insflug.org.

