<!doctype linuxdoc system
	[ <!entity RCSID "$Id: Quake-HOWTO.sgml,v 1.0.1.14 1998/10/05 19:54:17
bobz Exp bobz $" >
	 <!entity CurrentDate "30 August 1998" >
	 <!entity CurrentVer "1.0.1.14" >
	] >
<article>

<title>Linux Quake HOWTO
<author>Bob Zimbinski <tt/bobz@mr.net/
Version Française : Eric MAISONOBE <tt/viret@nat.fr/
<date>v1.0.1.14, 30 Août 1998


<abstract>

Ce document explique comment installer, exécuter et régler les problèmes liés à
Quake, QuakeWorld et Quake II sur un système Linux Intel.
</abstract>

<toc>

<sect>Introduction 
<p>
Quake, QuakeWorld et Quake II sont de formidables jeux d'action 3D développés
par <htmlurl url="http://www.idsoftware.com" name="id Software">.

Si vous n'êtes pas familier avec les jeux Quake, il existe de meilleurs
documents que ce HOWTO pour en appréhender les bases. Reportez-vous à la section
<ref id="other-sources" name="Autres Sources d'Information"> ci-dessous pour en
obtenir une liste.

Ce document présuppose que vous avez Linux installé et éventuellement également
le système X Window. X n'est pas nécessaire au fonctionnement de ces jeux, mais
c'est un bon moyen pour tester une installation de base. Si vous n'avez pas X,
vous pouvez sans risque ignorer toutes les références qui y font appel.

Les sections de ce document qui ont été modifiées lors de la dernière mise à
jour ont un ** après l'entête de la section. De la même manière, les sections
modifiées lors de mises à jour antérieures sont reconnaissables par ++.

<sect1>Retour d'informations, Commentaires, Corrections
<p>

Ce document ne contient certainement <bf>pas</bf> tout ce qu'il y a à connaître
de Quake Linux.
Avec votre aide, cependant, nous pourrons nous en rapprocher.
Nous voulons que ce document soit aussi complet et précis que possible, aussi,
si vous remarquez des erreurs ou des omissions, merci de les porter à notre
attention.

Les questions, commentaires ou corrections sont à envoyer à Bob Zimbinski
(<htmlurl url="mailto:bobz@mr.net" name="bobz@mr.net">) ou Mike Hallock
(<htmlurl url="mailto:mikeh@medina.net" name="mikeh@medina.net">).

Les critiques constructives sont les bienvenues. Les descentes en flammes ne le
sont pas.


<sect1>Remerciements **
<p>
La version originale de ce document a été écrite par Brett A.Thomas <htmlurl
url="mailto:quark@baz.com" name="(quark@baz.com)"> et Mike Hallock <htmlurl
url="mailto:mikeh@medina.net" name="(mikeh@medina.net)">.
Bob Zimbinski <htmlurl url="mailto:bobz@mr.net" name="(bobz@mr.net)">
a réécrit et enrichi le document original.

Remerciements particuliers aux personnes suivantes pour nous avoir permis
d'obtenir Quake pour Linux :
<itemize>
<item>John Carmack et les membres de <htmlurl url="http://www.idsoftware.com"
name="id Software"> pour ces célèbres jeux.
<item>Dave 'Zoid' Kirsch <htmlurl url="mailto:zoid@idsoftware.com"
name="(zoid@idsoftware.com)"> pour le portage sous Linux.
<item>Dave Taylor <htmlurl url="mailto:ddt@crack.com" name="(ddt@crack.com)">
pour avoir commencé ce singulier travail de portage.
<item>Daryll Strauss <htmlurl url="mailto:daryll@harlot.rb.ca.us"
name="(daryll@harlot.rb.ca.us)"> pour le portage de glide sous Linux.
<item>Brian Paul <htmlurl url="mailto:brianp@elastic.avid.com"
name="(brianp@elastic.avid.com)"> pour la librairie graphique Mesa.
<item>David Bucciarelli (<htmlurl url="mailto:tech.hmw@plus.it"
name="tech.hmw@plus.it">) pour le driver Mesa.
</itemize>

Remerciements aux personnes suivantes pour leurs contributions à ce HOWTO :

<itemize>
<item>Mike Brunson (<htmlurl url="mailto:brunson@l3.net" name="brunson@l3.net">)
pour l'astuce vid_restart.
 <item>Joey Hess (<htmlurl url="mailto:joey@kite.ml.org"
name="joey@kite.ml.org">) pour ses informations sur le fonctionnement des jeux
svga & gl sous X
<item>Joe S. (<htmlurl url="mailto:jszabo@eden.rutgers.edu"
name="jszabo@eden.rutgers.edu">) pour une bouillante pile de suggestions.
<item>Brad Lambert (<htmlurl url="mailto:bradl@dial.pipex.com"
name="bradl@dial.pipex.com">) pour le pense-bête <tt>-noudp</tt>.
<item>agx (<htmlurl url="mailto:gguenthe@iris.rz.uni-konstanz.de"
name="gguenthe@iris.rz.uni-konstanz.de">) pour les informations sur
l'installation de Quake et QIPX.
<item>Derrik Pates (<htmlurl url="mailto:dmp8309@silver.sdsmt.edu"
name="dmp8309@silver.sdsmt.edu">) pour m'avoir fait penser à la sécurité.
<item>Michael Dwyer (<htmlurl url="mailto:michael_dwyer@mwiworks.com"
name="michael_dwyer@mwiworks.com">) pour ses idées sur les considérations
relatives à d'autres l'OS.
<item>Derek Simkowiak (<htmlurl url="mailto:dereks@kd-dev.com"
name="dereks@kd-dev.com">) pour la procédure d'installation de Quake I.
<item>sunstorm (<htmlurl url="mailto:sunstorm@glasscity.net"
name="sunstorm@glasscity.net">) pour les informations sur le 2ème pack de
Missions Quake.
<item>Neil Marshall (<htmlurl url="mailto:marshall@pssnet.com"
name="marshall@pssnet.com">) pour les écrans d'information.
</itemize>

<sect1>Autres Sources d'Information<label id="other-sources">
<p>

<sect2>Informations Spécifiques à Quake Linux **
<p>
<itemize>
<item>LQ:Linux Quake & Utilites <htmlurl url="http://www.linuxquake.com/"
name="http://www.linuxquake.com/">.
<item>Linux Quake Page <htmlurl url="http://captured.com/threewave/linux/"
name="http://captured.com/threewave/linux/">
<item>QuakeWorld.net <htmlurl url="http://www.quakeworld.net"
name="http://www.quakeworld.net">
</itemize>

<sect2>Information Générales sur Quake<label id="general-quake-sources">
<p>
<itemize>
<item>id Software <htmlurl url="http://www.idsoftware.com"
name="http://www.idsoftware.com">
<item>PlanetQuake <htmlurl url="http://www.planetquake.com"
name="http://www.planetquake.com">
<item>QuakeWorld Central <htmlurl url="http://qwcentral.stomped.com"
name="http://qwcentral.stomped.com">
<item>3Dfx's GL Quake FAQ (quelque peu hors du temps) <htmlurl
url="http://www.3dfx.com/game_dev/quake_faq.html"
name="http://www.3dfx.com/game_dev/quake_faq.html">
<item>Liste des commandes pour Console, Farenheit 176<htmlurl
url="http://www.planetquake.com/f176" name="http://www.planetquake.com/f176">
<item>Forums rec.games.computer.quake.*
</itemize>

<sect2>Informations sur les Jeux Linux
<p>
<itemize>
<item>LinuxGames <htmlurl url="http://www.linuxgames.com/"
name="http://www.linuxgames.com/">
<item>The Linux Game Tome <htmlurl
url="http://www.cs.washington.edu/homes/tlau/tome/linux-game.html"
name="http://www.cs.washington.edu/homes/tlau/tome/linux-game.html">
</itemize>
 
<!---------------------------------------------------------------------------->
<!---------------------------------------------------------------------------->
<sect>Quake/Quakeworld
<p>
Pour installer Quake sur votre système Linux, vous aurez besoin de quelques
composants de la distribution officielle de Quake par id. Cela pourra être
n'importe quel CD-ROM DOS/Windows acheté à votre détaillant favori ou la version
shareware téléchargée sur Internet (reportez-vous <ref id="quake-shareware"
name="ci-dessous"> pour plus de détails sur la manière d'acquérir la version
shareware).

Ou bien, si vous avez déjà Quake installé sur une machine DOS/Windows, vous
pouvez utiliser les fichiers provenant de cette installation.

<sect1>Configuration Minimale
<p>
Vous aurez besoin, au strict minimum, de la configuration suivante :

<itemize>
<item>Un ordinateur de type Pentium 90 ou mieux (133 recommandé)
<item>16 MB RAM (24 recommandé)
<item>Le CD-ROM Quake <bf>ou</bf> la version shareware (quake106.zip)
<item>Un noyau Linux version 2.0.24 ou supérieure
<item>libc 5.2.18 ou supérieure
<item>Au choix :
<itemize>
<item>X11R5 ou supérieur (pour xquake)
<item>SVGAlib 1.2.0 ou supérieure (pour squake et glquake)
</itemize>
<item>30-80 megabytes d'espace disque libre (dépend de votre installation)
<item>L'accès root sur la machine devant recevoir l'installation
</itemize>

<p>En Option:
<itemize>
<item>Une carte son supportée
<item>Une carte accélératrice 3Dfx VooDoo Graphics ou VooDoo2
<item>Mesa 2.6 ou supérieur (pour glquake)
</itemize>

<sect1>Installation de Quake
<p>

<sect2>Téléchargement des fichiers nécessaires <label id="quake-files">**
<p>
Tous les fichiers nécessaires pour Quake Linux sont disponibles sur le site ftp
d'id Software, <htmlurl url="ftp://ftp.idsoftware.com"
name="ftp.idsoftware.com">. Ce site pouvant être très sollicité, vous pouvez
utiliser l'un des sites miroirs ci-dessous :
<itemize>
<item><htmlurl url="ftp://ftp.cdrom.com/pub/idgames/idstuff"
name="ftp.cdrom.com/pub/idgames/idstuff"> (California, USA)
<item><htmlurl url="ftp://ftp.gamesnet.net/idsoftware"
name="ftp.gamesnet.net/idsoftware"> (California, USA)
<item><htmlurl url="ftp://ftp.linuxquake.com/lqstuff"
name="ftp.linuxquake.com/lqstuff"> (Michigan, USA)
<item><htmlurl url="ftp://ftp.stomped.com/pub/mirror/idstuff"
name="ftp.stomped.com/pub/mirror/idstuff"> (Minnesota, USA)
<item><htmlurl url="ftp://mirrors.telepac.pt/pub/idgames"
name="mirrors.telepac.pt/pub/idgames"> (Lisbon, Portugal)
<item><htmlurl url="ftp://download.netvision.net.il/pub/mirrors/idsoftware"
name="download.netvision.net.il/pub/mirrors/idsoftware"> (Haifa, Israel)
</itemize>

Les fichiers Quake mentionnés dans cette section sont :
<itemize>
<item>Distribution Shareware Quake pour Windows <label id="quake-shareware">
<htmlurl url="ftp://ftp.idsoftware.com/idstuff/quake/quake106.zip"
name="ftp://ftp.idsoftware.com/idstuff/quake/quake106.zip">
<item>Binaires X11 Quake<label id="quake-x11-binary"> <htmlurl
url="ftp://ftp.idsoftware.com/idstuff/unsup/unix/quake.x11-1.0-i386-unknown-linu
x2.0.tar.gz"
name="ftp://ftp.idsoftware.com/idstuff/unsup/unix/quake.x11-1.0-i386-unknown-lin
ux2.0.tar.gz">
<item>Binaires SVGAlib Quake<label id="quake-svga-binary"> <htmlurl
url="ftp://ftp.idsoftware.com/idstuff/unsup/squake-1.1-i386-unknown-linux2.0.tar
.gz"
name="ftp://ftp.idsoftware.com/idstuff/unsup/squake-1.1-i386-unknown-linux2.0.ta
r.gz">
<item>Binaires OpenGL/Mesa Quake<label id="quake-gl-binary"> <htmlurl
url="ftp://ftp.idsoftware.com/idstuff/unsup/unix/glquake-0.97-i386-unknown-linux
2.0.tar.gz"
name="ftp://ftp.idsoftware.com/idstuff/unsup/unix/glquake-0.97-i386-unknown-linu
x2.0.tar.gz">
<item>Clients QuakeWorld pour Linux (Les clients X11, SVGAlib et GL sont tous
inclus dans chaque paquetage)<label id="qwcl">
<itemize>
<item>Paquetage libc5 tar.gz <htmlurl
url="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-i386-unknown-lin
ux2.0.tar.gz"
name="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-i386-unknown-li
nux2.0.tar.gz">
<item>Paquetage glibc tar.gz <htmlurl
url="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-glibc-i386-unkno
wn-linux2.0.tar.gz"
name="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-glibc-i386-unkn
own-linux2.0.tar.gz">
<item>Paquetage libc5 rpm <htmlurl
url="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-1.i386.rpm"
name="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-1.i386.rpm">
<item>Paquetage glibc rpm <htmlurl
url="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-glibc-1.i386.rpm
"
name="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-glibc-1.i386.rp
m">
</itemize>

<item>Serveur QuakeWorld Linux
<itemize>
<item>Paquetage libc5 tar.gz <htmlurl
url="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-i386-unknown-lin
ux2.0.tar.gz"
name="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-i386-unknown-li
nux2.0.tar.gz">
<item>Paquetage glibc tar.gz <htmlurl
url="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-glibc-i386-unkno
wn-linux2.0.tar.gz"
name="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-glibc-i386-unkn
own-linux2.0.tar.gz">
<item>Paquetage libc5 rpm <htmlurl
url="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-1.i386.rpm"
name="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-1.i386.rpm">
<item>Paquetage glibc rpm <htmlurl
url="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-glibc-1.i386.rpm
"
name="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-glibc-1.i386.rp
m">
</itemize>

<item>Le paquetage de la couche client <htmlurl
url="ftp://ftp.cdrom.com/pub/quake/planetquake/threewave/ctf/client/3wctfc.zip"
name="ftp://ftp.cdrom.com/pub/quake/planetquake/threewave/ctf/client/3wctfc.zip"
>
</itemize>

Autres logiciels mentionnés:
<itemize>
<item>Utilitaire d'archivade lha <htmlurl
url="ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z"
name="ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z">.
<item>Librairie graphique SVGAlib <htmlurl
url="http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.tar.gz"
name="http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.tar.gz">
<item>Binaires SVGAlib libc5 <htmlurl
url="http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar.
gz"
name="http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar
.gz">
<item>Libraries Glide runtime <htmlurl
url="http://glide.xxedgexx.com/3DfxRPMS.html"
name="http://glide.xxedgexx.com/3DfxRPMS.html">
</itemize>


<sect2>Création du répertoire d'installation ++
<p>
La première chose que vous avez à faire est de décider où vous souhaitez
installer Quake.
Beaucoup l'installent dans <tt>/usr/games/quake</tt>.
L'administrateur système que je suis a choisi d'installer tout ce qui n'est pas
partie intégrante de ma distribution Linux sous <tt>/usr/local</tt>. Aussi,,
pour moi, Quake a trouvé sa place sous <tt>/usr/local/games/quake</tt>. Si vous
choisissez de l'installer ailleurs, n'oubliez pas de substituer le chemin
approprié partout où <tt>/usr/local/games/quake</tt> est indiqué.


<bf>Remarque aux utilisateurs de Redhat:</bf> Si vous envisagez d'installer
QuakeWorld depuis les paquetages <tt>rpm</tt>, vous devrez probablement
installer Quake sous <tt>/usr/local/games/quake</tt>, étant donné que
<tt>rpm</tt> installe dans ce répertoire par défaut.

