Quake I&II Mini Como
 �lvaro Villalba Poncet, [email protected]
 ver 0.7, 22 de Enero de 1999.

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

 �ndice General:

 1.      Introducci�n.

 2.      Requisitos.

 2.1.    Software.

 2.2.    Hardware:

 2.2.1.  Configuraci�n de la tarjeta de video

 2.2.2.  Configuraci�n de tarjetas aceleradoras

 2.2.3.  Configuraci�n del rat�n

 2.2.4.  Configuraci�n de la tarjeta de sonido.

 3.      Quake :

 3.1.    Principales problemas:

 3.2.    Juego en Red (Quake World).

 3.3.    A�adidos al quake.

 4.      Quake II

 4.1.    Juego en Red

 4.2.    Principales Problemas

 4.3.    Principales modificaciones.

 5.      C�mo montar un server dedicado.

 5.1.    Quake

 5.2.    QuakeWorld.

 5.3.    Quake 2

 6.      Problemas con las tarjetas aceleradoras.

 7.      Servidores espa�oles de quake.

 8.      Agradecimientos:

 9.      Anexo: El INSFLUG
 ______________________________________________________________________

 1.  Introducci�n.

 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 portar�n sus juegos a linux, alg�n d�a se comer�n sus
 palabras ... :) ).  El quake en linux funciona perfectamente, incluso
 m�s r�pido que en windows, adem�s 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 generaci�n), ya que no todas tienen drivers para linux (pero
 cada vez son m�s 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 p�gina 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 cuesti�n de probar ;) ).

 2.2.1.  Configuraci�n de la tarjeta de video.

 Se puede jugar al quake desde las X o desde la SVGA, recomiendo la
 SVGA porque es mas r�pida, pero si es un servidor con varios usuarios
 recomiendo la versi�n de las X (principalmente porque para correr la
 vers�on 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 m�s le guste ...

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

 Para la SVGA normalmente no hay que tocar nada, el archivo de
 configuraci�n 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 par�metros de su tarjeta (tipo de
 chipset, RamDac, etc) y del monitor (m�relas en los manuales del
 ordenador).

 2.2.2.  Configuraci�n de tarjetas aceleradoras.

 Lo primero que necesitaremos es una tarjeta aceleradora; hasta la
 fecha solo est�n 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 librer�as 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 p�gina se puede obtener tambien informaci�n sobre
    las tarjetas soportadas. Necesitaremos como m�nimo dos archivos:

    1. Glide2x_SDK-2.1 es el kit de desarrollo de la librer�a glide.

    2. Glide son las librer�as 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 versi�n free de las librer�as OpenGL, se pueden obtener
    de http://www.ssec.wisc.edu/~brianp/Mesa.html. La �ltima versi�n
    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 librer�as propiamente dichas.

    2. MesaDemos demos de la librer�a.

    Existen binarios de las librer�as 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]-[versi�n].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 librer�as est�n 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 simb�lico ya
 que las librer�as Mesa buscar�n la librer�a 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 librer�as 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 librer�as, 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
    librer�as ya estar�n compiladas, ahora lo �nico que queda es insta�
    larlas. Si ya las ten�amos instaladas antes lo �nico que tenemos
    que hacer es copiar la librer�a 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 ten�a yo instaladas, si ya
 las ten�amos en /usr/local/lib las copiaremos ah�.  Si no las ten�amos
 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, a�n nos faltan los
 ejecutables para el quake, el quakeworld y el quake2).

 2.2.3.  Configuraci�n del rat�n.

 Para que funcione el rat�n tenemos que editar otra vez el fichero de
 configuraci�n de la vga (ver ``Configuraci�n de la tarjeta de video'')
 y poner el tipo de rat�n que tenemos. Es necesario tener el gpm
 funcionando, que es el que se encarga de controlar el rat�n en la
 consola. Si usa el gpm con el par�metro -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 rat�n mediante los par�metros -mdev [device] y la velocidad con
 -mrate [speed]. Los par�metros por defecto son /dev/mouse para el
 -mdev y 1200 para el -mrate.

 Lo errores con el rat�n normalmente se deben a fallos en la
 configuraci�n del gpm o porque no se ha especificado el tipo de rat�n
 en el libvga.config. Adem�s es muy com�n que cuando se est� jugando al
 quake y se cambia a otra consola el rat�n 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 rat�n de tres botones es
 recomendable consultar el Raton_3_botones-Como.

 2.2.4.  Configuraci�n 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 par�metro
 -nosound. Adem�s de este hay otros parametr�s 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 soluci�n pasa por instalarse el gcc-2.7.2.3 y recompilar
 el sndconfig con �l (adem�s los kernels de esa versi�n 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
 partici�n (por ejemplo en windows) no hace falta copiarlos a la
 partici�n linux, podemos usar enlaces simb�licos, 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 simb�licos, y suponiendo que tenemos la partici�n 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 m�s ... 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 resoluci�n de la pantalla se usan dos comandos, nos
 ponemos en la consola del quake y ponemos vid_describemodes que nos da
 una descripci�n de todos los modos de video posible (cada uno con un
 n�mero).

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

 Si queremos medir los fps a una resoluci�n podemos hacerlo con
 timedemo demo1 desde consola, que intenta ejecutar lo m�s r�pido
 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. Soluci�n: arrancamos con ./squake -nosound.

 �  No tenemos puesto el HOSTNAME. Soluci�n: editamos el fichero
    /etc/hosts y a�adimos el nombre de nuestra m�quina, 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 m�quina
 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. Soluci�n 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
 adicci�n 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 visi�n del juego y la manera de jugar, los
 movimientos se aceleran en un 200%. Para jugar en red lo �nico que
 necesita es una conexi�n a internet o a una LAN.

 En la p�gina de quake en linux ( ver ``Software.'') se puede encontrar
 un ejecutable que se llama qwcl. Esto es el cliente de QuakeWorld, que
 no es m�s que una mejora de la engine de red del quake (solo sirve
 para jugar en red) con algunos a�adidos, 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 magn�fico 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 espa�oles de quake'').

 Lo mejor es tener la �ltima versi�n del qw (actualmente la 2.30) y la
 anterior ya que algunos server no se han actualizado a�n.

 Si se tiene una tarjeta aceleradora necesitar� el glqwcl. Para
 indicarle la resoluci�n de pantalla se hace como en el glquake
 mediante los par�metros -width ANCHO -height ALTO.

 El par�metro rate XXXX controla el numero de bps que recibimos del
 servidor adem�s del n�mero de fps. Para un modem de 33.6 el par�metro
 �ptimo es de 3000, para un 28.8 de 2500.

 3.3.  A�adidos 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
 a�adir variaciones f�cilmente.

 Puede a�adirle nuevas armas, nuevos montruos, nuevos niveles, incluso
 nuevos "juegos". El m�s 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 misi�n de cada equipo es capturar
 la bandera del otro y llevarla a su base, siempre y cuando no lo
 capturen la suya. La mayor�a 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 variaci�n 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 m�s 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 variaci�n muy interesante es el Team Fortress que se puede
 encontrar en www.planetfortress.com/teamfortress>. Es b�sicamente 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 m�s se juega en equipo.

 El Rocket Arena es otra variaci�n 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 m�s 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
    simb�lico con

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

 Atenci�n que el ficherito s�lo 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 librer�as 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 m�nimo) e
 instalar las librerias glide si va a usar una 3dfx (ver
 ``Configuraci�n 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 a�adimos las direcciones de servers que
 queramos , luego le damos a update server list y nos saldr�n los
 servers con la informaci�n 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 conexi�n y las opciones de descarga que se usan para
 bajarse skins, mapas, sonidos y dem�s cosas de los servidores).

 La mayoria de los servers usan lo mapas de deathmatch (q2dm*). En el
 quake ven�an en el cd, pero en el quake2 salieron despu�s con lo que
 si queremos jugar en internet estamos obligados a baj�rnoslos.

 Los mapas vienen en la versi�n 3.13, ocupan unos 10 megas, ver
 ``Software.'', que adem�s 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 versi�n 3.20 que es
 la que usan los servidores (esta es la �ltima versi�n que ha salido
 hasta la fecha, es recomendable tener siempre la �ltima versi�n 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 soluci�n
    ...  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 despu�s de iniciar
    el sonido y el v�deo 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, s�lo 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
 m�s extendida es el Lithium II, que a�ade 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 ``A�adidos al
 quake.'') pero consumen muchos recursos (a�n as� se pueden usar).

 Otra modificaci�n que est� sustituyendo al ctf2 es el lmctf que es una
 variaci�n de este con mapas m�s 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
 p�gina que el Rocket Arena para quake (ver ``A�adidos al quake.''.

 5.  C�mo montar un server dedicado.

 Si tiene una conexi�n 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 modificaci�n 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 l�mite 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 dem�s 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 p�gina 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 par�metros de las 3dfx.  Los problemas m�s
 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 inserci�n de un m�dulo 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 est�n 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 est�n 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 deber�a tener problemas porque el
    propio paquete del Glide_V2 trae adem�s de las versiones de las
    librer�as 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 versi�n para
    libc5, extraer las librer�as (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
    versi�n para glibc) e instalarlas (en /usr/i486-linux-libc5/lib).
    Adem�s 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 versi�n de
      RedHat 5.X o del directorio /libc6 en caso de que lo est� cogiendo del contrib
      de RedHat, sino le sobreescribir� las antiguas librer�as y no funcionar� el
      sistema!

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

 �  Cuando ejecuto el glquake me da el error glquake: can't resolve
    symbol ten�a (vienen con el ejecutable del quake2) consulte la
    direcci�n 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 opci�n es bajarse el programa GlideControl mencionado anterior�
 mente con el que puede cambiar la gamma de la tarjeta adem�s de otros
 par�metros.

 �  Al jugar en linux obtengo menos fps que en windows: Bueno, las Mesa
    no est�n todav�a lo suficientemente optimizadas, y en procesadores
    lentos no dan un buen rendimiento. Una opci�n es probar el port de
    opengl que han incluido los autores del quake como opci�n a las
    librer�as 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 opci�n es asegurarse de que la libMesaGL.so.2 es un
 enlace a la libMesaGL.so.3. La versi�n 3 est� bastante m�s optimizada
 que la 2.6 y el rendimiento aumenta bastante, el problema es que el
 glquake necesita la versi�n 2.6. Una soluci�n chapucera es hacer lo
 siguiente; lo primero vemos donde est�n las librer�as 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
 a�ada en el path de b�squeda 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
      # A�adimos el directorio del quake2 a la ruta de b�squeda
      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 opci�n para hacer lo mismo pero sin necesidad de ser root
 es eliminar la libMesaGL.so.2 de la ruta de b�squeda 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 a�adir 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 tendr�amos 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 rat�n: Las 3dfx y el gpm no se llevan bien , en
    el README viene bastante claro que para que funcione el rat�n con
    las tarjetas aceleradoras hay que mat�r 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 m�s recomendable.

 7.  Servidores espa�oles de quake.

 He aqu� una lista de algunos servidores de quake en Espa�a.

 �  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 ense�ado las
 maravillas del quake (pukka, wait_man, Al y alguno que me dejo ...),
 adem�s de a todos los que contribuyen a la expansi�n del linux.

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

 A Satch Sky-Man y Devan por las correcciones y a�adidos.

 A Id Software por hacer el quake, y lo m�s importante, por portarlo a
 Linux.

 9.  Anexo: El INSFLUG

 El INSFLUG forma parte del grupo internacional Linux Documentation
 Project, encarg�ndose de las traducciones al castellano de los Howtos
 (Comos), as� como la producci�n de documentos originales en aquellos
 casos en los que no existe an�logo en ingl�s.

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

 Dir�jase a la sede del INSFLUG para m�s informaci�n al respecto.

 En la sede del INSFLUG encontrar� siempre las �ltimas versiones de las
 traducciones:  www.insflug.org. Aseg�rese de comprobar cu�l es la
 �ltima versi�n disponible en el Insflug antes de bajar un documento de
 un servidor r�plica.

 Se proporciona tambi�n una lista de los servidores r�plica (mirror)
 del Insflug m�s cercanos a Vd., e informaci�n relativa a otros
 recursos en castellano.

 Francisco Jos� Montilla, [email protected].