Bien! Maintenant, créons le répertoire dans lequel nous allons installer Quake,
et déplaçons-nous dedans (les instructions suivantes partent du principe que
c'est notre répertoire courant).


<tscreen><verb>
mkdir /usr/local/games/quake
cd /usr/local/games/quake
</verb></tscreen>

<sect2>Installation de Quake depuis un CD ++
<p>
Si vous installez Quake depuis un CD-ROM, lisez ceci. Si ce n'est pas le cas,
vous avez la permission de sauter cette section.

Il y a au moins deux versions de Quake CD en circulation. J'ai l'une des plus
anciennes, contenant la version 1.01 de Quake. J'ai pu rencontrer d'autres CD
avec la version 1.06. Vous possédez la version 1.01 si vous avez des fichiers
appelés <tt>quake101.1</tt> et <tt>quake101.2</tt>. Si vous trouvez un fichier
appelé <tt>resource.1</tt>, vous avez la version la plus récente.
Montez votre CD Quake et déterminez quelle version vous possédez. Dans l'exemple
ci-dessous, remplacez <tt>/dev/cdrom</tt> et <tt>/mnt/cdrom</tt> par le fichier
et le point de montage appropriés à votre système:
<tscreen><verb>
mount -t iso9660 /dev/cdrom /mnt/cdrom
ls /mnt/cdrom
</verb></tscreen>

<itemize>
<item>Si vous avez un fichier <tt>resource.1</tt> sur le CD, vous pouvez passer
au point suivant.
Pour la version CD 1.01, vous aurez besoin de télécharger le paquetage shareware
Quake pour mettre à jour les fichiers <tt>.pak</tt> après l'installation. Le
dernier point de cette section détaille cela.

<itemize>
<item>Concaténons les deux fichiers de votre CD en un seul sur le disque dur:
<tscreen><verb>
cat /mnt/cdrom/quake101.1 /mnt/cdrom/quake101.2 > resource.1
</verb></tscreen>
<item>Maintenant passez au paragraphe suivant, mais lorsque je ferai référence à
<tt>/mnt/cdrom/resource.1</tt>, vous devrez utiliser à la place
<tt>/usr/local/games/quake/resource.1</tt>.
</itemize>
<p>

<item>Il est maintenant temps d'extraire les fichiers de Quake. Le fichier
<tt>resource.1</tt> est une archive lha (lha est un format de compression et
d'archivage comme zip ou tar). Nous utiliserons la commande <tt>lha(1)</tt> pour
l'extraire. Si lha n'est pas déjà installé sur votre système, vous pouvez
l'obtenir depuis <htmlurl
url="ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z"
name="ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z">.

<tscreen><verb>
lha e /mnt/cdrom/resource.1
</verb></tscreen>

Lorsque lha aura terminé, votre répertoire Quake contiendra bon nombre de
fichiers nouveaux.
Un répertoire appelé <tt>id1/</tt> aura également été créé. Les fichiers de ce
répertoire sont les seuls importants pour Quake Linux, aussi vous pouvez sans
crainte supprimer tout les autres. Si vous êtes totalement nouveau dans Quake,
ou même si vous ne l'êtes pas, vous pouvez souhaiter conserver les fichiers
<tt>*.txt</tt>. Sur mon système, je rassemble tous les "readme" dans un
répertoire <tt>doc/</tt>. Pour ce faire :

<tscreen><verb>
cd /usr/local/games/quake
mkdir doc
mv *.txt doc
rm -f *
</verb></tscreen>

<item> Si vous installez depuis une version CD 1.01 CD, vous devez maintenant
remplacer vos fichiers <tt>id1/pak0.pak</tt> par ceux de la version shareware de
Quake. Installez la version shareware comme cela est décrit dans <ref
id="quake-shareware-install" name="Installation de la Version Shareware">, en
effectuant cette installation dans un répertoire temporaire afin de ne pas
écraser vos fichiers CD. Lorsque vous avez extrait tous les fichiers shareware,
copiez le fichier <tt>id1/pak0.pak</tt> du répertoire temporaire shareware dans
votre répertoire <tt>/usr/local/games/quake/id1</tt>. Après quoi vous pouvez
écraser tous les fichiers temporaires sharewares.

</itemize>

Voilà pour ce qui est de l'installation à partir du CD. Vous pouvez maintenant
passer à la section <ref id="quake-linux-binaries" name="Installation des
Binaires Linux">.

<sect2>Installation sous Linux depuis DOS/Windows<label id="quake-windows-copy">
<p>
Si vous avez Quake installé sous Windows ou DOS sur une machine différente, vous
pouvez transférer les fichiers dans <tt>quake\id1\</tt> sur votre système Linux
via FTP ou tout autre moyen. Gardez à l'esprit que les noms des fichiers sur
Linux doivent être en minuscules pour que Quake puisse les trouver, aussi vous
devrez éventuellement les renommer après le transfert. Notez également qu'il
peut être ensuite nécessaire de supprimer votre installation sous DOS/Win afin
de rester en règle avec les termes de la licence consentie par ID SOFTWARE. Ce
ne sera pas ma faute si vous faites quelque chose d'illégal.

Si vos systèmes DOS/Win et Linux sont sur la même machine, vous avez deux
possibilités: copier les fichiers de votre partition DOS/Windows sur votre
partition Linux, ou créer des liens sur les fichiers nécessaires sous Linux. Les
deux options fonctionnent aussi bien. Vous économisez simplement à peu près 50
megaoctets d'espace disque quand vous créez des liens au lieu de copier.

Quoi que vous choisissiez de faire, commencez par vous déplacer dans votre
répertoire Quake et créez un nouveau répertoire appelé <tt>id1</tt>:

<tscreen><verb>
cd /usr/local/games/quake
mkdir id1
</verb></tscreen>

<itemize>
<item> Si vous préférez copier les fichiers de votre partition DOS/Windows,
faites quelque chose de ce genre:

<tscreen><verb>
cp /win95/games/quake/id1/*.pak id1
</verb></tscreen>

<item> Pour créer des liens sur vos fichiers Quake DOS/Windows, faites ceci à la
place:

<tscreen><verb>
cd id1
ln -s /win95/games/quake/id1/*.pak .
</verb></tscreen>
</itemize>

Remplacez <tt>/win95/games/quake</tt> par le chemin correspondant à votre
partition DOS/Windows et à votre répertoire d'installation Quake.

Les fichiers de données Quake sont maintenant installés. Passez à l'<ref
id="quake-linux-binaries" name="Installation des Binaires Linux">.



<sect2>Installation de la Version Shareware <label id="quake-shareware-install">
<p>
L'unique épisode de la version shareware de Quake est gratuitement disponible au
téléchargement sur le site ftp de ID SOFTWARE. Il a toutes les fonctionnalités
de la version complète, avec deux limitations majeures: vous ne pouvez pas jouer
à QuakeWorld avec, et vous ne pouvez pas modifier les niveaux.

L'installation de la version shareware de Quake n'est pas très différente de
l'installation à partir du CD.


Voyez la section <ref id="quake-files" name="Téléchargement des fichiers
nécessaires"> pour trouver les références de la distribution shareware.
Téléchargez-la et décompressez-la dans votre répertoire Quake :

<tscreen><verb>
cd /usr/local/games/quake
unzip -L /wherever/you/put/it/quake106.zip
</verb></tscreen>

Maintenant vous avez (entre autres) un fichier appelé <tt>resource.1</tt> qui
est en fait une archive lha (lha est un format de compression et d'archivage
comme zip ou tar). Nous utiliserons la commande <bf>lha(1)</bf> pour
l'extraction.

Si lha n'est pas déjà installé sur votre système, vous pouvez l'obtenir depuis
<htmlurl url="ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z"
name="ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z">.

<tscreen><verb>
lha e resource.1
</verb></tscreen>

Lorsque lha aura terminé, votre répertoire Quake contiendra bon nombre de
fichiers nouveaux. Un répertoire appelé <tt>id1/</tt> aura également été créé.
Les fichiers de ce répertoire sont les seuls importants pour Quake Linux, aussi
vous pouvez sans crainte supprimer tous les autres. Si vous êtes totalement
nouveau dans Quake, ou même si vous ne l'êtes pas, vous pouvez souhaiter
conserver les fichiers<tt>*.txt</tt>. Sur mon système, je rassemble tous les
"readme" dans une répertoire <tt>doc/</tt>. Pour ce faire :

<tscreen><verb>
cd /usr/local/games/quake
mkdir doc
mv *.txt doc
rm -f *
</verb></tscreen>


Maintenant vous êtes prêt à installer les binaires Linux.



<sect1>Ajout des Binaires Linux <label id="quake-linux-binaries">
<p>
Décidez lequel des trois composants de Quake vous souhaitez installer:

<itemize>
<item>X11 Quake vous permet d'exécuter Quake dans une fenêtre de votre bureau X.
C'est le client le moins excitant, mais c'est une bonne et sûre manière de
tester votre installation.
<item>Squake est le client Quake SVGAlib. Il s'exécute en plein écran sur votre
console.
<item>GLQuake est le client Quake OpenGL, la Seule Vraie Manière de jouer à
Quake si vous possédez une carte accélératrice 3Dfx.

</itemize>

Téléchargez les paquetages que vous souhaitez (reportez-vous à la section<ref
id="quake-files" name="Téléchargement des fichiers Nécessaires">) et
extrayez-les dans votre répertoire Quake de ce façon:

<tscreen><verb>
cd /usr/local/games/quake
tar -xzf XXXX-i386-unknown-linux2.0.tar.gz
</verb></tscreen>

<sect1>Mise en place des Permissions 
<p>
Les serveurs de Quake et QuakeWorld peuvent être exécutés par n'importe quel
utilisateur. Les clients Quake, de toute façon, ont besoin d'accéder à vos
cartes son et graphique, ce qui requiert des privilèges que les utilisateurs
normaux n'ont pas. Une (mauvaise) façon de contourner le problème est de
toujours lancer Quake en tant que root. Tout Administrateur Système Responsable
hurlera à l'évocation de cette suggestion malsaine. Rendre les binaires de Quake
"setuid root" est une solution plus acceptable (Ndt: setuid est une instruction
Linux/Unix rendant ici possible l'exécution par des joueurs n'étant pas root).
Quake peut alors être exécuté par un utilisateur normal et a toujours les
privilèges nécessaires aux accès son et graphique.
Setuid présente cependant un risque de sécurité. Un utilisateur astucieux peut
exploiter un bug ou un trou de sécurité dans Quake pour parvenir à un accès root
sur votre système. Bien sûr, si vous n'exécutez pas de session
multi-utilisateur, cela peut ne pas être une grosse préoccupation..

<tt>squake</tt> est le seul client Quake qui <em>doit</em> être exécuté avec les
permissions root. Avec un peu de travail, vous pouvez exécuter les clients X et
GL sans setuid. <ref id="no-setuid" name="Exécuter les jeux X et GL sans
setuid">, dans la section Trucs et Astuces, vous expliquera comment faire.

Si vous projetez de d'exécuter <tt>squake</tt>, rendez-le setuid root avec les
commandes suivantes :

<tscreen><verb>
chown root squake
chmod 4755 squake
</verb></tscreen>

Si vous décidez d'exécuter <tt>quake.x11</tt> et <tt>glquake</tt> setuid root
sur votre système, vous pouvez répéter ces commandes sur ces binaires.


<sect1>X11 Quake
<p>
Si vous installez le client X11, voici venu le moment de le tester. Vous pouvez
avoir besoin d'affiner la configuration pour <tt>glquake</tt> et
<tt>squake</tt>, mais <tt>quake.x11</tt> est maintenant prêt à s'exécuter.

<tscreen><verb>
cd /usr/local/games/quake
./quake.x11
</verb></tscreen>

Si tout fonctionne, une petite fenêtre Quake doit apparaître avec la première
démo en action. Vous devez entendre les effets sonores et éventuellement la
musique si le CD est monté. Si rien ne se passe, consultez l'aide de la section
<ref id="troubleshooting" name="Problèmes">.

<sect1>Quake SVGAlib<label id="quake-svgalib">
<p>
Squake et glquake nécessitent SVGAlib pour s'exécuter. (glquake utilise SVGAlib
pour traiter les entrées clavier et souris, si cela vous surprend). SVGAlib est
fournie avec les distributions de Linux les plus modernes et <bf>doit</bf> être
correctement configurée pour que squake ou glquake fonctionnent convenablement.

<tt>libvga.config</tt> est le fichier de configuration de SVGAlib. Sur la
plupart des systèmes, vous le trouverez dans <tt>/etc</tt> ou <tt>/etc/vga</tt>.
Soyez certain que les paramètrages de la souris, du moniteur et de la carte
vidéo contenus dans ce fichier sont corrects pour votre système. Reportez-vous à
la documentation de SVGAlib pour plus de détails.

Si vous n'avez pas encore SVGAlib installé, téléchargez le depuis le site
mentionné dans la <ref id="quake-files" name="Section fichiers"> ci-dessous.
Si vous possédez une Redhat 5.x, ou une autre distribution basée sur la glibc,
référez-vous à <ref id="glibc" name="Considérations relatives à Glibc, RedHat
5.x et Debian 2">, dans la section Problèmes/FAQs, pour d'importantes
recommandations sur la compilation des librairies à utiliser avec Quake. Une
librairie binaire "libc5 SVGAlib" précompilée est disponible à <htmlurl
url="http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar.
gz"
name="http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar
.gz"> pour ceux qui ne veulent pas se mesurer aux tracas de la compilation de
libc5.

Vous devrez lancer squake d'une console virtuelle. Il ne fonctionnera pas sous X
à moins que vous ne soyez root lorsque vous le lancez. Et lancer un jeu en tant
qu'utilisateur root est quelque chose à proscrire. Aussi, si vous êtes sous X,
faites un CTRL+ALT+F1, login et alors:

<tscreen><verb>
cd /usr/local/games/quake
./squake
</verb></tscreen>

<ref id="running-from-x" name="Lancer des jeux SVGA et GL depuis X">, dans la
section Trucs et Astuces ci-dessous, vous expliquera comment lancer Quake SVGA
et Quake GL depuis X sans passer manuellement sur une console virtuelle.

<sect1>GLQuake <label id="glquake">
<p>
L'utilisation de tout matériel accélérateur ouvre la Voie Royale de Quake.
Rien ne peut le remplacer, et l'essayer c'est l'adopter.

Pour exécuter <tt>glquake</tt>, vous avez besoin d'une carte graphique 3D avec
chipset Voodoo, Voodoo2 ou Voodoo Rush. Il y a des points particuliers à
respecter pour déclarer une carte Voodoo Rush, et je ne peux les développer ici
car, franchement, je ne saurais pas de quoi je parle. Une prochaine version de
ce HOWTO couvrira cet aspect (Si quelqu'un souhaite s'en charger, je serai
heureux d'intégrer ses explications).

Les librairies SVGAlib, Glide, et Mesa doivent être correctement installées et
configurées pour que <tt>glquake</tt> fonctionne. Les sections suivantes vous
expliqueront brièvement comment vous y prendre.

Le Linux 3Dfx HOWTO (<htmlurl
url="http://www.gamers.org/dEngine/xf3D/howto/3Dfx-HOWTO.html"
name="http://www.gamers.org/dEngine/xf3D/howto/3Dfx-HOWTO.html">) de Bernd
Kreimeier (<htmlurl url="mailto:bk@gamers.org" name="bk@gamers.org">) est une
source d'informations plus complète.

Le newsgroup des serveurs 3dfx (news.3dfx.com) <htmlurl
url="news://news.3dfx.com/3dfx.glide.linux" name="3dfx.glide.linux"> est une
autre bonne source d'information, au croisement de Linux, glide, Mesa et Quake.

<sect2>SVGAlib
<p>
glquake utilise SVGAlib pour gérer la souris et le clavier, aussi vous devrez le
configurer comme il est précisé dans la section <ref id="quake-svgalib" name="
Quake SVGAlib">.

<sect2>Glide
<p>
Glide est une librairie qui fournit un API pour la programmation des cartes de
type 3dfx.
Si vous souhaitez que la librairie graphique Mesa utilise votre carte 3dFX, vous
devez l'avoir.
La dernière version de glide peut être trouvée sur <htmlurl
url="http://glide.xxedgexx.com/3DfxRPMS.html"
name="http://glide.xxedgexx.com/3DfxRPMS.html">. Choisissez le(s) paquetage(s)
approprié(s) à votre système, et installez-le(s) en vous reportant aux
instructions de la page web.

Notez bien que tant que vous n'aurez pas téléchargé le paquetage du driver 3Dfx
en plus de la librairie Glide, vous ne pourrez lancer que des applications Glide
(comme GLQuake) sous root. Installez le module <tt>/dev/3dfx</tt> et vous
pourrez jouer à GLQuake en tant que simple utilisateur.

Une fois que glide est installé, exécutez le programme de test fourni.
Souvenez-vous que ce programme est une bonne solution pour réinitialiser votre
affichage si une application glide plante et éteint votre écran. <bf>NOTA:
lancez ce test d'une console virtuelle, <em>pas</em> depuis X!</bf> Il est
possible que cette application test perde le contrôle du clavier et de la souris
sous X, et vous vous retrouveriez bloqué.

<tscreen><verb>
/usr/local/glide/bin/test3Dfx
</verb></tscreen>

Votre écran doit virer au bleu et vous demander de presser une touche. Une fois
cette touche pressée, vous retournerez au prompt. <htmlurl
url="news://news.3dfx.com/3dfx.glide.linux" name="3dfx.glide.linux"> sur le
serveur de news 3dfx (news.3dfx.com) est une bonne source d'information pour les
problèmes spécifiques à glide sous Linux.

<sect2>Mesa 
<p>
Une fois glide installé, vous aurez besoin d'installer Mesa, l'OpenGL libre
réalisé par Brian Paul <htmlurl url="mailto:brianp@elastic.avid.com"
name="(brianp@elastic.avid.com)">. Par chance, vous n'avez pas à chercher bien
loin, car Mesa 2.6 est inclus avec les binaires de QLQuake et QuakeWorld. Tout
ce que vous avez à faire est de le placer au bon endroit:

<tscreen><verb>
cd /usr/local/games/quake
cp libMesaGL.so.2.6 /usr/local/lib
ldconfig
</verb></tscreen>

Si vous souhaiter une version plus récente de Mesa (Mesa 3.0 est lors de la
rédaction de ce document la plus récente) visitez le site <htmlurl
url="ftp://iris.ssec.wisc.edu/pub/Mesa"
name="ftp://iris.ssec.wisc.edu/pub/Mesa">.
Si vous avez une distribution RedHat 5.x ou une autre distribution basée sur
glibc, reportez-vous aux <ref id="glibc" name="Considérations relatives à Glibc,
RedHat 5.x et Debian 2">, dans la section Problèmes/FAQs, pour d'importantes
recommandations sur la compilation des librairies à utiliser avec Quake.

Après une compilation conforme à ces instructions, vous avez deux choses à
faire:

<itemize>
<item>Supprimer votre ancienne installation Mesa. Si vous avez préalablement
installé <tt>libMesaGL.so.2.6</tt> comme décrit ci-dessus, vous devez la
supprimer ou bien Quake n'utilisera pas la nouvelle version.

<tscreen><verb>
cd /usr/local/lib/
rm -f libMesaGL.so.2*
</verb></tscreen>

<item>Si votre nouvelle Mesa a un numéro majeur de version supérieur à 2, vous
devrez créer un lien avec le nom <tt>libMesaGL.so.2</tt>:

<tscreen><verb>
cd /usr/local/lib/
ln -s /wherever/you/installed/it/libMesaGL.so.3.0 libMesaGL.so.2
ldconfig
</verb></tscreen>

</itemize>

Maintenant passons sur une console virtuelle (CTRL+ALT+F1) et lançons glquake.

<tscreen><verb>
cd /usr/local/games/quake
./glquake
</verb></tscreen>

<sect1>Commandes d'options en ligne spécifiques à Linux
<p>
Cette section rassemble les commandes en ligne qui sont spécifiques aux versions
Linux de Quake. Il existe beaucoup d'autres options, mais elles dépassent le
cadre de cet HOWTO. Recherchez ce genre d'information sur les sites listés dans
la section <ref id="general-quake-sources" name="Informations Générales sur
Quake">.

<descrip>
<tag>-mem <em>num</em></tag>
Spécifie la mémoire à allouer en megaoctets (par défaut 8Mo, ce qui doit être
suffisant dans la plupart des cas).

<tag>-nostdout</tag>
Ne renvoie aucune information sur la sortie standard. Utilisez cette option si
vous voulez éviter de collecter tous les messages des consoles sur votre
terminal.

<tag>-mdev <em>device</em></tag>
Le fichier système de la souris, par défaut <tt>/dev/mouse</tt>

<tag>-mrate <em>speed</em></tag>
La fréquence, en bauds, de la souris, par défaut 1200.

<tag>-cddev <em>device</em></tag>
Le fichier système du CD, par défaut <tt>/dev/cdrom</tt>.

<tag>-mode <em>num</em></tag>
Utilise le mode vidéo indiqué (squake uniquement).

<tag>-nokdb</tag>
N'initialise pas le clavier.

<tag>-sndbits <em>8 or 16</em></tag>
Définit la taille de l'échantillon sonore en bits. La valeur par défaut est 16
si cela est supporté.

<tag>-sndspeed <em>speed</em></tag>
Définit la fréquence sonore. Les valeur usuelles sont 8000, 11025, 22051 ou
44100. La valeur par défaut est 11025.

<tag>-sndmono</tag>
Positionne le mode son en mono.

<tag>-sndstereo</tag>
Positionne le mode son en stéréo (par défaut s'il est supporté).
</descrip>

<sect1>QuakeWorld **
<p>
<htmlurl url="http://www.quakeworld.net/" name="http://www.quakeworld.net"> est
plus éloquent que je ne saurais l'être:

<quote>QuakeWorld est une version Internet de Quake multi-joueurs.
Bien que l'on puisse jouer avec la version originale de Quake sur Internet, les
utilisateurs de modems - la majorité des joueurs, y trouvaient moins de
satisfaction. Des symptômes comme un retard excessif (des actions réalisées bien
après qu'elles aient été initiées), des pertes de paquets (le jeu se bloquait et
repartait quelques secondes plus tard), et diverses autres difficultés
harcelaient les utilisateurs. Après avoir pris conscience du nombre de personnes
qui jouaient à Quake sur Internet, et du nombre de celles qui souhaitaient le
faire mais s'abstenaient car elles n'étaient pas satisfaites des performances,
John Carmack de id Software décida de créer une version de Quake optimisée pour
le modem moyen d'un joueur internaute. Cette version Internet spécifique ne fait
qu'une chose, exécuter au mieux le jeu sur un réseau TCP/IP tel qu'Internet.
Elle n'a aucun support pour un usage individuel, et vous ne pouvez rien faire
sans être connecté à un serveur spécial.
</quote>

Vous avez besoin de la version complète, déclarée ou achetée, de Quake pour
jouer à QuakeWorld, et d'un client QuakeWorld pour Linux. Les clients QuakeWorld
sont semblables aux clients normaux Quake (X11, SVGAlib and Mesa), mais ils sont
rassemblés dans un seul paquetage, aussi vous n'avez à télécharger qu'un
fichier. Quoi qu'il en soit, vous devrez choisir entre 4 paquetages:

<itemize>
<item>un paquetage libc5 tar.gz
<item>un paquetage glibc tar.gz
<item>un paquetage libc5 rpm
<item>un paquetage glibc rpm
</itemize>

Installez un seul de ces paquetages. Chacun contient les mêmes fichiers, ils
sont simplement liés à des librairies différentes. Les utilisateurs de Redhat
5.x choisiront le paquetage rpm glibc. Les utilisateurs de systèmes basés sur
glibc sans support rpm choisiront le paquetage glibc tar. Le rpm libc5 est
réservé au distributions Redhat antérieures à la 5.0 et les autres distributions
utilisant le format de paquetage rpm. Le paquetage libc5 tar.gz est destiné à la
distribution Slackware et à toutes les autres.

Voyez la section <ref id="quake-files" name="Téléchargement des Fichiers
Nécessaires"> pour trouver l'adresse des fichiers Quakeworld pour Linux.

Les prérequis et la méthode de configuration de ces binaires sont les mêmes que
ceux de Quake, aussi référez-vous aux section précédentes détaillant la
configuration de SVGAlib ou de glide/Mesa.


<sect2>Installation des paquetages RPM ++
<p>
L'installation des paquetages rpm est aussi simple que ceci:

<tscreen><verb>
su root
rpm -Uvh qwcl-xxxxx.i386.rpm
</verb></tscreen>

<tt>qwcl</tt>, <tt>glqwcl</tt> et <tt>glqwcl.glx</tt> seront installés setuid
root pour pouvoir accéder aux périphériques graphiques de votre système.
Les clients X et GL peuvent être lancés sans les privilèges root si vous suivez
les instructions <ref id="no-setuid" name="Exécuter des jeux X et GL sans
setuid"> ci-dessous.

Rpm peut se plaindre de ne pas trouver <tt>libglide2x.so</tt>. La librairie
Glide est uniquement nécessaire si vous possédez une carte 3Dfx et souhaitez
lancer QuakeWorld en mode GL (<tt>glqwcl</tt>). Si vous ne prévoyez pas
d'utiliser le mode GL, vous pouvez passer outre les dépendances de glide avec
l'option <tt>--nodeps</tt>:

<tscreen><verb>
su root
rpm -Uvh qwcl-xxxxx.i386.rpm --nodeps
</verb></tscreen>

<sect2>Installation des paquetages tar.gz ++
<p>
Il suffit de "détarer" le fichier dans votre répertoire Quake. Effectuez cette
opération en tant que root, et les permissions convenables seront conservées:

<tscreen><verb>
cd /usr/local/games/quake
su root
tar -xzf qwcl2.21-i386-unknown-linux2.0.tar.gz
</verb></tscreen>

<tt>qwcl</tt>, <tt>glqwcl</tt> et <tt>glqwcl.glx</tt> seront installés setuid
root et pourront donc accéder aux périphériques graphiques de votre système.
Les clients X et GL peuvent être lancés sans les privilèges root si vous suivez
les instructions <ref id="no-setuid" name="Exécuter des jeux X et GL sans
setuid"> ci-dessous.

<sect2>Exécution de QuakeWorld ++
<p>
Une fois que QuakeWorld est installé à coté de vos fichiers Quake, vous pouvez
le lancer par:

<tscreen><verb>
./qwcl +connect some.server.address
</verb></tscreen>

Voyez la section <ref id="related-software" name="Logiciels apparentés"> pour
trouver de l'information sur quelques formidables interfaces pour QuakeWorld qui
rendent facile la localisation de serveurs.

<itemize>
<item><bf>lib3dfxgl.so</bf> <label id="qw-3dfxgl"> **
<p>
Avec Quakeworld version 2.30, une alternative à la librairie Mesa est
envisageable. <tt>lib3dfxgl.so</tt> est un mini driver GL optimisé pour Quake
qui fournit une rafraîchissement légèrement meilleur que celui de Mesa. Il
s'agit du portage d'un driver que 3Dfx a développé pour Quake sous Windows, et
apparemment toutes ses possibilités ne fonctionnent pas correctement. Nous
comptons bien que ses performances s'amélioreront avec le temps.

Comme Mesa, <tt>lib3dfxgl.so</tt> nécessite Glide pour accéder à votre carte
3Dfx. Le paquetage QuakeWorld est fourni avec un script, <tt>glqwcl.3dfxgl</tt>
permettant de lancer Quakeworld avec sa librairie sur les systèmes glibc. Le
paragraphe suivant explique comment lancer Quakeworld avec <tt>lib3dfxgl.so</tt>
sur un système libc5. Sur un système glibc, pour que ce script fonctionne,
l'exécutable <tt>glqwcl</tt> <bf>ne doit pas être setuid</bf>, et vous ne devez
pas le lancer en tant que root. <tt>glqwcl</tt> chargera silencieusement Mesa au
lieu de <tt>lib3dfxgl.so</tt> si il est exécuté avec les permissions root. Cette
non-nécessité d'être root suppose que vous ayez le driver <tt>/dev/3dfx</tt>
installé.

Sur un système libc5, vous devrez créer un lien symbolique sur
<tt>lib3dfxgl.so</tt> appelé <tt>libMesaGL.so.2</tt> de cette façon:

<tscreen><verb>
cd /usr/local/games/quake
ln -sf lib3dfxgl.so libMesaGL.so.2
</verb></tscreen>

Puis lancez Quakeworld depuis un script assignant le répertoire courant à
<tt>$LD_LIBRARY_PATH</tt> :

<code>
#!/bin/sh

   LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./glqwcl $*
   </code>

Vous pouvez vérifier quel driver est chargé en attendant sur votre console un
message de ce genre au démarrage de Quakeworld:

<tscreen><verb>
GL_VENDOR: 3Dfx Interactive Inc.
GL_RENDERER: 3Dfx Interactive Voodoo^2(tm)
GL_VERSION: 1.1
GL_EXTENSIONS: 3DFX_set_global_palette WGL_EXT_swap_control
GL_EXT_paletted_texture GL_EXT_shared_texture_palette GL_SGIS_multitexture
</verb></tscreen>

Si <tt>GL_VENDOR</tt> affiche <tt>Brian Paul</tt> au lieu de <tt>3Dfx
Interactive Inc.</tt>, cela signifie que Mesa est encore utilisé à la place du
mini driver.

<item><bf>glqwcl.glx</bf> **
<p>

<tt>glqwcl.glx</tt> est lié aux librairies standard OpenGL à la place de Mesa.
Cela permet à Quakeworld de s'exécuter sur d'autres matériels 3D supportés par
d'autres implémentations d'OpenGL. A ce jour, je ne connais pas d'autres
implémentations d'OpenGL qui supportent un matériel différent de 3Dfx, mais ce
fournisseur assure qu'à leur apparition, ces matériels permettront de jouer à
Quake.

C'est une application GLX, qui de ce fait doit être lancée sous X.

Vous pouvez utiliser ce client avec Mesa/3Dfx si vous installez Mesa et Glide
comme détaillé dans la section précédente. Définissez alors la variable
d'environnement <tt>$MESA_GLX_FX</tt> à "fullscreen" avant de lancer
<tt>quake2</tt>:

<tscreen><verb>
export MESA_GLX_FX=fullscreen
./glqwcl.glx +_windowed_mouse 1
</verb></tscreen>
 
Pourquoi l'option <tt>+_windowed_mouse 1</tt> ? Rappelez-vous que c'est une
application X qui utilisera votre carte 3Dfx. Même si l'affichage se fait en
plein écran, Quakeworld s'exécute encore dans une fenêtre. Ce qui signifie que
si vous n'êtes pas <em>très</em> prudent, vous pouvez déplacer le pointeur de la
souris en dehors de la fenêtre de Quakeworld, et Quakeworld s'arrêtera
subitement de répondre à la souris et au clavier. <tt>+_windowed_mouse 1</tt>
contourne le problème en demandant à <tt>glqwcl.glx</tt> de conserver la souris
dans la fenêtre.
</itemize>

<sect1>Serveurs
<p>
La plupart des informations, pour ne pas dire toutes, concernant le
fonctionnement des serveurs QW DOS/Windows sont transposables pour le
fonctionnement sous Linux.

Pour lancer un serveur QuakeWorld, faites simplement:

<tscreen><verb>
./qwsv
</verb></tscreen>

Le manuel officiel du serveur QuakeWorld se trouve sur <htmlurl
url="http://qwcentral.stomped.com" name="http://qwcentral.stomped.com">.

<sect1>Modes et Ajouts
<p>
Un des aspects les plus sympathiques des jeux Quake réside dans le fait que les
auteurs les ont rendus facilement enrichissables. Les utilisateurs peuvent créer
leurs propres niveaux, ajouter de nouvelles armes, de nouveaux monstres ou même
changer totalement les règles du jeu.

<sect2>Capture du Drapeau
<p>
Il s'agit de ma variation favorite sur Quake et Quake 2. A lieu de simplement se
jeter partout et tuer tous ceux que vous rencontrez (ce qui est quand même
méritant, n'exagérons pas!), CTF (Ndt : Capture The Flag en anglais) est une
variante plus stratégique, basée sur un jeu par équipe.
Dave 'Zoid' Kirsch, qui est également le mainteneur du portage de Quake sous
Linux, en est le créateur.

Tout ce que vous devez savoir sur CTF peut être trouvé sur <htmlurl
url="http://captured.com/threewave/" name="http://captured.com/threewave/">.
Vous avez besoin de <htmlurl
url="ftp://ftp.cdrom.com/pub/quake/planetquake/threewave/ctf/client/3wctfc.zip"
name="ftp://ftp.cdrom.com/pub/quake/planetquake/threewave/ctf/client/3wctfc.zip"
> pour jouer.
Pour installer la partie client de CTF, créez simplement un répertoire appelé
<tt>ctf</tt> dans votre répertoire Quake et 'unzippez' le fichier
<tt>3wctfc.zip</tt> à cet endroit. Le fichier <tt>readme.txt</tt> regorge
d'informations très utiles.

<tscreen><verb>
cd /usr/local/games/quake
mkdir ctf
cd ctf
unzip -L /wherever/you/put/it/3wctfc.zip
</verb></tscreen>

Pour toute information sur le lancement d'un serveur CTF, reportez-vous aux
pages mentionnées ci-dessus.

<sect2>Mission Packs **
<p>
Activision a réalisé deux "add-on packs" de niveaux supplémentaires pour Quake,
<bf>Scourge of Armagon</bf> et <bf>Dissolution of Eternity</bf>.

<itemize>
<item><bf>Mission Pack 1: The Scourge of Armagon</bf>
Assurez-vous que votre CD est monté sous <tt>/mnt/cdrom</tt> et que Quake est
installé dans <tt>/usr/local/games/quake</tt>:

<tscreen><verb>
cd /usr/local/games/quake
mkdir hipnotic
cp /mnt/cdrom/hipnotic/pak0.pak hipnotic
cp /mnt/cdrom/hipnotic/config.cfg hipnotic
</verb></tscreen>

Vous pouvez jouer avec ce pack en tapant ceci:

<tscreen><verb>
cd /usr/local/games/quake
./quake.x11 -game hipnotic
</verb></tscreen>

<item><bf>Mission Pack 2: Dissolution of Eternity</bf>
L'installation de ce second pack se fait selon une procédure très proche de
celle du premier. Suivez les instructions concernant le 'Mission Pack 1', mais
remplacez le mot <em>hipnotic</em> par le mot <em>rogue</em>, et sautez l'étape
<tt>config.cfg</tt>, ce fichier n'étant pas inclus dans le deuxième pack.

</itemize>

<sect2>Les Outils Quake
<p>
Quelqu'un voudra-t-il contribuer à ce HOWTO en m'envoyant quelques informations
sur qcc, bsp et tout cela ?

<!---------------------------------------------------------------------------->
<!---------------------------------------------------------------------------->

<sect>Quake II
<p>
Pour installer QuakeII sur votre système Linux, vous aurez besoin de quelques
composants de la distribution officielle de Quake par id. Cela pourra être
n'importe quel CD-ROM DOS/Windows acheté à votre détaillant favori ou la version
de démonstration téléchargée sur Internet (reportez-vous <ref
id="quake2-shareware" name="Téléchargement des fichiers nécessaires"> pour les
détails sur la manière d'acquérir la version de démonstration).

Ou bien, si vous avez déjà Quake installé sur une machine Windows, vous pouvez
utiliser les fichiers provenant de cette installation.


<sect1>Prérequis
<p>
Vous aurez besoin, au strict minimum, de la configuration suivante :

<itemize>
<item>Un ordinateur de type Pentium 90 ou mieux (133 recommandé)
<item>16 Mo RAM (24 recommandé)
<item>Le CD-ROM Quake 2 <bf>ou</bf> la version de démonstration
(q2-314-demo-x86.exe)
<item>Un noyau Linux version 2.0.24 ou supérieure
<item>libc 5.2.18 ou supérieure
<item>Au choix :
<itemize>
<item>Un serveur X11 qui supporte l'extension mémoire partagée MITSM. Les
affichages sur 8 et 16 bits sont supportés pour les interpréteurs X 
<item>SVGAlib 1.2.0 ou supérieure (pour les interpréteurs SVGA et GL)
</itemize>
<item>25-400 megaoctets d'espace disque libre (dépend de votre installation)
<item>L'accès root sur la machine devant recevoir l'installation
</itemize>

<p>En Option:
<itemize>
<item>Une carte son supportée
<item>Une carte accélératrice 3Dfx VooDoo Graphics ou VooDoo2 ou Voodoo Rush 3D
<item>Les librairies glide 3Dfx installées (pour les interpréteurs GL)
<item>Mesa 2.6 ou supérieure (pour les interpréteurs GL)
</itemize>

<sect1>Installation de Quake II
<p>

<sect2> Téléchargement des Fichiers nécessaires <label id="quake2-files">**
<p>
Tous les fichiers nécessaires à Quake II pour Linux sont disponibles sur le site
ftp de ID Software, <htmlurl url="ftp://ftp.idsoftware.com"
name="ftp.idsoftware.com">. 

Ce site pouvant être très sollicité, vous pouvez utiliser l'un des sites miroirs
ci-dessous :
<itemize>
<item><htmlurl url="ftp://ftp.cdrom.com/pub/idgames/idstuff"
name="ftp.cdrom.com/pub/idgames/idstuff"> (Californie, USA)
<item><htmlurl url="ftp://ftp.gamesnet.net/idsoftware"
name="ftp.gamesnet.net/idsoftware"> (Californie, USA)
<item><htmlurl url="ftp://ftp.stomped.com/pub/mirror/idstuff"
name="ftp.stomped.com/pub/mirror/idstuff"> (Minnesota, USA)
<item><htmlurl url="ftp://mirrors.telepac.pt/pub/idgames"
name="mirrors.telepac.pt/pub/idgames"> (Lisbonne, Portugal)
<item><htmlurl url="ftp://download.netvision.net.il/pub/mirrors/idsoftware"
name="download.netvision.net.il/pub/mirrors/idsoftware"> (Haïfa, Israel)
</itemize>

Les fichiers de Quake II mentionnés dans cette section sont :
<itemize>
<item> Binaires Quake II Linux
<itemize>
<item>Paquetage libc5 tar.gz <htmlurl
url="ftp://ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.19a-i386-unknown-linu
x2.0.tar.gz"
name="ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.19a-i386-unknown-linux2.0.
tar.gz">
<item>Paquetage glibc tar.gz <htmlurl
url="ftp://ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.19a-glibc-i386-unknow
n-linux2.0.tar.gz"
name="ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.19a-glibc-i386-unknown-lin
ux2.0.tar.gz">
<item>Paquetage rpm libc5 rpm <htmlurl
url="ftp://ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.19a-2.i386.rpm"
name="ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.19a-2.i386.rpm">
<item>Paquetage rpm glibc <htmlurl
url="ftp://ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.19a-glibc-2.i386.rpm"
name="ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.19a-glibc-2.i386.rpm">
</itemize>
<item>La version de démonstration de Quake II pour Windows <label
id="quake2-shareware"> <htmlurl
url="ftp://ftp.idsoftware.com/idstuff/quake2/q2-314-demo-x86.exe"
name="ftp://ftp.idsoftware.com/idstuff/quake2/q2-314-demo-x86.exe">
<item>Les sources du jeu Quake II <htmlurl
url="ftp://ftp.idsoftware.com/idstuff/quake2/source/q2source-3.14.shar.Z"
name="ftp://ftp.idsoftware.com/idstuff/quake2/source/q2source-3.14.shar.Z">
<item>Quake II - Capture du drapeau<htmlurl
url="ftp://ftp.idsoftware.com/idstuff/quake2/ctf/102.zip"
name="ftp://ftp.idsoftware.com/idstuff/quake2/ctf/102.zip">
</itemize>

Autres logiciels mentionnés:
<itemize>
<item>Librairie graphique SVGAlib <htmlurl
url="http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.tar.gz"
name="http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.tar.gz">
<item>Binaires libc5 SVGAlib <htmlurl
url="http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar.
gz"
name="http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar
.gz">
<item>Librairies Glide runtime <htmlurl
url="http://glide.xxedgexx.com/3DfxRPMS.html"
name="http://glide.xxedgexx.com/3DfxRPMS.html">
<item>Librairie graphique Mesa 3D<htmlurl
url="http://www.ssec.wisc.edu/~brianp/Mesa.html"
name="http://www.ssec.wisc.edu/~brianp/Mesa.html">
<item>Utilitaire de décompression unzip <htmlurl
url="http://sunsite.unc.edu/pub/Linux/utils/compress/unzip-5.31.tar.gz"
name="http://sunsite.unc.edu/pub/Linux/utils/compress/unzip-5.31.tar.gz">
</itemize>

<sect2>Création du répertoire d'installation
<p>
La première chose que vous avez à faire est de décider où vous allez installer
Quake II. Beaucoup l'installent dans <tt>/usr/games/quake</tt>.
L'administrateur système que je suis a choisi d'installer tout ce qui n'est pas
partie intégrante de ma distribution Linux sous <tt>/usr/local</tt>. Aussi,,
pour moi, Quake II a trouvé sa place sous <tt>/usr/local/games/quake2</tt>. Si
vous choisissez de l'installer ailleurs, n'oubliez pas de substituer le chemin
approprié partout où <tt>/usr/local/games/quake2</tt> est indiqué.

Bien! Maintenant, créons le répertoire dans lequel nous allons installer Quake
II, et déplaçons-nous dedans (les instructions suivantes partent du principe que
c'est notre répertoire courant).

<tscreen><verb>
mkdir /usr/local/games/quake2
cd /usr/local/games/quake2
</verb></tscreen>

<sect2>Installation depuis un CD
<p>
Introduisez votre CD de Quake II dans votre lecteur, et montez-le:

<tscreen><verb>
mount -t iso9660 /dev/cdrom /mnt/cdrom
</verb></tscreen>

Si votre CD-ROM est monté sur un autre point de montage, remplacez
<tt>/mnt/cdrom</tt> par le bon emplacement. Si vous n'êtes pas certain du point
de montage de votre CD-ROM, reportez-vous à la documentation de votre
distribution.

<itemize>
<item><bf>Installation complète</bf>
La méthode d'installation la plus simple est l'installation complète qui
consiste à copier l'intégralité de votre CD sur votre disque dur. Cela nécessite
environ 350 Mo, et se réalise par le biais des commandes suivantes :

<tscreen><verb>
cd /usr/local/games/quake2
cp -r /mnt/cdrom/Install/Data/* .
</verb></tscreen>

Il y a une grande quantité de fichiers Windows inutiles que vous pouvez
supprimer sans crainte:

<tscreen><verb>
rm -f /usr/local/quake2/*.dll
rm -f /usr/local/quake2/quake2.exe
rm -f /usr/local/quake2/baseq2/gamex386.dll
</verb></tscreen>

<item><bf>Installation intermédiaire</bf>
Si vous pensez que 450 Mo représente un peu trop d'espace à allouer à Quake II,
vous pouvez éviter la copie des scènes vidéo, et créer à la place des liens sur
le CD-ROM. Cela réduira d'environ 200 Mo l'espace nécessaire:

<tscreen><verb>
cd /usr/local/games/quake2
mkdir baseq2
cp /mnt/cdrom/Install/Data/baseq2/pak0.pak baseq2
cp -r /mnt/cdrom/Install/Data/baseq2/players baseq2
ln -s /mnt/cdrom/Install/Data/baseq2/video baseq2/video
</verb></tscreen>

Notez que cela ne signifie pas que vous devrez monter le CD à chaque fois que
vous jouerez à Quake. Si le jeu ne peut pas charger les vidéos, il ne les
affichera pas.

</itemize>

<sect2>Installation sur Linux depuis Windows
<p>
Si vous avez Quake II installé sous Windows sur une machine différente, vous
pouvez transférer les fichiers dans <tt>quake2\baseq2\</tt> sur votre système
Linux via FTP ou quelque chose de similaire. Gardez à l'esprit que les noms des
fichiers sur votre système Linux doivent être en minuscules pour que Quake II
puisse les trouver, aussi vous pouvez avoir à les renommer après le transfert.
Notez également qu'il peut être ensuite nécessaire de supprimer votre
installation sous Windows afin de rester en règle avec les termes de la licence
consentie par ID SOFTWARE. Ce ne sera pas ma faute si vous faites quelque chose
d'illégal.

Si vos systèmes DOS/Win et Linux sont sur la même machine, vous avez deux
possibilités: copier les fichiers de votre partition Windows sur votre partition
Linux, ou créer des liens sur les fichiers nécessaires sous Linux. Les deux
options fonctionnent aussi bien. Vous économisez simplement beaucoup d'espace
disque quand vous créez des liens au lieu de copier.
Pour ce faire, remplacez <tt>/win95/games/quake2</tt> dans l'exemple suivant par
le chemin correct de votre partition Windows et de votre répertoire
d'installation Quake II.

<itemize>
<item>Si vous voulez copier les fichiers depuis votre partition Windows, faites
quelque chose de ce genre:

<tscreen><verb>
cd /usr/local/games/quake2
cp -r /win95/games/quake2/baseq2 .
</verb></tscreen>

<item>Au lieu de cela, pour créer des liens sur vos fichiers Quake II, tapez:

<tscreen><verb>
cd /usr/local/games/quake2
ln -s /win95/games/quake2/baseq2 .
</verb></tscreen>

Cette seconde méthode nécessite que chaque utilisateur puisse écrire sur la
partition Windows que vous liez, ce qui peut ne pas être approprié à tous les
systèmes. En rendant votre partition Windows inscriptible, vous donnez à tous
les utilisateurs la possibilité de détruire l'intégralité de votre installation
Windows. Si cela ne vous effraie pas, modifiez votre <tt>/etc/fstab</tt> pour
permettre le montage de la partition Windows avec les options
<em>umask=002,gid=XXX</em>, où XXX représente le numéro du groupe des
utilisateurs. Cherchez cette information dans <tt>/etc/group</tt>. Lorsque
<tt>fstab</tt> est modifié, démontez et remontez la partition Windows, et vous
êtes prêt.
</itemize>

Vous venez d'installer les fichiers de données de Quake II. Reportez-vous
ci-dessus pour l'<ref id="quake2-linux-binaries" name="Installation des binaires
Linux">.


<sect2>Installation de la version de démonstration **
<p>
ID Software propose une version de démonstration gratuite sur son site ftp. Elle
représente 40 megaoctets à télécharger. La démonstration inclue toutes les
fonctionnalités de la version complète, y compris le mode multi-joueurs, mais ne
dispose que de trois niveaux de jeu, aussi il peut être difficile de trouver un
serveur adéquat.

Vous trouverez l'adresse de la version de démonstration de Quake II dans la
section <ref id="quake2-files"name="Téléchargement des Fichiers Nécessaires">.
Téléchargez-la et placer la dans votre répertoire Quake II.

La distribution de la démonstration est sous forme d'un fichier zip
auto-extractible (auto-extractible sous d'autres OS). Vous pouvez le
décompresser avec la commande <bf>unzip(1)</bf> qui doit être inclue dans la
plupart des distributions modernes. Si vous n'avez pas unzip, vous pouvez le
télécharger depuis le site répertorié dans la section <ref id="quake2-files"
name="Téléchargement des Fichiers Nécessaires">.

Placez-vous dans votre répertoire Quake II et décompressez l'archive:

<tscreen><verb>
cd /usr/local/games/quake2
unzip q2-314-demo-x86.exe
</verb></tscreen>

Nous devons maintenant effacer plusieurs choses et en déplacer d'autres:
<tscreen><verb>
rm -rf Splash Setup.exe
mv Install/Data/baseq2 .
mv Install/Data/DOCS docs
rm -rf Install
rm -f baseq2/gamex86.dll
</verb></tscreen>

La démonstration de Quake II est maintenant installée. Vous n'avez plus qu'à
ajouter les binaires de Linux.

<sect1>Ajout des binaires de Linux <label id="quake2-linux-binaries">**
<p>
Il y a quatre paquetages Quake II pour Linux disponibles au téléchargement:
<itemize>
<item>un paquetage tar.gz
<item>un paquetage tar.gz
<item>un paquetage rpm libc5
<item>un paquetage rpm glibc
</itemize>

Installez uniquement l'un d'eux. Chaque paquetage contient les mêmes fichiers,
ils sont simplement liés à des librairies différentes. Les utilisateurs de
Redhat 5.x devront choisir le paquetage rpm glibc. Les utilisateurs de systèmes
basés sur glibc sans support rpm devront utiliser le paquetage glibc tar. Le rpm
libc5 est réservé aux distributions Redhat antérieures à la 5.0 et aux autres
distributions utilisant le format de paquetage rpm. Le paquetage libc5 tar.gz
est destiné à la Slackware et aux autres.

Voyez la section <ref id="quake2-files" name="Téléchargement des Fichiers
Nécessaires"> pour localiser les adresses des fichiers Quake II pour Linux.

<sect2>Installation des paquetages RPM**
<p>
L'installation des paquetages rpm est aussi simple que ceci:

<tscreen><verb>
su root
rpm -Uvh quake2-xxxxx.i386.rpm
</verb></tscreen>

Rpm peut se plaindre de ne pas trouver <tt>libglide2x.so</tt>. La librairie
Glide est uniquement nécessaire si vous possédez une carte 3Dfx et voulez lancer
Quake II en mode GL. Si vous ne projetez pas d'utiliser le mode GL, vous pouvez
vous affranchir des dépendances de glide avec l'option <tt>--nodeps</tt>:

<tscreen><verb>
su root
rpm -Uvh quake2-xxxxx.i386.rpm --nodeps
</verb></tscreen>

<sect2>Installation des paquetages tar.gz **
<p>
Pour les installer, "détarez" simplement le fichier dans votre répertoire Quake
II. Faites cette opération en tant que root pour que les permissions correctes
soient conservées:

<tscreen><verb>
cd /usr/local/games/quake
su root
tar -xzf qwcl2.21-i386-unknown-linux2.0.tar.gz
</verb></tscreen>

<sect1>Configuration des Permissions **
<p>
Si vous avez lancé <tt>rpm</tt> ou <tt>tar</tt> en tant que root lors de
l'installation du paquetage Quake II sur votre système, les permissions
correctes doivent être mises en place. L'exécutable <tt>quake2</tt> a été
installé setuid root pour qu'il puisse accéder aux périphériques graphiques de
votre système. Pour des raisons de sécurité, les librairies d'interprétation
<tt>ref_*.so</tt> sont la propriété de l'utilisateur root, et sont uniquement
modifiables par lui. Si ces librairies n'appartiennent pas à root, ou bien si
elles sont modifiables, <tt>quake2</tt> refusera de s'exécuter.

Si vous envisagez d'exécuter uniquement Quake II avec les interpréteurs GL ou X,
votre <tt>quake2</tt> n'a pas besoin d'être setuid root. Voyez <ref
id="no-setuid" name="Exécution de jeux X et GL sans setuid"> et la rubrique
Trucs et Astuces ci-dessous pour trouver le moyen de lancer Quake II sans
permissions root.

<sect2>Quake2.conf **
<p>

Pour des raisons de sécurité, il existe un fichier <tt>quake2.conf</tt>, qui
indique à Quake II où trouver les librairies interprétatives dont il a besoin
(<tt>ref_*.so</tt>). Il contient uniquement une ligne qui doit être le chemin de
votre installation Quake II. Quake II cherche ce fichier dans <tt>/etc</tt>. Si
vous avez installé Quake II depuis un paquetage <tt>.rpm</tt>, ce fichier a été
installé pour vous. Si vous avez installé Quake II depuis un paquetage
<tt>.tar</tt>, vous devez le créer de cette façon:

<tscreen><verb>
su root
cd /usr/local/games/quake2
pwd > /etc/quake2.conf
chmod 644 /etc/quake2.conf
</verb></tscreen>

<sect1>Les interpréteurs X 
<p>
Quake II doit être maintenant prêt à s'exécuter sous X. Faites un essai:

<tscreen><verb>
cd /usr/local/games/quake2
./quake2 +set vid_ref softx
</verb></tscreen>


Si tout va bien, après une courte attente, une petite fenêtre Quake II
apparaîtra avec la première démonstration en action. Vous devriez entendre les
effets sonores et éventuellement la musique si le CD est monté. Si rien de tout
cela ne se passe, voyez la section <ref id="troubleshooting" name="Problèmes">
pour trouver de l'aide.

<sect1>L'interpréteur SVGAlib <label id="quake2-svgalib">
<p>
Vous avez besoin de SVGAlib installée et configurée, que vous souhaitiez
utiliser comme interpréteur ref_soft ou ref_gl. (Quake II utilise SVGAlib pour
gérer les entrées clavier et souris, au cas ou vous vous demanderiez pourquoi
vous en avez besoin pour l'interpréteur GL). SVGAlib est présente dans les
distributions les plus récentes et <bf>doit</bf> être correctement configurée
pour que Quake II fonctionne correctement sans X.
<tt>libvga.config</tt> est un fichier de configuration de SVGAlib. Sur la
plupart des systèmes, vous le trouverez soit sous <tt>/etc</tt> soit sous
<tt>/etc/vga</tt>.
Soyez certain que la souris, l'écran et la carte vidéo mentionnés dans ce
fichier sont corrects pour votre système. Voyez la documentation de SVGAlib pour
de plus amples détails.

Si vous n'avez pas encore SVGAlib sur votre système, téléchargez-le depuis
l'emplacement mentionné dans la <ref id="quake-files" name="Section des
fichiers"> ci-dessus. Si vous avez une RedHat 5.x ou une autre distribution
Linux basée sur glibc, voyez <ref id="glibc" name="Considérations relatives à
Glibc, RedHat 5.x et Debian 2"> dans la section Problèmes/FAQs, pour
d'importantes recommandations sur la compilation des librairies à utiliser avec
Quake. Une librairie binaire libc5 SVGAlib précompilée est disponible à <htmlurl
url="http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar.
gz"
name="http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar
.gz">
pour ceux qui ne veulent pas se mesurer aux tracas de la compilation de libc5.

Vous devrez lancer Quake II d'une console virtuelle lorsque vous utiliserez
l'interpréteur ref_soft ou ref_gl. Il ne s'exécutera pas depuis X à moins que
vous ne soyez root lorsque vous le lancez, et cela n'est pas conseillé. Aussi,
si vous êtes sous X, tapez CTRL+ALT+F1, loggez vous puis:

<tscreen><verb>
cd /usr/local/games/quake2
./quake2
</verb></tscreen>

<ref id="running-from-x" name="Exécuter des jeux SVGA et GL depuis X"> dans la
rubrique Trucs et Astuces, explique comment lancer Quake II SVGA et GL depuis X
sans manuellement passer sur une console virtuelle.


<sect1>L'interpréteur OpenGL<label id="quake2-gl">
<p>
L'utilisation de tout matériel accélérateur OpenGl pour Quake ouvre la Voie
Royale de Quake.
Rien ne peut le remplacer, et l'essayer c'est l'adopter.

Pour exécuter Quake II en mode GL, vous avez besoin d'une carte graphique 3D
avec chipset Voodoo, Voodoo2 ou Voodoo Rush. Il y a des points particuliers à
respecter pour déclarer une carte Voodoo Rush, et je ne peux les développer ici
car, franchement, je ne saurais pas de quoi je parle. Une prochaine version de
ce HOWTO couvrira cet aspect (Si quelqu'un souhaite s'en charger, je serai
heureux d'intégrer ses explications).

Les librairies SVGAlib, Glide, et Mesa doivent être correctement installées et
configurées pour que <tt>quake2</tt> fonctionne. Les sections suivantes
expliqueront brièvement comment vous y prendre.


Le Linux 3Dfx HOWTO (<htmlurl
url="http://www.gamers.org/dEngine/xf3D/howto/3Dfx-HOWTO.html"
name="http://www.gamers.org/dEngine/xf3D/howto/3Dfx-HOWTO.html">) de Bernd
Kreimeier (<htmlurl url="mailto:bk@gamers.org" name="bk@gamers.org">) est une
source d'informations plus complète.

Le newsgroup des serveurs 3dfx (news.3dfx.com) <htmlurl
url="news://news.3dfx.com/3dfx.glide.linux" name="3dfx.glide.linux"> est une
autre bonne source d'information, au croisement de Linux, glide, Mesa et Quake.


<sect2>SVGAlib
<p>

Quake II utilise SVGAlib pour gérer la souris et le clavier, aussi vous devrez
le configurer comme il est précisé dans la section <ref id="quake2-svgalib"
name="Interpréteur SVGAlib">.

<sect2>Glide<label id="quake2-glide">
<p>
Glide est une librairie qui fournit un API pour la programmation des cartes de
type 3dfx.
Si vous souhaitez que la librairie graphique Mesa utilise votre carte 3dfx, vous
devrez l'avoir.

La dernière version de glide peut être trouvée sur <htmlurl
url="http://glide.xxedgexx.com/3DfxRPMS.html"
name="http://glide.xxedgexx.com/3DfxRPMS.html">. Choisissez le(s) paquetage(s)
approprié(s) à votre système, et installez-le(s) en vous reportant aux
instructions de la page web.

Notez bien que tant que vous n'aurez pas téléchargé le paquetage de driver 3Dfx
en plus de la librairie Glide, vous ne pourrez lancer que des applications Glide
(comme GLQuake) sous root. Installez le module <tt>/dev/3dfx</tt> et vous
pourrez jouer à GLQuake en tant que simple utilisateur.

Une fois que glide est installé, exécutez le programme de test fourni.
Souvenez-vous que ce programme est une bonne solution pour réinitialiser votre
affichage si une application glide plante et éteint votre écran. <bf>NOTA:
lancez ce test d'une console virtuelle, <em>pas</em> depuis X!</bf> Il est
possible que cette application test perde le contrôle du clavier et de la souris
sous X, et vous vous retrouveriez bloqué.

<tscreen><verb>
/usr/local/glide/bin/test3Dfx
</verb></tscreen>

Votre écran doit virer au bleu et vous demander de presser une touche. Une fois
cette touche pressée, vous retournerez au prompt. <htmlurl
url="news://news.3dfx.com/3dfx.glide.linux" name="3dfx.glide.linux"> sur le
serveur de news 3dfx (news.3dfx.com) est une bonne source d'information pour les
problèmes spécifiques à glide sous Linux.

<sect2>Mesa 
<p>
Une fois glide installé, vous aurez besoin d'installer Mesa, l'OpenGL libre
réalisé par Brian Paul <htmlurl url="mailto:brianp@elastic.avid.com"
name="(brianp@elastic.avid.com)">. Par chance, vous n'avez pas à chercher bien
loin , car Mesa 2.6 est inclus avec les binaires de QLQuake et QuakeWorld. Tout
ce que vous avez à faire est de le placer au bon endroit:

   <tscreen><verb>
   cd /usr/local/games/quake2
   cp libMesaGL.so.2.6 /usr/local/lib
   ldconfig
   </verb></tscreen>

Si vous souhaitez une version plus récente de Mesa (Mesa 3.0 est lors de la
rédaction de ce document la plus récente) visitez le site <htmlurl
url="ftp://iris.ssec.wisc.edu/pub/Mesa"
name="ftp://iris.ssec.wisc.edu/pub/Mesa">.
Si vous avez une distribution RedHat 5.x ou une autre distribution basée sur
glibc, reportez-vous aux <ref id="glibc" name="Considérations relatives à Glibc,
RedHat 5.x et Debian 2"> dans la section Problèmes/FAQs, pour d'importantes
recommandations sur la compilation des librairies à utiliser avec Quake.
   
Après une compilation conforme à ces instructions, vous avez deux choses à
faire:

   <itemize>
<item>Supprimer votre ancienne installation Mesa. Si vous avez préalablement
installé <tt>libMesaGL.so.2.6</tt> comme décrit ci-dessus, vous devez la
supprimer ou bien Quake n'utilisera pas la nouvelle version.

   <tscreen><verb>
   cd /usr/local/lib/
   rm -f libMesaGL.so.2*
   </verb></tscreen>

<item>Si votre nouvelle Mesa a un numéro majeur de version supérieur à 2, vous
devrez créer un lien avec le nom <tt>libMesaGL.so.2</tt>:

   <tscreen><verb>
   cd /usr/local/lib/
   ln -s /wherever/you/installed/it/libMesaGL.so.3.0 libMesaGL.so.2
   ldconfig
   </verb></tscreen>

   </itemize>

Maintenant, passons sur une console virtuelle (CTRL+ALT+F1) et lançons Quake II:

   <tscreen><verb>
   cd /usr/local/games/quake2
   ./quake2 +set vid_ref gl
   </verb></tscreen>

<sect2>lib3dfxgl.so <label id="q2-3dfxgl"> **
<p>
Avec Quake II version 3.19, une alternative à la librairie Mesa est
envisageable. <tt>lib3dfxgl.so</tt> est un mini driver GL optimisé pour Quake
qui fournit une rafraîchissement légèrement supérieur à celui de Mesa. Il s'agit
du portage d'un driver que 3Dfx a développé pour Quake sous Windows, et
apparemment toutes ses possibilités ne fonctionnent pas correctement. Nous
comptons bien que ses performances s'amélioreront avec le temps.

Comme Mesa, <tt>lib3dfxgl.so</tt> nécessite Glide pour accéder à votre carte
3Dfx. Le paquetage QuakeWorld est fourni avec un script, <tt>quake2.3dfxgl</tt>
permettant de lancer Quake II avec sa librairie sur les systèmes glibc. Le
paragraphe suivant explique comment lancer Quake II avec <tt>lib3dfxgl.so</tt>
sur un système libc5. Sur un système glibc, pour que ce script fonctionne,
l'exécutable <tt>glqwcl</tt> <bf>ne doit pas être setuid</bf>, et vous ne devez
pas le lancer en tant que root. <tt>glqwcl</tt> chargera silencieusement Mesa au
lieu de <tt>lib3dfxgl.so</tt> si il est exécuté avec les permissions root. Cette
non nécessité d'être root suppose que vous avez le driver <tt>/dev/3dfx</tt>
installé.

Sur un système libc5, vous devrez créer un lien symbolique sur
<tt>lib3dfxgl.so</tt> appelé <tt>libMesaGL.so.2</tt> de cette façon:

   <tscreen><verb>
   cd /usr/local/games/quake2
   ln -sf lib3dfxgl.so libMesaGL.so.2
   </verb></tscreen>

Puis lancez Quakeworld depuis un script assignant le répertoire courant à
<tt>$LD_LIBRARY_PATH</tt> :

   <code>
   #!/bin/sh

   LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./quake2 +set vid_ref gl $*
   </code>


Vous pouvez vérifier quel driver est chargé en visualisant sur votre console un
message de ce genre au démarrage de Quakeworld:

   <tscreen><verb>
   GL_VENDOR: 3Dfx Interactive Inc.
   GL_RENDERER: 3Dfx Interactive Voodoo^2(tm)
   GL_VERSION: 1.1
   GL_EXTENSIONS: 3DFX_set_global_palette WGL_EXT_swap_control
GL_EXT_paletted_texture GL_EXT_shared_texture_palette GL_SGIS_multitexture
   </verb></tscreen>

Si <tt>GL_VENDOR</tt> affiche <tt>Brian Paul</tt> au lieu de <tt>3Dfx
Interactive Inc.</tt>, cela signifie que Mesa est encore utilisé à la place du
mini driver.

<sect1>L'interpréteur GLX <label id="quake2-glx"> **
<p>

<tt>ref_glx.so</tt> est lié aux librairies standard OpenGL à la place de Mesa.
Cela permet à Quake II de s'exécuter sur d'autres matériels 3D supportés par
d'autres implémentations d'OpenGL. A ce jour, je ne connais pas d'autres
implémentations d'OpenGL qui supportent un matériel différent de 3Dfx, mais ce
fournisseur assure qu'à leur apparition, ces nouveaux matériels permettront de
jouer à Quake.

C'est une application GLX, et de ce fait elle doit être lancée sous X.

Vous pouvez utiliser ce client avec Mesa/3Dfx si vous installez Mesa et Glide
comme détaillé dans la section précédente; définissez alors la variable
d'environnement <tt>$MESA_GLX_FX</tt> à "fullscreen" avant de lancer
<tt>quake2</tt>:

   <tscreen><verb>
   export MESA_GLX_FX=fullscreen
   ./quake2 +set vid_ref glx +set _windowed_mouse 1
   </verb></tscreen>
 
Pourquoi l'option <tt>+_windowed_mouse 1</tt>? Rappelez-vous que c'est une
application X qui utilisera votre carte 3Dfx. Même si l'affichage se fait en
plein écran, Quake II s'exécute encore dans une fenêtre. Ce qui signifie que si
vous n'êtes pas <em>très</em> prudent, vous pouvez déplacer le pointeur de la
souris en dehors de la fenêtre de Quakeworld, et Quakeworld s'arrêtera
subitement de répondre à la souris et au clavier. <tt>+_windowed_mouse 1</tt>
contourne le problème en demandant à <tt>glqwcl.glx</tt> de conserver la souris
dans la fenêtre.

<sect1>Commandes d'options en ligne spécifiques à Linux
<p>
Cette section rassemble les commandes en ligne qui sont spécifiques aux versions
Linux de Quake II. Il existe beaucoup d'autres options, mais elles dépassent le
cadre de cet HOWTO. Recherchez ce genre d'information sur les sites listés dans
la section <ref id="general-quake-sources" name="Informations Générales sur
Quake">. Ce sont en réalité des cvars (variables client) que vous pouvez définir
dans la console Q2, mais il paraît plus raisonnable de les définir sur la ligne
de commande. Définissez-les avec <tt>+set</tt> sur la ligne de commande, comme:

<tscreen><verb>
./quake2 +set cd_dev /dev/hdc
</verb></tscreen>

<descrip>
<tag>cd_dev <em>device</em></tag>
Nom du fichier périphérique du CD-ROM.

<tag>nocdaudio <em>value</em></tag>
Désactive le CD audio si <em>value</em> est différent de zéro

<tag>sndbits <em>num</em></tag>
Définit la taille de l'échantillon sonore en bits. La valeur par défaut est 16.

<tag>sndspeed <em>num</em></tag>
Définit la fréquence sonore. Les valeur usuelles sont 8000, 11025, 22051 ou
44100. Si la valeur est zéro, le driver son testera les vitesses en ordre
croissant: 11025, 22051, 44100, 8000.

<tag>sndchannels <em>num</em></tag>
Indique un son mono ou stéréo. Par défaut 2 (stéréo). Utiliser 1 pour mono.

<tag>nostdout <em>value</em></tag>
Ne renvoie aucune information sur la sortie standard. Utilisez cette option si
vous voulez éviter de collecter tous les messages des consoles sur votre
terminal.
</descrip>

<sect1>Serveurs Quake II
<p>
La puissance de Linux en tant que serveur internet en fait une plateforme
parfaite pour ouvrir un serveur Quake II. Cette section décrira les aspects de
base spécifiques à Linux de la mise en place d'un serveur Quake II. De plus
amples informations sur la manière d'ouvrir un serveur Quake sont disponibles
par ailleurs (reportez-vous à la section <ref id="other-sources" name="Autres
Sources d'Information"> plus haut dans ce document).

<sect2>Serveurs d'accueil
<p>
Vous pouvez lancer un serveur Quake II "d'accueil" depuis le jeu par le menu
<em>Multijoueur</em>. Cela vous permet d'héberger une partie et d'y participer
dans le même temps.

Pour lancer un serveur d'accueil, lancez Quake II, appelez le menu de Quake II
par la touche ESC, et sélectionnez <em>Multijoueur</em>. Quake est ensuite très
explicite.


<sect2>Serveurs dédiés
<p>
Transposer la procédure de mise en place d'un serveur d'accueil à l'ouverture
d'un serveur dédié à Quake II qui ne nécessite pas une attention constante,
n'est pas cohérent. Quake II propose un mode Serveur Dédié qui répond à ce type
d'utilisation. Un serveur dédié est lancé depuis la ligne de commande et utilise
moins de ressources système qu'un serveur d'accueil car il n'exécute aucun
client graphique.

Pour mettre en route un serveur dédié, utilisez l'option <tt>+set dedicated
1</tt> sur la ligne de commande. Pour pouvez définir des paramètres
supplémentaires soit sur la ligne de commande, soit dans un fichier de
configuration que vous ferez prendre en compte en par <tt>+exec</tt> sur la
ligne de commande. Votre fichier de configuration doit se trouver dans le
répertoire <tt>baseq2</tt>.

Un petit nombre d'options communes pour serveur sont listées ci-dessous. Pour
intégrer ces options à la ligne de commande, faites <tt>+set fraglimit 30</tt>.
Le principe est le même si vous optez pour un fichier de configuration; ôtez
simplement le <tt>+</tt> précédant <tt>set</tt>. Appelez votre fichier de
configuration de la façon suivante: <tt>+exec server.cfg</tt>.

<descrip>
<tag>fraglimit</tag>
Nombre de personnes à tuer avant de changer de tableau
<tag>timelimit</tag>
Temps en minutes devant s'écouler avant de changer de tableau
<tag>hostname</tag>
Le nom de votre serveur Quake II. C'est une chaîne arbitraire qui n'a rien à
voir avec le nom DNS de votre hôte.
<tag>maxclients</tag>
Le nombre maximum de joueur pouvant se connecter au serveur en même temps.
</descrip>

Pour trouver plus d'informations que vous ne pouvez l'espérer, consultez
Farenheit 176 (<htmlurl url="http://www.planetquake.com/f176"
name="http://www.planetquake.com/f176">).

<sect2>Autres Sources d'information sur les serveurs
<p>
<itemize>
<item>La FAQ du serveur Q2 propose un guide permettant, pas à pas, de configurer
un serveur sous Linux: <htmlurl url="http://www.bluesnews.com/faqs/q2s-faq.html"
name="http://www.bluesnews.com/faqs/q2s-faq.html">
<item>Grant Cornelius Reticulus Copernicus Sperry (<htmlurl
url="mailto:flubber@xmission.com" name="flubber@xmission.com">) propose quelques
fichiers de configuration de base et des scripts de démarrage sur <htmlurl
url="http://www.atomicage.com:80/quake/server/server_cfg/"
name="http://www.atomicage.com:80/quake/server/server_cfg/">.
</itemize>

<sect1>Modes & Ajouts
<p>
Les modifications de Quake II telles que Capture du drapeau (Ndt : Capture the
Flag), Jailbreak, et Lithium II sont des extensions très populaires du jeux
original. Quelques modes résident entièrement sur le serveur (Lithium), et
d'autres nécessitent des modifications du client (CTF). Pour les modes sur
serveur, connectez vous normalement et jouez. Les modes clients requièrent
préalablement l'installation de fichiers supplémentaires dans votre répertoire
<tt>quake2</tt>.

<sect2>Les modes Client
<p>
En général, l'installation d'un mode client réside simplement dans le
téléchargement du paquetage ad hoc et son désarchivage dans le répertoire de
Quake II, mais reportez-vous à la documentation propre à chaque mode pour de
plus amples détails. Il peut être nécessaire de télécharger un paquetage
supplémentaire spécifique à Linux en plus du paquetage client principal
(Windows). Il se peut également que tous les modes clients ne soient pas
disponibles pour Linux.

Les paquetages en mode client contiennent généralement un nouveau fichier
<tt>gamei386.so</tt> et un ou plusieurs fichiers <tt>.pak</tt>. D'autres
fichiers supplémentaires peuvent également exister. Ces nouveaux fichiers seront
installés dans un sous-répertoire dépendant de votre répertoire principal Quake
II. Utilisez l'option <tt>+set game <em>mod-dir</em></tt> sur la ligne de
commande pour exécuter ce mode. Rocket Arena 2 sera installé, par exemple, dans
un répertoire appelé <tt>arena</tt>. Pour jouer à RA2, vous devrez lancer votre
client de cette manière:
<tscreen><verb>
./quake2 +set game arena
</verb></tscreen>

<sect3>Capture du drapeau
<p>
Etant donné que cette variation multi-joueurs de Quake II est de loin la plus
populaire, j'ai inclus les instructions spécifiques à l'installation de ce mode.
Capture du Drapeau pour Quake II et disponible sur le site ftp de ID.
Téléchargez le, puis installez le ainsi:
<tscreen><verb>
cd /usr/local/games/quake2
mkdir ctf
cd ctf
unzip -L /wherever/you/put/it/q2ctf102.zip
</verb></tscreen>

Exécutez Quake II avec <tt>+set game ctf</tt> pour jouer à CTF (Ndt: Capture the
Flag).

<sect2>Les modes serveur
<p>
Lancer Quake II en mode serveur n'est pas très différent du lancement en mode
client. Généralement vous devrez installer les fichiers <tt>gamei386.so</tt> et
<tt>server.cfg</tt> dans un nouveau sous-répertoire et lancer votre serveur de
cette façon:
<tscreen><verb>
./quake2 +set game XXXX +set dedicated 1 +exec server.cfg
</verb></tscreen>
où XXXX représente le nom du sous-répertoire créé. La procédure exacte peut bien
sûr varier d'un mode à l'autre. Reportez-vous à la documentation jointe à votre
mode pour des détails spécifiques.

<sect2>Source du Jeu
<p>
Le jeu complet, hormis le moteur lui-même, se trouve dans une librairie
partagée, <tt>gamei386.so</tt>. Les modes de Quake II sont créés en changeant le
contenu de ce fichier. Le code source en C est librement disponible (section
<ref id="quake2-files" name="Téléchargement des fichiers nécessaires">
ci-dessus) pour quiconque souhaite le télécharger et le modifier.

Après avoir téléchargé le code source, voici comment le "préparer":

<tscreen><verb>
cd /usr/local/games/quake2
mkdir mymod
cd mymod
gunzip /wherever/you/put/it/q2source-3.14.shar.Z
sh /wherever/you/put/it/q2source-3.14.shar
</verb></tscreen>

Vous serez assailli par de nombreuses clauses auxquelles vous devrez répondre
<tt>yes</tt>, et le jeu s'extraira. Construire un nouveau <tt>gamei386.so</tt>
depuis ces sources est accompli par un simple <tt>make</tt>. Vous pouvez lancer
Quake II avec la librairie récemment compilée par:

<tscreen><verb>
cd /usr/local/games/quake2
./quake2 +set game mymod
</verb></tscreen>

Ne vous excitez pas trop encore, ce que vous venez juste de construire est un
fichier identique au <tt>gamei386.so</tt> standard, mais cela peut inspirer de
futurs auteurs de modes.

<sect2>Mission Packs **
<p>
<itemize>
<item><bf>Mission Pack 1: The Reckoning</bf>
"The Reckoning" nécessite une version version 3.15 ou supérieure de Quake II
pour s'exécuter. Vous aurez besoin d'au moins 95 Mo pour une installation
minimale. 90 Mo de plus sont nécessaires si vous voulez également installer les
séquences vidéo. Assurez-vous que votre CD est monté sur <tt>/mnt/cdrom</tt> et
que Quake II est installé dans <tt>/usr/local/games/quake2</tt>:

<tscreen><verb>
cd /usr/local/games/quake2
cp -r /mnt/cdrom/Data/all/* xatrix/
rm -f xatrix/gamex86.dll
</verb></tscreen>

Si vous voulez installer les séquences vidéo:

<tscreen><verb>
cp -r /mnt/cdrom/Data/max/xatrix/video xatrix
</verb></tscreen>

Lancez "The Reckoning" de cette façon :
<tscreen><verb>
cd /usr/local/games/quake2
./quake2 +set game xatrix
</verb></tscreen>

<item><bf>Mission Pack 2: Ground Zero</bf>
Ce pack nécessite une version 3.17 ou supérieure de Quake II. Vous aurez besoin
d'au moins 120 Mo pour une installation minimale. 115 Mo supplémentaires sont à
prévoir si vous voulez installer les séquences vidéo. Assurez-vous que votre CD
est monté sur <tt>/mnt/cdrom</tt> et que Quake II est installé dans
<tt>/usr/local/games/quake2</tt>:

<tscreen><verb>
cd /usr/local/games/quake2
cp -r /mnt/cdrom/Data/all/* rogue/
rm -f rogue/gamex86.dll
</verb></tscreen>

Si vous voulez installer les séquences vidéo:

<tscreen><verb>
cp -r /mnt/cdrom/Data/max/rogue/video rogue
</verb></tscreen>

Lancez "Ground Zero" de cette manière:
<tscreen><verb>
cd /usr/local/games/quake2
./quake2 +set game rogue
</verb></tscreen>

</itemize>

<!--=================================================================-->

<sect>Logiciels apparentés<label id="related-software"> ++
<p>

<sect1>QStat
<p>
Qstat est un programme basé sur ligne de commande qui renvoie l'état des
serveurs Internet Quake, QuakeWorld, et Quake 2 créé par Steve Jankowski
<htmlurl url="mailto:steve@activesw.com" name="mailto:steve@activesw.com">.

Voici un aperçu sommaire de la page d'accueil de QStat:
<itemize>
<item>Supporte Windows 95, NT, et la plupart des Unixes 
<item>Livré avec le code source C et un binaire pour Windows 
<item>Supporte les serveurs de l'ancienne version Quake (NetQuake), de
QuakeWorld, de Hexen II, et de Quake II
<item> Peut afficher toutes les statistiques disponibles, y compris les
informations sur les joueurs et les règles des serveurs
<item>Sortie formatée pour une génération HTML automatique
<item>Mode de sortie non formatée pour une intégration par les générateurs de
pages HTML
<item>Cache du nom de l'hôte intégré
<item>Tri par "ping time", jeu, ou les deux
<item>Plusieurs options activables
   </itemize>

Qstat est l'outil que vous devez avoir si vous envisagez n'importe quel jeu en
réseau. Un grand nombre de d'interfaces pour qstat ont été également écrites.
Quelques unes d'entre elles sont recensées dans cette section.

Vous pouvez obtenir la dernière version de qstat depuis sa page d'accueil
(<htmlurl url="http://www.activesw.com/people/steve/qstat.html"
name="http://www.activesw.com/people/steve/qstat.html">.

<sect1>XQF 
<p>
XQF est une interface graphique pour QStat qui utilise l'outil GTK. C'est le
meilleur navigateur de serveurs QuakeWorld/Quake2 existant actuellement, et
Roman Pozlevich (<htmlurl url="mailto:roma@botik.ru" name="roma@botik.ru">),
produit encore des révisions à la cadence d'environ une par mois.

Si vous êtes un familier de GameSpy pour les plateformes Windows, il s'agit de
la chose la plus approchante pour Linux..

La page d'accueil de XQF se trouve à <htmlurl
url="http://www.linuxgames.com/xqf" name="http://www.linuxgames.com/xqf">.

<sect1>QuickSpy
<p>
QuickSpy est un navigateur texte de serveurs QuakeWorld. C'est une autre
interface pour QStat qui fonctionne aussi bien. Si vous n'exécutez pas X et que
vous n'avez pas Quake II, c'est une option décente. Attention cependant, il
n'est plus en développement.

Vous pouvez obtenir QuickSpy à <htmlurl
url="http://diana.ecs.soton.ac.uk/~rht96r/quake/quickspy/"
name="http://diana.ecs.soton.ac.uk/~rht96r/quake/quickspy/">.

<sect1>QPlug pour Linux
<p>
Qplug est un plugin de Netscape qui récupère et affiche les informations des
serveurs QuakeWorld et Quake II dans une page web. L'auteur, Olivier Debon
(<htmlurl url="mailto:odebon@club-internet.fr" name="odebon@club-internet.fr">)
écrivit la version Linux en partant de zéro sans n'avoir jamais vu la version
Windows.

QPlug pour Linux peut être obtenu à l'adresse <htmlurl
url="http://www.geocities.com/TimesSquare/Labyrinth/5084/qplug.html"
name="http://www.geocities.com/TimesSquare/Labyrinth/5084/qplug.html">.

<sect1>qkHacklib
<p>
David Bucciarelli (<htmlurl url="mailto:tech.hmw@plus.it"
name="tech.hmw@plus.it">), auteur du driver 3Dfx pour Mesa, a écrit une
librairie appelée qkHack, qui tente d'émuler toutes les fonctions SVGAlib/fxMesa
utilisées par Quake et Quake II. Cela devrait suppléer le besoin de SVGAlib
lorsque glquake ou Quake II sont exécutés avec ref_gl.

Autres caractéristiques extraites du fichier README de qkHacklib:

<itemize>
<item>Vous pouvez dynamiquement passer du mode Plein écran au mode fenêtré en
pressant simplement la touche de Tabulation (vous devez lancer votre serveur X
en mode 16 bpp pour utiliser cette possibilité)
<item>Vous pouvez presser Ctrl-C dans le shell ou tuer le processus Quake sans
problème
<item>Vous pouvez activer/désactiver la capture de la souris et du clavier en
pressant F11/F12
<item>Vous pouvez iconifier et mettre en pause Quake en pressant F10 (il ne
consommera plus de ressources CPU). Vous pouvez tout redémarrer par un double
clic sur l'icône "****"
<item>Vous pouvez lancer Quake avec n'importe quel driver Mesa (par exemple avec
le driver X11 mais vous devrez recompiler le Mesa sans le driver Voodoo)
<item>Vous pouvez lancer Quake sous n'importe quelle machine Linux et récupérer
la sortie du matériel accélérateur sur une machine SGI (Soit, c'est un peu
exotique et théorique comme possibilité, mais c'est un exemple de ce que peut
être la puissance d'une application GLX/OpenGL)
</itemize>

J'ai testé qkHacklib et il fonctionne bien avec Quake sur mon système.
Néanmoins, dans Quake II, les réponses de la souris deviennent <em>vraiment</em>
lentes.
D'autres rapportent un complet succès, aussi donnez-lui sa chance s'il semble
s'apparenter à quelque chose dont vous avez besoin.

La page web de David Bucciarelli est à l'adresse <htmlurl
url="http://www-hmw.caribel.pisa.it/fxmesa/fxqkhack.html"
name="http://www-hmw.caribel.pisa.it/fxmesa/fxqkhack.html">.

<sect1>GiMd2Viewer
<p>
GiMd2Viewer est un visualiseur de modèles Quake II écrit pour Gtk et OpenGL par
Lionel Ulmer (<htmlurl url="mailto:bbrox@mygale.org" name="bbrox@mygale.org">).
Il charge modèles et textures depuis des fichiers ordinaires ou des fichiers
.PAK. Il animera également les modèles (par interpolation d'image).

Ce programme est toujours en développement et je ne l'ai pas encore essayé, mais
il semble vraiment formidable. Récupérez-le sur <htmlurl
url="http://www.mygale.org/~bbrox/GiMd2Viewer/"
name="http://www.mygale.org/~bbrox/GiMd2Viewer/">.

<sect1>QIPX 
<p>
QIPX est un lot de programmes qui permettent aux clients Quake Linux (utilisant
TCP/IP) de se connecter avec les clients Quake DOS (utilisant IPX). Je suppose
que cela peut s'avérer utile si vous jouez à netquake sur un LAN. QIPX est
disponible sur <htmlurl
url="http://www.geocities.com/SiliconValley/Park/6083/qipx.html"
name="http://www.geocities.com/SiliconValley/Park/6083/qipx.html">.

<sect1>Ice 
<p>
Ice est un éditeur de carte Quake pour UNIX créé par C.J. Beyer et John Watson.
Je n'ai pas utilisé ce programme, et je ne connais pas non plus l'état
d'avancement de son développement.
La page d'accueil de Ice se trouve sur <htmlurl
url="http://styx.phy.vanderbilt.edu/~ice/"
name="http://styx.phy.vanderbilt.edu/~ice/">.

<sect1>Q2getty 
<p>
Q2getty est une "bidouille" de mingetty par Mike Gleason (<htmlurl
url="mailto:mgleason@ncftp.com" name="mgleason@ncftp.com">) qui vous permet
d'exécuter et de relancer automatiquement un programme (comme un serveur Quake)
sur une console virtuelle.
Ce programme est disponible dans la rubrique fichiers sur <htmlurl
url="http://www.ncftpd.com/unixstuff/q2getty.html"
name="http://www.ncftpd.com/unixstuff/q2getty.html">.

<sect1>rcon 
<p>
Rcon se compose de deux outils permettant l'administration à distance d'un
serveur Quake II par le biais du protocole RCON. Michael Dwyer (<htmlurl
url="mailto:mdwyer@holly.colostate.edu" name="michael_dwyer@mwiworks.com">) en
est l'auteur. Rcon 1.1 est disponible sur <htmlurl
url="http://sunsite.unc.edu/pub/Linux/games/quake/rcon-1.1.tar.gz"
name="http://sunsite.unc.edu/pub/Linux/games/quake/rcon-1.1.tar.gz">.

<sect1>qlog ++
<p>
Qlog est un serveur d'analyse de log pour QuakeWorld/Quake II basé sur GPL qui
génère des statistiques détaillées sur les joueurs. Craig Knudsen (<htmlurl
url="mailto:cknudsen@radix.net" name="cknudsen@radix.net">) en est l'auteur. La
page d'accueil de qlog est <htmlurl url="http://www.radix.net/~cknudsen/qlog/"
name="http://www.radix.net/~cknudsen/qlog/">.

<sect1>Cheapo **
<p>
Cheapo est un proxy qui peut être utilisé pour router le trafic du réseau
QuakeWorld. De plus, le proxy peut modifier les données et dispose de
fonctionnalités permettant d'améliorer la partie. Vous pouvez vous connecter à
cheapo comme s'il s'agissait d'un serveur Quakeworld, puis lui donner des
commandes qui vous renvoient sur un serveur existant. Le proxy peut également
être lancé sur une machine avec firewall incapable de gérer le trafic Quake,
donc cette machine derrière le firewall peut être utilisée pour jouer. La page
d'accueil de Cheapo est à l'adresse <htmlurl
url="http://www.saunalahti.fi/~softech/"
name="http://www.saunalahti.fi/~softech/">.

<sect1>qgraph **
<p>
QGraph (Quake Graph) est un utilitaire d'aide à la gestion des "DeathMathes"
Quake, tournois et jeux Quakeworld.
QGraph est un programme qui se connecte à des serveurs Quake, QuakeII,
Quakeworld et Hexen2 (via Lan ou Internet) et qui vous montre les données en
temps réel de la partie se déroulant sur le serveur. La page d'accueil de QGraph
est à l'adresse <htmlurl url="http://www.frag.com/qgraph"
name="http://www.frag.com/qgraph">.

   
<!--==============================================================-->
<sect>Problèmes/FAQs<label id="troubleshooting">
<p>


<sect1>Général
<p>

<sect2>Considérations sur différents OS
<p>
<itemize>
<item><bf>Sensibilité à la Casse </bf> - Sous DOS et Windows, la casse n'est pas
importante. <tt>BASE1.TXT</tt> est équivalent à <tt>base1.txt</tt>. Sous Linux
et autres Unix, la casse A une signification. <tt>MOTD.TXT</tt> et
<tt>motd.txt</tt> sont des fichiers différents. Cela peut poser problème avec
des modèles de joueurs et des "skin files" s'ils sont installés avec des noms en
majuscules ou mitigés minuscules/majuscules. <tt>players/male/santa.PCX</tt>
doit être renommé <tt>santa.pcx</tt> pour être reconnu sous Linux. Le script
<tt>fixskins.sh</tt> inclus avec quakeworld convertira tous les noms de fichiers
d'un répertoire en minuscules. Il est reproduit ci-dessous pour votre commodité:
<code>
#!/bin/sh
for x in *; do
y=`echo $x | tr '[A-Z]' '[a-z]'`
if [ $x != $y ]; then
mv $x $y
fi
done
</code>

<item><bf>Délimiteurs de chemin ("Path")</bf> - DOS et Windows utilisent le
caractère "anti-slash" <tt>\</tt>" pour séparer les éléments d'un chemin
d'accès. Si vous utilisez des chemin d'accès dans vos fichiers de configuration
(ou n'importe quoi d'autre), soyez certain d'utiliser "<tt>/</tt>" et non
"<tt>\</tt>".

<item><bf>Caractères de fin de ligne</bf> - Sous DOS/Windows, chaque fin de
ligne d'un fichier texte se termine par un retour de chariot (CR: carriage
return) et un passage à la ligne suivante (LF: linefeed). Les fichiers texte
Unix ont simplement un passage à la ligne suivante (LF) à la fin de chaque
ligne. Utiliser des fichiers texte formatés DOS/Win sous Unix peut avoir pour
conséquence toute sorte de problèmes mystérieux sous Unix. Un format incorrect
du fichier <tt>quake2.conf</tt> du paquetage 3.17 de Quake2, par exemple, donne
l'erreur "<tt>LoadLibrary("ref_XXX.so") failed: No such file or directory</tt>".
Si vous avez un problème que vous ne pouvez expliquer, essayer de supprimer les
retour de chariot de votre fichier texte:
<tscreen><verb>
mv file.txt file.bak; tr -d '\r' < file.bak > file.txt
</verb></tscreen>
</itemize>


<sect2>Considérations relatives à Glibc, RedHat 5.x et Debian 2 <label
id="glibc">**
<p>
Ce qui suit s'applique uniquement aux binaires de Quake I (<tt>squake</tt>,
<tt>glquake</tt>, et <tt>quake.x11</tt>). Depuis respectivement les versions
2.30 et 3.19, QuakeWorld and Quake II sont disponibles à la fois en version
libc5 et glibc.

Les exécutables Quake ont été compilés avec libc5. Les distributions Linux les
plus récentes, comme RedHat 5.1 et Debian 2.0 utilisent l'incompatible glibc
comme librairie par défaut. Si vous exécutez Quake sur un sytème glibc, vous
devez vérifier plusieurs choses:

<itemize>
<item>RedHat 5 et Debian 2 ont les paquetages de compatibilité libc5 qui vous
permettent de lancer des applications basées sur libc5. Soyez certain que vous
avez ces paquetages installés. Les deux distributions placent les librairies
libc5 sous <tt>/usr/i486-linux-libc5/lib</tt>.
<item>Soyez certain que Quake utilise les librairies correctes. Créez un script
similaire à celui-ci qui fait pointer <tt>$LD_LIBRARY_PATH</tt> sur votre
répertoire contenant les librairies de compatibilité avant de lancer Quake.
   <code>
   #!/bin/sh
   export LD_LIBRARY_PATH=/usr/i486-linux-libc5/lib
   ./quake2 +set vid_ref gl $*
   </code>
   <item>Si vous allez compiler une librairie comme SVGAlib ou Mesa pour
l'utiliser avec Quake, elle doit être compilée avec libc5.
Construire simplement une nouvelle librairie en suivant les instructions
d'installation inclues conduira à créer une librairie liée à votre librairie par
défaut, glibc. Vous devez vous assurer que votre nouvelle librairie est liée
uniquement à libc5 et aux librairies basées sur libc5 pour être compatible avec
Quake. Reportez-vous à la documentation de votre distribution pour toute
information concernant les liens sur une librairie n'étant pas celle par défaut.
   </itemize>
   

<sect2>Ma souris ne fonctionne pas ou semble répondre aléatoirement.
<p>
   <itemize>
   <item>gpm est-il lancé? gpm est un programme qui active le copier/coller avec
la souris sur des consoles virtuelles. Beaucoup de distributions l'activent par
défaut. Cela peut interférer avec Quake. Vérifiez si gpm est activé avec la
commande suivante:
   <tscreen><verb>
   ps aux | grep gpm
   </verb></tscreen>
Si vous obtenez quelque chose comme
   <tscreen><verb>
   root   6115 0.0 0.4  832  316 ? S  17:54  0:00 gpm -t PS/2
   </verb></tscreen>
alors gpm est lancé et interfère avec Quake. <tt>gpm -k</tt> (en tant que root)
devrait arrêter gpm. Si ce n'est pas le cas, (<tt>gpm -k</tt> ne marche pas
toujours sur mon système), tuez gpm avec la commande <tt>killall gpm</tt>.

Si vous n'utilisez jamais gpm, vous pouvez vouloir arrêter son lancement au
démarrage. Voyez la documentation de votre distribution pour savoir comment
faire.
<p>
<item>Est-ce que votre souris est correctement définie dans
<tt>libvga.config</tt>? Ce fichier se trouve habituellement dans <tt>/etc</tt>
ou <tt>/etc/vga</tt>. Ouvrez-le et recherchez une ligne de ce genre
   <tscreen><verb>
   mouse Microsoft
   </verb></tscreen>
Sur mon système, c'est la première option du fichier. Assurez-vous que le type
de la souris est approprié à votre matériel.

</itemize>


<sect2>Ma souris Microsoft Intellimouse ou Logitech MouseMan+ ne fonctionne pas
correctement.
<p>
SVGAlib, dans les versions antérieures à la 1.3.0, qui gère la souris pour
Quake/QW/Q2 sous SVGA et GL, ne supporte pas directement l'Intellimouse. Si vous
avez une version de SVGAlib antérieure à la 1.3.0, vous devrez la mettre à jour
pour pouvoir utiliser une souris de type <tt>IntelliMouse</tt> (pour les souris
série) ou <tt>IMPS2</tt> (pour les souris PS/2) dans votre fichier de
configuration<tt>libvga.config</tt>.

<sect2>Ma souris se traîne et semble beaucoup plus lente que sous Windows.
<p>
<itemize>
<item>Pour beaucoup de personnes, le simple fait d'augmenter la valeur de la
<tt>sensibilité</tt> dans le jeu solutionne le problème. Ce réglage se fait soit
manuellement dans le menu Option, soit dans un fichier <tt>.cfg</tt> qui vous
permet d'augmenter la sensibilité de la souris plus amplement que le réglage du
menu Options. <tt>sensitivity 15</tt>, par exemple.

<item> Extrait de la mise à jour Zoid du 1/7/98:
<quote>Si vous constatez un retard de la vidéo sous l'interpréteur GL (le
rafraîchissement semble traîner derrière les mouvements de votre souris) tapez
"gl_finish 1" sur la console. Cela force le rafraîchissement sur la base d'une
image.</quote>

<item>La dernière version de SVGAlib (1.3.0) intègre un grand nombre de
paramètres dans <tt>libvga.config</tt> que vous pouvez utiliser pour
personnaliser le comportement de votre souris. Avec un paramètrage correct, il
devrait être possible de faire réagir votre souris exactement comme vous le
souhaitez. Sur mon système, le simple fait de définir <tt>mouse_accel_type</tt>
en <tt>normal</tt> (la valeur par défaut étant <tt>power</tt>) me donne les
résultats attendus. Je n'ai pas testé les autres paramètres, je ne m'avancerai
donc pas sur le bénéfice qu'ils apportent.

<item>Le petit "slider"
</itemize>

<sect2> Je possède une carte Voodoo2 et, lorsque je tente une mise en route avec
l'interpréteur gl, il m'affirme que je n'ai pas de carte Voodoo installée.
<p>
Il y a différentes versions de Glide pour cartes Voodoo et Voodoo 2. Soyez
certain que vous téléchargez celle qui correspond à votre système.


<sect2>Lorsque je joue à l'un des jeux Quake sous SVGAlib ou GL et que je presse
CTRL-C, le jeu s'arrête et quelquefois me laisse la console dans un état
inutilisable.
<sect2>Quelquefois lorsque Quake/Quake II se termine de façon anormale, il me
laisse la console dans un état inutilisable.
<p>
Oui. Cela agace. SVGAlib intercepte le CTRL-C et décide ce qu'il y a à faire
plutôt que de laisser cette responsabilité à Quake. Je ne connais pas de moyen
de contourner ce problème.

Si vous lancez un jeu Quake depuis un script qui réinitialise le clavier et le
terminal, comme ci-dessous, vous aurez moins de chances de vous retrouver avec
un terminal bloqué, si cela doit arriver, bien sûr.

   <code>
   #!/bin/sh
   ./quake2 $*
   kbd_mode -a
   reset
   </code>

<sect2>squake/quake2 refuse de démarrer et avertit "<tt>svgalib: cannot get I/O
permissions"</tt>
<p>
Les exécutables Quake doivent s'exécuter en tant que root, aussi vous devez les
lancer en étant root ou les rendre 'setuid' root. Reportez-vous aux instructions
d'installation de ce document pour plus de détails.

<sect2>Quelquefois, après avoir joué à l'un des jeux Quake sous X, la répétition
de touches ne fonctionne plus.
<p>
Pour plusieurs raisons, les versions X11 de Quake désactivent les touches de
répétition pendant leur exécution. Si le programme se termine anormalement pour
une raison ou une autre, la répétition des touches ne sera pas réactivée.
Faites:
   <tscreen><verb>
   xset r on
   </verb></tscreen>
pour la rétablir.

<sect2>Quake/Quake II avertit "/dev/dsp : device not configured" 
<p>
Votre matériel son n'est pas correctement configuré. Vous pouvez avoir
simplement à faire un <tt>insmod sound</tt>, ou il peut être nécessaire de
recompiler votre noyau. Les utilisateurs de RedHat peuvent appeler l'utilitaire
<bf>sndconfig(8)</bf>.
Reportez-vous à la documentation de votre distribution Linux et/ou au
SOUND-HOWTO Linux pour toute information sur la configuration de votre matériel
son.

<sect2>GL Quake/Quake II s'exécutent plus lentement sous Linux que sous Windows.
**
<p>
Le miniport 3Dfx GL de Windows est largement optimisé pour les besoins de Quake
II. Mesa, d'autre part, est plus général et moins optimisé. Il en résulte que
Quake II Linux s'exécute plus lentement que sous Windows. Ce n'est pas lié à une
limitation de Linux, mais à une limitation des drivers actuels.

Avec les plus récentes version de QuakeWorld et Quake II, le miniport 3Dfx
mentionné ci-dessus est disponible pour Linux. Bien qu'il ne porte pas les
performances de Quake Linux au niveau de celles de Quake Windows, c'est un pas
supplémentaire dans cette direction.

De plus, pour les possesseurs de Pentium Pro et Pentium II, quelques gains
peuvent être réalisés avec la mémoire cache - le dernier fichier de périphérique
<tt>/dev/3dfx</tt> a un support intégrant un paramétrage automatique. De
l'activation de MTRRs peut résulter une augmentation <em>significative</em> (10
fps sur mon système) de la vitesse de Quake GL. Reportez-vous à <htmlurl
url="http://glide.xxedgexx.com/MTRR.html"
name="http://glide.xxedgexx.com/MTRR.html"> pour de plus amples informations.

<sect2>Comment puis-je démarrer un serveur et me déconnecter, puis y revenir
ultérieurement? **
<p>
<bf>screen(1)</bf> est un remarquable utilitaire pour ce genre de chose. Il vous
permet de créer plusieurs écrans virtuels dans un seul tty et de passer de l'un
à l'autre. Screen est livré avec la plupart des distributions. Vous pouvez le
télécharger sur <htmlurl url="ftp://prep.ai.mit.edu/pub/gnu"
name="ftp://prep.ai.mit.edu/pub/gnu"> ou n'importe quel miroir GNU.

Lancez screen en tapant la commande <tt>screen</tt>, puis créez une nouvelle
fenêtre en pressant CTRL-A CTRL-C. Vous ne vous apercevrez de rien lorsque vous
ferez cela, mais, rassurez-vous, quelque chose se passe.

Lancez un serveur Quakeworld:
<tscreen><verb>
/usr/local/games/quake/qwsv 
</verb></tscreen>

Maintenant ouvrez une nouvelle fenêtre écran par CTRL-A CTRL-C et lancez un
serveur Quake II:
<tscreen><verb>
/usr/local/games/quake2/quake2 +set dedicated 1
</verb></tscreen>

Vous pouvez basculer d'un serveur à l'autre en pressant CTRL-A CTRL-N.

Appuyer sur CTRL-A CTRL-D pour vous détacher du programme screen. Screen et vos
serveurs sont toujours en route, mais ne sont plus visibles dans la fenêtre de
votre terminal. Vous pouvez maintenant vous déconnecter et vos processus
continueront à s'exécuter normalement.

Utilisez <tt>screen -r</tt> pour vous rattacher à votre précédent processus
screen et accéder de nouveau à vos serveurs.

C'est tout ce qu'il y a à faire. Reportez-vous à la page d'aide de
<bf>screen(1)</bf> pour des informations plus détaillées.


<sect1>Quake/QuakeWorld
<p>
<sect2>Quake meurt au démarrage avec une "segmentation fault". 
<p>
Ce signifie généralement que votre réseau n'est pas conforme. Essayez de lancer
quake avec l'option <tt>-noudp</tt> et voyez si l'erreur se reproduit. Si cela
résout le problème, inspectez votre fichier <tt>/etc/hosts</tt> et vérifiez
qu'il comporte une entrée pour votre machine. Utilisez 127.0.0.1 pour votre
adresse IP si vous avez une adresse IP assignée différente à chaque fois que
vous vous connectez.

<sect2>Quelle est la différence entre <tt>glqwcl</tt>, <tt>glqwcl.3dfxgl</tt>,
et <tt>glqwcl.glx</tt>? ++
<p>
<itemize>
<item><bf><tt>glqwcl</tt></bf> est le client standard Quakeworld GL que vous
avez vu dans la version précédente. Il est lié à libMesaGL.so.2.
<item><bf><tt>glqwcl.3dfxgl</tt></bf> est un script qui lance <tt>glqwcl</tt>
après avoir préchargé la librairie du miniport 3Dfx GL, <tt>lib3dfxgl.so</tt>.
Le préchargement de la librairie du miniport a pour conséquence l'utilisation
des fonctions GL au lieu des fonctions Mesa. Depuis que le miniport GL est
optimisé pour Quake, c'est préférable.
<item><bf><tt>glqwcl.glx</tt></bf> est lié à la librairie standard OpenGL au
lieu de Mesa. Cela permet à glquake de s'exécuter sur d'autres matériels 3D
supportés par d'autres implémentations OpenGL. C'est une application X et elle
doit donc être lancée depuis X.
</itemize>

<sect2>Quand je lance <tt>glqwcl.glx</tt> en plein écran depuis X, je ne peux
pas utiliser ma souris ou mon clavier. ++
<p>

Lancez <tt>glqwcl.glx</tt> avec l'option <tt>+_windowed_mouse 1</tt>. Quakeworld
GLX s'exécute dans une fenêtre, même s'il semble être en plein écran. Si vous
déplacez la souris pendant que WM est en mode "focus-follows-mouse", cela
revient à placer votre pointeur en dehors de cette fenêtre, et Quake arrêtera de
répondre aux sollicitations du clavier et de la souris. <tt>+_windowed_mouse
1</tt> oblige Quakeworld à capturer la souris pour son propre et unique usage.

<sect1>Quake II
<p>
<sect2>Quand j'essaie de lancer Quake II avec l'interpréteur GL, cela ne marche
pas et il s'affiche "LoadLibrary("ref_gl.so") failed: Unable to resolve symbol"
<p>
Si, juste avant la ligne "Unable to resolve symbol" vous avez un message du
style "<tt>can't resolve symbol 'fxMesaCreateContext'</tt>", votre librairie
Mesa n'a pas le support glide compilé. Reportez-vous à la section <ref
id="quake2-gl" name="L'interpréteur GL"> de la section d'installation de Quake
II pour toute information sur l'installation de Mesa et glide.

<sect2> Quake II ne se lance pas avec le message <tt>LoadLibrary("ref_XXX.so")
failed: No such file or directory </tt>
<p>
<itemize>
<item><tt>/etc/quake2.conf</tt> ne mentionne pas le chemin correct de votre
répertoire Quake II. Ce fichier doit contenir une ligne correspondant au
répertoire de Quake II.

<item>Si <tt>/etc/quake2.conf</tt> <em>contient</em> le chemin correct, essayez
de supprimer ce fichier et de le recréer manuellement. Quelques versions de
Quake II pour Linux intègrent un fichier <tt>quake2.conf</tt> incorrectement
formaté.

<item>Avez-vous SVGAlib installée? Recherchez dans <tt>/lib</tt>,
<tt>/usr/lib</tt> et <tt>/usr/local/lib</tt> un fichier appelé
<tt>libvga.so.1.X.X</tt>, où les X peuvent être différents nombres. Si vous ne
trouvez rien, vous devrez récupérer et installer SVGAlib pour exécuter Quake II
hors de X.

<item>Si l'interpréteur en question est <tt>ref_gl.so</tt>, Mesa peut ne pas
être correctement installé. Avez-vous copié <tt>libMesaGL.so.2.6</tt> dans le
répertoire de la librairie comme le préconisent les instructions d'installation?

<item>Si l'interpréteur en question est <tt>ref_gl.so</tt>, avez-vous installé
les librairies glide?

</itemize>


<sect2>Lorsque je modifie le contraste pendant l'utilisation de l'interpréteur
GL, et que je presse "apply," rien ne se passe!
<p>

Tapez <tt>vid_restart</tt> sur la console pour que les changements prennent
effet.


<sect2>Note sur la distribution 3.17 <label id="3.17">
<p>

Au jour de la réalisation de ce document, la plus récente version de Quake II
est 3.19. Si, pour une raison ou une autre, vous avez la version 3.17, les
informations suivantes peuvent vous aider.

Deux fichiers texte (<tt>quake2.conf</tt> et <tt>fixperms.sh</tt>) de la
distribution 3.17 ont été par inadvertance enregistrés avec le format des
fichiers texte MS-DOS CR/LF au lieu du format Unix LF. Ce qui signifie qu'il y a
un caractère "retour chariot" supplémentaire à la fin de chaque ligne de ces
fichiers et qu'ils ne seront pas exploitables tant qu'il vous ne les aurez pas
corrigés.

Nous utiliserons <bf>tr(1)</bf> pour retirer les retours de chariot.

   <tscreen><verb>
   for i in fixperms.sh quake2.conf
   do
   mv $i $i.bak
   tr -d '\r' < $i.bak > $i
   done
   </verb></tscreen>

<sect2>Quand je lance Quake II en plein écran avec <tt>+set vid_ref glx</tt>
depuis X, je ne peux pas utiliser ma souris ou mon clavier. ++
<p>

Lancez <tt>quake2</tt> GLX avec l'option <tt>+set _windowed_mouse 1</tt>. Quake2
GLX s'exécute dans une fenêtre, même s'il semble être en plein écran. Si vous
déplacez la souris pendant que WM est en mode "focus-follows-mouse", cela
revient à placer votre pointeur en dehors de cette fenêtre, et Quake II arrêtera
de répondre aux sollicitations du clavier et de la souris. <tt>+set
_windowed_mouse 1</tt> oblige Quakeworld à capturer la souris pour son propre et
unique usage.


<sect2>Pourquoi ne puis-je pas utiliser certains modes SVGA présents dans le
menu Vidéo de Quake II? **
<p>
SVGAlib ne sait sans doute pas comment créer les modes sur votre carte. Lorsque
Quake II s'exécute avec un interpréteur SVGA (<tt>ref_soft.so</tt>), il affiche
une liste de tous les modes que SVGAlib lui indique disponibles:
<tscreen><verb>
------- Loading ref_soft.so -------
Using RIVA 128 driver, 4096KB.
mode 320: 200 1075253220
mode 320: 240 1075253220
mode 320: 400 1075253220
mode 360: 480 1075253220
mode 640: 480 1075253220
mode 800: 600 1075253220
mode 1024: 768 1075253220
mode 1280: 1024 1075253220
</verb></tscreen>
Ce sont les seuls modes sur lesquels vous pourrez basculer avec succès depuis le
menu Video. Si par exemple 512x384 n'est pas dans la liste, la sélection de ce
mode depuis le menu Vidéo ne sera pas possible.

SVGAlib vous permet de définir de nouveau modes video pour d'autres "chipsets"
dans <tt>libvga.config</tt>, vous pouvez donc créer votre propre mode vidéo de
cette façon. Reportez-vous à la documentation de SVGAlib pour plus de détails
sur ce sujet.


<!--==============================================================-->
<sect>Trucs et Astuces<p>
<p>

<sect1>Exécution de jeux X et GL sans setuid <label id="no-setuid"> 
<p>
Si vous exécutez uniquement les versions X et GL de Quake, QuakeWorld ou Quake
II, vous n'aurez pas besoin de les lancer avec les permission root. SVGA est le
seul mode qui requiert d'être lancé par root. Les versions X ont simplement
besoin d'avoir accès à <tt>/dev/dsp</tt>, le fichier périphérique son. les
versions GL ont de plus besoin d'avoir accès à la carte 3Dfx par
<tt>/dev/dsp</tt>.

<tt>/dev/dsp</tt> doit être lisible et modifiable par Quake. La plupart des
distributions définissent les permissions à 662 (<tt>rw-rw--w-</tt>) par défaut.
La solution la plus simple est de faire un <tt>chmod 666 /dev/dsp</tt>. Sur la
plupart des systèmes, la possibilité de lire depuis un fichier périphérique son
ne pose pas de problème de sécurité majeur. Si cette approche n'est pas
acceptable pour votre système, créez un groupe propriétaire de <tt>/dev/dsp</tt>
et rendez les joueurs de Quake membre de ce groupe.

Vous aurez besoin du driver <tt>/dev/3dfx</tt> de la page glide de Daryll
Strauss (<htmlurl url="http://glide.xxedgexx.com/3DfxRPMS.html"
name="http://glide.xxedgexx.com/3DfxRPMS.html">) pour lancer les anciennes
applications glide (like GLQuake) sans être root. Téléchargez le paquetage
<tt>Device3Dfx.xxx.rpm</tt> et installez-le en suivant les instructions de la
page web. Après l'installation du driver, vérifiez que les permissions de
<tt>/dev/3dfx</tt> sont à 666 (<tt>chmod 666 /dev/3dfx</tt>).

Lorsque <tt>/dev/dsp</tt> et <tt>/dev/3dfx</tt> seront correctement paramétrés,
vous pourrez retirer le bit setuid de vos exécutables Quake/QW/Q2. Faites
simplement (en tant que root) <tt>chmod 0755 XXXXX</tt>, où XXXXX représente
<tt>glquake</tt>, <tt>quake.x11</tt>, ou <tt>quake2</tt>.

Si vous avez joué en tant que root avant de faire ces modifications, beaucoup de
vos fichiers Quake (comme les sauvegardes) peuvent appartenir à root et être
inaccessibles à un utilisateur normal, aussi souvenez-vous de modifier le
propriétaire de ces fichiers avant de jouer en tant que simple utilisateur.

<sect1>Lancement des jeux SVGA et GL depuis X <label id="running-from-x">**
<p>
Les clients Quakeworld et Quake II GLX sont des applications natives X, mais
depuis qu'elles utilisent Mesa plutôt que le mini-driver 3Dfx, elles sont plus
lentes que les versions <tt>lib3dfxgl.so</tt>. Pour cette raison, vous pouvez
préférer encore lancer ces jeux depuis X plutôt que d'utiliser les clients GLX.

Ce qui suit est tiré de la Gazette LINUX n°20, "Truc" par Joey Hess (<htmlurl
url="mailto:joey@kite.ml.org" name="joey@kite.ml.org">). L'original de ce
document se trouve sur <htmlurl
url="http://www.ssc.com/lg/issue20/lg_tips20.html#squake"
name="http://www.ssc.com/lg/issue20/lg_tips20.html#squake">

Oui, il est possible d'exécuter les jeux Quake depuis X en tant que root, mais
cette option est inconvenante, et vous courez en plus le risque d'un plantage de
Quake laissant la console sans réponse. Avec un peu de travail, vous pouvez
donner la possibilité à un utilisateur normal de lancer Quake SVGA et GL depuis
X <em>ET</em> de revenir automatiquement sous X lorsque le programme se termine,
que son arrêt soit normal ou non.

Nota: lorsque je précise "Quake" dans le texte ci-dessus, je veux en fait dire
"quake, glquake squake, qwcl, glqwcl, qwcl.x11 ou quake2".

<itemize>
<item>Premièrement, vous aurez besoin du paquetage <bf>open(1)</bf> de Jon
Tombs. C'est un lot de très petits programmes qui vous permettent de passer
d'une console virtuelle à l'autre et de lancer des programmes sur chacune
d'elles. Téléchargez open depuis <htmlurl
url="http://sunsite.unc.edu/pub/Linux/utils/console/"
name="http://sunsite.unc.edu/pub/Linux/utils/console/">. Vous ne devriez pas
avoir grand chose de plus à faire que <tt>make;make install</tt> pour le
compiler et l'installer. Une fois l'installation achevée, vous devrez rendre
<tt>open</tt> et <tt>switchto</tt> exécutables "setuid root". Pour cela:
<tscreen><verb>
cd /usr/local/bin
chown root open switchto
chmod 4755 open switchto
</verb></tscreen>

   <item>Maintenant, enregistrez le code suivant dans un fichier appelé
<tt>getvc.c</tt>:
   <code>
    /* getvc.c
     * Affiche le numéro de la CV courante sur la sortie standard.
     * Une grande partie de ce code a été inspirée du programme open,
     * et ce code est basé sur GPL
     *
     * Joey Hess, Fri Apr 4 14:58:50 EST 1997
     */
       
     #include <sys/vt.h>
     #include <fcntl.h>
      
     main () {
      int fd = 0;
      struct vt_stat vt;
       
      if ((fd = open("/dev/console",O_WRONLY,0)) < 0) {
       perror("Failed to open /dev/console\n");
       return(2);
      }
      if (ioctl(fd, VT_GETSTATE, &ero;vt) < 0) {
       perror("can't get VTstate\n");
       close(fd);
       return(4);
      }
      printf("%d\n",vt.v_active);
     }
      
     /* End of getvc.c */
   </code>
   Compilez et installez quelque part dans votre <tt>$PATH</tt>:
   <tscreen><verb>
   gcc getvc.c -o getvc
   strip getvc
   mv getvc /usr/local/bin
   </verb></tscreen>

   <item>Maintenant créons un script appelé <tt>runvc</tt>:
   votre <tt>$PATH</tt>:
   <code>
   #!/bin/sh
   # Lance quelque chose sur une CV, depuis X, et retourne sous X
   # lorsque c'est fait.
   # GPL Joey Hess, Thu, 10 Jul 1997 23:27:08 -0400
   exec open -s -- sh -c "$* ; chvt `getvc`"
   </code>
   Rendez-le exécutable et mettez-le quelque part dans votre <tt>$PATH</tt>:
   <tscreen><verb>
   chmod 755 runvc
   mv runvc /usr/local/bin
   </verb></tscreen>

   Maintenant vous pouvez utiliser la commande <tt>runvc</tt> pour exécuter
Quake. Continuez à utiliser la ligne de commande qui vous sert habituellement
pour lancer votre partie, mais insérez <tt>runvc</tt> au début:
   <tscreen><verb>
   runvc ./quake2 +set vid_ref gl +connect quake.foo.com
   </verb></tscreen>
Vous basculerez automatiquement sur une console virtuelle, lancerez Quake puis
retournerez sous X lorsque vous sortirez de Quake!
   </itemize>


<sect1>Conserver la souris à l'intérieur de la fenêtre sous X
<p>
Extrait du fichier <tt>readme.linux</tt> Quake II:
<quote>Par défaut, la souris ne sera pas confinée dans la fenêtre de Quake2.
Pour obliger Quake2 à capturer la souris, sélectionnez 'Windowed Mouse' sur le
menu vidéo, ou tapez '_windowed_mouse 0' sur la console. Faites l'inverse pour
la relâcher. Vous pouvez définir des raccourcis clavier pour capturer et
relâcher la souris dans la console, de cette façon:
    bind i "_windowed_mouse 1"
    bind o "_windowed_mouse 0"
Alors "i" activera la capture de la souris et "o" la relâchera.
   </quote>

<sect1>Le paramétrage "gonflant" 3Dfx fonctionne également sous Linux
<p>
Vous pouvez avoir vu ou entendu parler de certain moyens de "gonfler" les
performances d'OpenGL pour Quake par un paramètrage spécial des variables
d'environnement. Ces variables sont également valides sous Linux. Vous les
définissez simplement de façon légèrement différente.
Si un guide "gonflant" pour Windows/DOS vous indique de faire:
   <tscreen><verb>
   SET SST_GRXCLK=59
   </verb></tscreen>

Sous Linux, réalisez-le de cette manière:
   <tscreen><verb>
   export SST_GRXCLK=59
   </verb></tscreen>

<sect1>Le navigateur de serveur du pauvre
<p>
Joe S. (<htmlurl url="mailto:jszabo@eden.rutgers.edu"
name="jszabo@eden.rutgers.edu">) suggère:
<tscreen><verb>
Une astuce que j'utilise avec qstat:
Je créer un fichier de mes serveurs favoris, puis je fais:
qstat -f /C/quake2/file.txt | less
</verb></tscreen>

Je presse Ctrl z pour arrêter, puis je copie l'adresse IP ou le nom de l'hôte
avec gpm dans une ligne de commande du genre:

   <tscreen><verb>
   ./quake2 +connect expert.eqclans.com
   </verb></tscreen>
Alors je peux utiliser fg (Ndt: "fg" pour "foreground", commande shell qui a
pour effet de remettre un programme au premier plan) pour revenir sur ma liste
ultérieurement...

<sect1>Utilisation de <tt>lib3dfxgl.so</tt> pour Quake I <label id="miniport">**
<p>
Vous pouvez utiliser le mini-driver 3Dfx (<tt>lib3dfxgl.so</tt>) de Quakeworld
ou Quake II avec <tt>glquake</tt> également. Copiez simplement le script
<tt>glqwcl.3dfxgl</tt> ou <tt>quake2.3dfxgl</tt>dans un nouveau fichier, appelé
<tt>glquake.3dfxgl</tt>. Editez alors le script <tt>glquake.3dfxgl</tt> pour
qu'il lance <tt>glquake</tt> au lieu de <tt>glqwcl</tt>. Les mêmes restrictions
sur l'exécution en tant que root s'appliquent ici, de même que les différences
entre une exécution sous glibc et libc5.Voyez les section <ref id="qw-3dfxgl"
name="Quakeworld"> ou <ref id="q2-3dfxgl" name="Quake II"> pour de plus amples
informations sur <tt>lib3dfxgl.so</tt>.

<!--==============================================================-->
<sect>Administration
<p>

<sect1>Nouvelles versions de ce document
<p>
Les nouvelles versions de ce document seront périodiquement postées sur <htmlurl
url="news:comp.os.linux.answers" name="comp.os.linux.answers"> et <htmlurl
url="news:rec.games.computer.quake.misc" name="rec.games.computer.quake.misc">.
Elles pourront également être téléchargées sur de nombreux sites WWW et FTP, y
compris la <htmlurl url="http://sunsite.unc.edu/LDP" name="Page d'accueil LDP">.

Les nouvelles versions de ce document seront périodiquement postées sur <htmlurl
url="news:rec.games.computer.quake.misc" name="rec.games.computer.quake.misc">
et <htmlurl url="news:comp.os.linux.misc" name="comp.os.linux.misc">.

La dernière version du HOWTO Quake Linux peut toujours être trouvée sur les
sites suivants:

<itemize>
<item><htmlurl url="http://www.linuxquake.com/"
name="http://www.linuxquake.com/"> 
<item><htmlurl url="http://webpages.mr.net/bobz/"
name="http://webpages.mr.net/bobz/">
<item><htmlurl url="http://www.linuxgames.com/quake"
name="http://www.linuxgames.com/quake">
</itemize>

<sect1>Autres formats de ce Document<label id="other-formats">
<p>
Ce document est disponible dans une grande variété de formats différents.
Beaucoup plus que nécessaire, en fait. Vous pouvez les trouver sur <htmlurl
url="http://www.linuxquake.com/howto/other-formats"
name="http://www.linuxquake.com/howto/other-formats"> (NDT : en anglais! Mais la
majorité de ces versions (Texte, sgml, html et postscript) sont également
disponibles en français sur votre miroir national préféré :-)).
<itemize>
<item><htmlurl url="other-formats/Quake-HOWTO.txt" name="ASCII text">
<item><htmlurl url="other-formats/Quake-HOWTO.man" name="ASCII text with
backspace-overstrikes">
approprié pour une visualisation par <bf>man(1)</bf>
<item><htmlurl url="other-formats/Quake-HOWTO-html.zip" name="HTML">
tout zippé et prêt à être inséré dans votre site web
<item><htmlurl url="other-formats/Quake-HOWTO.ps" name="Postscript">
<item><htmlurl url="other-formats/Quake-HOWTO.prc" name="PRC">
pour une visualisation sur votre "Palm Pilot" avec "Aportis Doc"
<item><htmlurl url="other-formats/Quake-HOWTO.sgml" name="SGML">
<item><htmlurl url="other-formats/Quake-HOWTO.dvi" name="LaTeX">
<item><htmlurl url="other-formats/Quake-HOWTO-everything.zip" name="Tout ce qui
est mentionné ci-dessus est également disponible dans un seul paquetage (Ndt :
toujours en anglais!)">
</itemize>

<sect1>Politique de Distribution
<p>

Copyright (c) 1998, Bob Zimbinski, Brett A. Thomas et Mike Hallock.
Ce document peut être distribué dans le respect des termes de la licence LDP
disponible sur <htmlurl url="http://sunsite.unc.edu/LDP/COPYRIGHT.html"
name="sunsite.unc.edu/LDP/COPYRIGHT.html">. 

Ce HOWTO est une documentation libre; vous pouvez le redistribuer et/ou le
modifier sous les conditions de la licence LDP. Ce document est distribué dans
l'espoir d'être utile, mais <em>sans aucune garantie</em>; sans même la garantie
implicite de <em>qualité loyale et marchande</em> ou <em>d'exactitude pour une
usage particulier</em>. Et puis zut, même si ce document <em>tue votre
chien</em>, ce n'est pas de notre faute.

Reportez-vous à la licence LDP pour de plus amples détails.

<sect1>Historique des révisions
<p>
Les différentes parties de ce document qui ont été modifiées dans la dernière
révision ont un ** derrière le titre de la section. Les parties modifiées dans
une révision antérieure à la dernière en date sont identifiables par un ++.

Vous trouverez ci-dessous l'historique complet des révisions de ce document. Non
pas dans le but d'être utile à tous, mais aux auteurs de ce document (Ndt: en
conséquence de quoi il est en version originale).

   <code>
   $Log: Quake-HOWTO.sgml,v $
   Revision 1.0.1.14 1998/10/05 19:54:17 bobz
   Removed the long-dead LinQuake page from list of Linux Quake sites
   Removed renaissoft.com link
   Minor wording changes throughout
   Added link to svgalib libc5 binary
   Added info about q2 demo
   Updated q2 installation info for the 3.19 release
   moved section about 3.17 textfile problems to the troubleshooting section
   Added part about lib3dfxgl.so to QW section
   Added part about GLX client to QW section
   Added part about lib3dfxgl.so to Q2 section
   Added part about GLX client to Q2 section
   Updated "slower than windows" FAQ
   Removed obsolete TS tip about glibc & q2
   Removed obsolete TS tip about playing w/CD mounted
   Changed tip about running glquake with lib3dfxgl.so
   Added instructions for Q2 mission pack 2
   Added pointer to svgalib libc5 binary
   Added FAQ about svgalib modes in Q2
   Added Cheapo proxy to software section
   Added screen FAQ
   Added qgraph to software sectoin
   Decided I was lying when I promised a 3Dfx tweak section in the next update

   Revision 1.0.1.13 1998/09/02 01:35:18 bobz
   Fixed some broken url links
   Restored <author> tag
   added an acknowledgement
   added a reminder to the non-root tip
   added qlog listing

   Revision 1.0.1.12 1998/08/30 21:35:23 bobz
   Updated QuakeWorld install section for 2.30 release
   Updated QW file list
   Updated Quake 1.01 install info per email suggestion
   Added QW 2.30 caveat to "Glibc considerations" section
   Updated linux vs. windows speed section for new 3dfx miniport
   Added glqwcl versions FAQ
   Added troubleshooting tip about windows focus and glx
   Added a sentence about /dev/3dfx permissions
   Made runvc script usage clearer
   Added tip about using mini-driver with Quake & QuakeII

   Revision 1.0.1.11 1998/08/15 19:28:49 bobz
   Added glibc topic in Troubleshooting/FAQ section
   Moved non-setuid info to Tips & Tricks section
   Moved rcs log into Revision Hist section
   Changed distribution info a little until LDP wakes up
   Changed references to quake.medina.net to www.linuxquake.com
   Added linuxgames.com to list of places to get current version
   Changed 3dfx Howto pointer
   Moved explanation of change markings (** and ++) to intro section where
they'll be noticed
   Mentioned zoid's GL driver port in the Win vs Linux FAQ
   Fixed credit and URL in q2getty

   Revision 1.0.1.10 1998/08/07 19:07:02 bobz
   Changed XQF url
   Added comments to the revision history section
   Started marking changed sections
   Added OS Considerations to troubleshooting section
   Added rcon to Other Software section
   Added ICE to Other Software section

   Revision 1.0.1.9 1998/08/04 21:06:22 bobz
   Updated Acknowledgements
   Added discussion of Quake security
   Added QIPX to "Related Software"
   Added ts topic about -noudp
   
   Revision 1.0.1.8 1998/08/03 22:09:28 bobz
   Updated and restructured the q2 mods section
   Minor change to gpm troubleshooting info
   Changed sound ts info
   Changed intellimouse ts info
   
   Revision 1.0.1.7 1998/08/03 04:55:21 mikeh
   Added "Playing" section of Q2 Mods & Addons section.
   Added "Intelimouse" section of Troubleshooting section
   Added RedHat sndconfig part to Troubleshooting section
   Fixed a few spacing problems, and one error message
   
   Revision 1.0.1.6 1998/08/03 02:01:13 bobz
   Changed abstract.
   
   Revision 1.0.1.5 1998/07/31 16:07:11 bobz
   Added gpm -k mention in mouse troubleshooting
   mentioned 'sensitivity' in mouse lag troubleshooting
   Added qstat|less tip
   Added "/dev/dsp not configured" to troubleshooting
   Slightly reworded part of the mod compiling section
   Added bit about running mods server side
   corrected required version # in q2 mission pack 1
   Updated acknowledgements section
   
   Revision 1.0.1.4 1998/07/30 21:08:46 bobz
   Fixed a problem with broken lines in <sect> tags
   
   Revision 1.0.1.3 1998/07/30 17:40:29 bobz
   Fixed broken link to Latex version.
   
   Revision 1.0.1.2 1998/07/30 15:46:40 bobz
   Test update.
   
   Revision 1.0.1.1 1998/07/30 15:43:59 bobz
   Changed version numbering scheme.
   
   Revision 1.10 1998/07/30 13:51:24 bobz
   Minor version reporting change
   
   Revision 1.9 1998/07/29 20:42:03 bobz
   Added some server links
   
   Revision 1.8 1998/07/29 17:37:15 bobz
   Added a Quake II model viewer to the Other Programs section
   
   Revision 1.7 1998/07/29 16:02:23 bobz
   Added some relative links in Other Formats to make it
   more portable.

   Revision 1.6 1998/07/29 15:18:12 bobz
   Version and date stamps back to the way they were
   
   Revision 1.5 1998/07/29 14:52:03 bobz
   Added tags for automatic timestamping
   
   Revision 1.4 1998/07/29 13:17:51 bobz
   Changed captured.com's web address per webmaster's request

   Revision 1.3 1998/07/29 02:11:02 bobz
   Ooops again. Made "Other formats" a <sect> instead of a <sect1>.

   Revision 1.2 1998/07/29 01:55:41 bobz
   Oops. I deleted the doctype tag...
   
   Revision 1.1 1998/07/29 01:48:34 bobz
   Added Other Formats section.
   Changed acknowledgments slightly
   Added ftp.medina.net to list of ftp sites.
   
   Revision 1.0 1998/07/28
   First publicly released version
        Revision 0.9 1998/07/25
   Restructured,rewritten and expanded by Bob Zimbinski.
   
   Revision 0.01 1998/06/16
   First Pre-Release version v0.01by Brett A. Thomas and Mike Hallock.
   </code>

</article>

