bobz@mr.net
Version Française
: Eric MAISONOBE viret@nat.fr
Quake, QuakeWorld et Quake II sont de formidables jeux d'action 3D développés par 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 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 ++.
Ce document ne contient certainement pas 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 ( bobz@mr.net) ou Mike Hallock ( mikeh@medina.net).
Les critiques constructives sont les bienvenues. Les descentes en flammes ne le sont pas.
La version originale de ce document a été écrite par Brett A.Thomas (quark@baz.com) et Mike Hallock (mikeh@medina.net). Bob Zimbinski (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 :
Remerciements aux personnes suivantes pour leurs contributions à ce HOWTO :
-noudp
.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 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.
Vous aurez besoin, au strict minimum, de la configuration suivante :
En Option:
Tous les fichiers nécessaires pour Quake Linux sont disponibles sur le site ftp d'id Software, ftp.idsoftware.com. Ce site pouvant être très sollicité, vous pouvez utiliser l'un des sites miroirs ci-dessous :
Les fichiers Quake mentionnés dans cette section sont :
Autres logiciels mentionnés:
La première chose que vous avez à faire est de
décider où vous souhaitez installer Quake. Beaucoup
l'installent dans /usr/games/quake
. 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
/usr/local
. Aussi,, pour moi, Quake a trouvé sa
place sous /usr/local/games/quake
. Si vous choisissez
de l'installer ailleurs, n'oubliez pas de substituer le chemin
approprié partout où
/usr/local/games/quake
est indiqué.
Remarque aux utilisateurs de Redhat: Si vous envisagez
d'installer QuakeWorld depuis les paquetages rpm
, vous
devrez probablement installer Quake sous
/usr/local/games/quake
, étant donné que
rpm
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).
mkdir /usr/local/games/quake cd /usr/local/games/quake
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 quake101.1
et quake101.2
.
Si vous trouvez un fichier appelé resource.1
,
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 /dev/cdrom
et
/mnt/cdrom
par le fichier et le point de montage
appropriés à votre système:
mount -t iso9660 /dev/cdrom /mnt/cdrom ls /mnt/cdrom
resource.1
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 .pak
après l'installation. Le dernier point de cette section
détaille cela.
cat /mnt/cdrom/quake101.1 /mnt/cdrom/quake101.2 > resource.1
/mnt/cdrom/resource.1
, vous devrez utiliser à
la place /usr/local/games/quake/resource.1
.resource.1
est une archive lha (lha est un
format de compression et d'archivage comme zip ou tar). Nous
utiliserons la commande lha(1)
pour l'extraire. Si lha
n'est pas déjà installé sur votre
système, vous pouvez l'obtenir depuis ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z.
Lorsque lha aura terminé, votre répertoire Quake contiendra bon nombre de fichiers nouveaux. Un répertoire appelélha e /mnt/cdrom/resource.1
id1/
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
*.txt
. Sur mon système, je rassemble tous les
"readme" dans un répertoire doc/
. Pour ce faire
:
cd /usr/local/games/quake mkdir doc mv *.txt doc rm -f *
id1/pak0.pak
par
ceux de la version shareware de Quake. Installez la version
shareware comme cela est décrit dans 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 id1/pak0.pak
du répertoire
temporaire shareware dans votre répertoire
/usr/local/games/quake/id1
. Après quoi vous
pouvez écraser tous les fichiers temporaires
sharewares.Voilà pour ce qui est de l'installation à partir du CD. Vous pouvez maintenant passer à la section Installation des Binaires Linux.
Si vous avez Quake installé sous Windows ou DOS sur une
machine différente, vous pouvez transférer les
fichiers dans quake\id1\
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é id1
:
cd /usr/local/games/quake mkdir id1
cp /win95/games/quake/id1/*.pak id1
cd id1 ln -s /win95/games/quake/id1/*.pak .
Remplacez /win95/games/quake
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' Installation des Binaires Linux.
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 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 :
cd /usr/local/games/quake unzip -L /wherever/you/put/it/quake106.zip
Maintenant vous avez (entre autres) un fichier appelé
resource.1
qui est en fait une archive lha (lha est un
format de compression et d'archivage comme zip ou tar). Nous
utiliserons la commande lha(1) pour l'extraction.
Si lha n'est pas déjà installé sur votre système, vous pouvez l'obtenir depuis ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z.
lha e resource.1
Lorsque lha aura terminé, votre répertoire Quake
contiendra bon nombre de fichiers nouveaux. Un répertoire
appelé id1/
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*.txt
. Sur mon système, je rassemble
tous les "readme" dans une répertoire doc/
.
Pour ce faire :
cd /usr/local/games/quake mkdir doc mv *.txt doc rm -f *
Maintenant vous êtes prêt à installer les binaires Linux.
Décidez lequel des trois composants de Quake vous souhaitez installer:
Téléchargez les paquetages que vous souhaitez (reportez-vous à la section Téléchargement des fichiers Nécessaires) et extrayez-les dans votre répertoire Quake de ce façon:
cd /usr/local/games/quake tar -xzf XXXX-i386-unknown-linux2.0.tar.gz
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..
squake
est le seul client Quake qui doit
être exécuté avec les permissions root. Avec un
peu de travail, vous pouvez exécuter les clients X et GL
sans setuid. 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 squake
,
rendez-le setuid root avec les commandes suivantes :
chown root squake chmod 4755 squake
Si vous décidez d'exécuter quake.x11
et glquake
setuid root sur votre système, vous
pouvez répéter ces commandes sur ces binaires.
Si vous installez le client X11, voici venu le moment de le
tester. Vous pouvez avoir besoin d'affiner la configuration pour
glquake
et squake
, mais
quake.x11
est maintenant prêt à
s'exécuter.
cd /usr/local/games/quake ./quake.x11
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 Problèmes.
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 doit être correctement configurée pour que squake ou glquake fonctionnent convenablement.
libvga.config
est le fichier de configuration de
SVGAlib. Sur la plupart des systèmes, vous le trouverez dans
/etc
ou /etc/vga
. 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 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 à 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 à 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:
cd /usr/local/games/quake ./squake
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.
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 glquake
, 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
glquake
fonctionne. Les sections suivantes vous
expliqueront brièvement comment vous y prendre.
Le Linux 3Dfx HOWTO ( http://www.gamers.org/dEngine/xf3D/howto/3Dfx-HOWTO.html) de Bernd Kreimeier ( bk@gamers.org) est une source d'informations plus complète.
Le newsgroup des serveurs 3dfx (news.3dfx.com) 3dfx.glide.linux est une autre bonne source d'information, au croisement de Linux, glide, Mesa et Quake.
glquake utilise SVGAlib pour gérer la souris et le clavier, aussi vous devrez le configurer comme il est précisé dans la section Quake SVGAlib.
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 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
/dev/3dfx
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. NOTA: lancez ce test d'une console virtuelle, pas depuis X! Il est possible que cette application test perde le contrôle du clavier et de la souris sous X, et vous vous retrouveriez bloqué.
/usr/local/glide/bin/test3Dfx
Votre écran doit virer au bleu et vous demander de presser une touche. Une fois cette touche pressée, vous retournerez au prompt. 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.
Une fois glide installé, vous aurez besoin d'installer Mesa, l'OpenGL libre réalisé par Brian Paul (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:
cd /usr/local/games/quake cp libMesaGL.so.2.6 /usr/local/lib ldconfig
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 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 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:
libMesaGL.so.2.6
comme décrit ci-dessus, vous devez la supprimer ou bien
Quake n'utilisera pas la nouvelle version.
cd /usr/local/lib/ rm -f libMesaGL.so.2*
libMesaGL.so.2
:
cd /usr/local/lib/ ln -s /wherever/you/installed/it/libMesaGL.so.3.0 libMesaGL.so.2 ldconfig
Maintenant passons sur une console virtuelle (CTRL+ALT+F1) et lançons glquake.
cd /usr/local/games/quake ./glquake
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 Informations Générales sur Quake.
Spécifie la mémoire à allouer en megaoctets (par défaut 8Mo, ce qui doit être suffisant dans la plupart des cas).
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.
Le fichier système de la souris, par défaut
/dev/mouse
La fréquence, en bauds, de la souris, par défaut 1200.
Le fichier système du CD, par défaut
/dev/cdrom
.
Utilise le mode vidéo indiqué (squake uniquement).
N'initialise pas le clavier.
Définit la taille de l'échantillon sonore en bits. La valeur par défaut est 16 si cela est supporté.
Définit la fréquence sonore. Les valeur usuelles sont 8000, 11025, 22051 ou 44100. La valeur par défaut est 11025.
Positionne le mode son en mono.
Positionne le mode son en stéréo (par défaut s'il est supporté).
http://www.quakeworld.net est plus éloquent que je ne saurais l'être:
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.
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:
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 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.
L'installation des paquetages rpm est aussi simple que ceci:
su root rpm -Uvh qwcl-xxxxx.i386.rpm
qwcl
, glqwcl
et
glqwcl.glx
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 Exécuter des jeux X et GL
sans setuid ci-dessous.
Rpm peut se plaindre de ne pas trouver
libglide2x.so
. La librairie Glide est uniquement
nécessaire si vous possédez une carte 3Dfx et
souhaitez lancer QuakeWorld en mode GL (glqwcl
). Si
vous ne prévoyez pas d'utiliser le mode GL, vous pouvez
passer outre les dépendances de glide avec l'option
--nodeps
:
su root rpm -Uvh qwcl-xxxxx.i386.rpm --nodeps
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:
cd /usr/local/games/quake su root tar -xzf qwcl2.21-i386-unknown-linux2.0.tar.gz
qwcl
, glqwcl
et
glqwcl.glx
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 Exécuter des
jeux X et GL sans setuid ci-dessous.
Une fois que QuakeWorld est installé à coté de vos fichiers Quake, vous pouvez le lancer par:
./qwcl +connect some.server.address
Voyez la section Logiciels apparentés pour trouver de l'information sur quelques formidables interfaces pour QuakeWorld qui rendent facile la localisation de serveurs.
Avec Quakeworld version 2.30, une alternative à la
librairie Mesa est envisageable. lib3dfxgl.so
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, lib3dfxgl.so
nécessite Glide
pour accéder à votre carte 3Dfx. Le paquetage
QuakeWorld est fourni avec un script, glqwcl.3dfxgl
permettant de lancer Quakeworld avec sa librairie sur les
systèmes glibc. Le paragraphe suivant explique comment
lancer Quakeworld avec lib3dfxgl.so
sur un
système libc5. Sur un système glibc, pour que ce
script fonctionne, l'exécutable glqwcl
ne
doit pas être setuid, et vous ne devez pas le lancer en
tant que root. glqwcl
chargera silencieusement Mesa au
lieu de lib3dfxgl.so
si il est exécuté
avec les permissions root. Cette non-nécessité
d'être root suppose que vous ayez le driver
/dev/3dfx
installé.
Sur un système libc5, vous devrez créer un lien
symbolique sur lib3dfxgl.so
appelé
libMesaGL.so.2
de cette façon:
cd /usr/local/games/quake ln -sf lib3dfxgl.so libMesaGL.so.2
Puis lancez Quakeworld depuis un script assignant le
répertoire courant à $LD_LIBRARY_PATH
:
#!/bin/sh LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./glqwcl $*
Vous pouvez vérifier quel driver est chargé en attendant sur votre console un message de ce genre au démarrage de Quakeworld:
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
Si GL_VENDOR
affiche Brian Paul
au
lieu de 3Dfx Interactive Inc.
, cela signifie que Mesa
est encore utilisé à la place du mini driver.
glqwcl.glx
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 $MESA_GLX_FX
à "fullscreen"
avant de lancer quake2
:
export MESA_GLX_FX=fullscreen ./glqwcl.glx +_windowed_mouse 1
Pourquoi l'option +_windowed_mouse 1
?
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 très 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.
+_windowed_mouse 1
contourne le problème en
demandant à glqwcl.glx
de conserver la souris
dans la fenêtre.
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:
./qwsv
Le manuel officiel du serveur QuakeWorld se trouve sur http://qwcentral.stomped.com.
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.
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 http://captured.com/threewave/.
Vous avez besoin de
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é ctf
dans
votre répertoire Quake et 'unzippez' le fichier
3wctfc.zip
à cet endroit. Le fichier
readme.txt
regorge d'informations très
utiles.
cd /usr/local/games/quake mkdir ctf cd ctf unzip -L /wherever/you/put/it/3wctfc.zip
Pour toute information sur le lancement d'un serveur CTF, reportez-vous aux pages mentionnées ci-dessus.
Activision a réalisé deux "add-on packs" de niveaux supplémentaires pour Quake, Scourge of Armagon et Dissolution of Eternity.
/mnt/cdrom
et que Quake
est installé dans /usr/local/games/quake
:
Vous pouvez jouer avec ce pack en tapant ceci:cd /usr/local/games/quake mkdir hipnotic cp /mnt/cdrom/hipnotic/pak0.pak hipnotic cp /mnt/cdrom/hipnotic/config.cfg hipnotic
cd /usr/local/games/quake ./quake.x11 -game hipnotic
config.cfg
, ce fichier n'étant pas inclus dans
le deuxième pack.Quelqu'un voudra-t-il contribuer à ce HOWTO en m'envoyant quelques informations sur qcc, bsp et tout cela ?
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 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.
Vous aurez besoin, au strict minimum, de la configuration suivante :
En Option:
Tous les fichiers nécessaires à Quake II pour Linux sont disponibles sur le site ftp de ID Software, ftp.idsoftware.com.
Ce site pouvant être très sollicité, vous pouvez utiliser l'un des sites miroirs ci-dessous :
Les fichiers de Quake II mentionnés dans cette section sont :
Autres logiciels mentionnés:
La première chose que vous avez à faire est de
décider où vous allez installer Quake II. Beaucoup
l'installent dans /usr/games/quake
. 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
/usr/local
. Aussi,, pour moi, Quake II a trouvé
sa place sous /usr/local/games/quake2
. Si vous
choisissez de l'installer ailleurs, n'oubliez pas de substituer le
chemin approprié partout où
/usr/local/games/quake2
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).
mkdir /usr/local/games/quake2 cd /usr/local/games/quake2
Introduisez votre CD de Quake II dans votre lecteur, et montez-le:
mount -t iso9660 /dev/cdrom /mnt/cdrom
Si votre CD-ROM est monté sur un autre point de montage,
remplacez /mnt/cdrom
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.
Il y a une grande quantité de fichiers Windows inutiles que vous pouvez supprimer sans crainte:cd /usr/local/games/quake2 cp -r /mnt/cdrom/Install/Data/* .
rm -f /usr/local/quake2/*.dll rm -f /usr/local/quake2/quake2.exe rm -f /usr/local/quake2/baseq2/gamex386.dll
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.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
Si vous avez Quake II installé sous Windows sur une
machine différente, vous pouvez transférer les
fichiers dans quake2\baseq2\
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
/win95/games/quake2
dans l'exemple suivant par le
chemin correct de votre partition Windows et de votre
répertoire d'installation Quake II.
cd /usr/local/games/quake2 cp -r /win95/games/quake2/baseq2 .
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 votrecd /usr/local/games/quake2 ln -s /win95/games/quake2/baseq2 .
/etc/fstab
pour permettre le montage de
la partition Windows avec les options umask=002,gid=XXX,
où XXX représente le numéro du groupe des
utilisateurs. Cherchez cette information dans
/etc/group
. Lorsque fstab
est
modifié, démontez et remontez la partition Windows,
et vous êtes prêt.Vous venez d'installer les fichiers de données de Quake II. Reportez-vous ci-dessus pour l' Installation des binaires Linux.
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 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 unzip(1) 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 Téléchargement des Fichiers Nécessaires.
Placez-vous dans votre répertoire Quake II et décompressez l'archive:
cd /usr/local/games/quake2 unzip q2-314-demo-x86.exe
Nous devons maintenant effacer plusieurs choses et en déplacer d'autres:
rm -rf Splash Setup.exe mv Install/Data/baseq2 . mv Install/Data/DOCS docs rm -rf Install rm -f baseq2/gamex86.dll
La démonstration de Quake II est maintenant installée. Vous n'avez plus qu'à ajouter les binaires de Linux.
Il y a quatre paquetages Quake II pour Linux disponibles au téléchargement:
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 Téléchargement des Fichiers Nécessaires pour localiser les adresses des fichiers Quake II pour Linux.
L'installation des paquetages rpm est aussi simple que ceci:
su root rpm -Uvh quake2-xxxxx.i386.rpm
Rpm peut se plaindre de ne pas trouver
libglide2x.so
. 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 --nodeps
:
su root rpm -Uvh quake2-xxxxx.i386.rpm --nodeps
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:
cd /usr/local/games/quake su root tar -xzf qwcl2.21-i386-unknown-linux2.0.tar.gz
Si vous avez lancé rpm
ou tar
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 quake2
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 ref_*.so
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, quake2
refusera de s'exécuter.
Si vous envisagez d'exécuter uniquement Quake II avec les
interpréteurs GL ou X, votre quake2
n'a pas
besoin d'être setuid root. Voyez 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.
Pour des raisons de sécurité, il existe un fichier
quake2.conf
, qui indique à Quake II où
trouver les librairies interprétatives dont il a besoin
(ref_*.so
). Il contient uniquement une ligne qui doit
être le chemin de votre installation Quake II. Quake II
cherche ce fichier dans /etc
. Si vous avez
installé Quake II depuis un paquetage .rpm
, ce
fichier a été installé pour vous. Si vous avez
installé Quake II depuis un paquetage .tar
,
vous devez le créer de cette façon:
su root cd /usr/local/games/quake2 pwd > /etc/quake2.conf chmod 644 /etc/quake2.conf
Quake II doit être maintenant prêt à s'exécuter sous X. Faites un essai:
cd /usr/local/games/quake2 ./quake2 +set vid_ref softx
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 Problèmes pour trouver de l'aide.
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 doit être
correctement configurée pour que Quake II fonctionne
correctement sans X. libvga.config
est un fichier de
configuration de SVGAlib. Sur la plupart des systèmes, vous
le trouverez soit sous /etc
soit sous
/etc/vga
. 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 Section des fichiers ci-dessus. Si vous avez une RedHat 5.x ou une autre distribution Linux basée sur glibc, voyez 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 à 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:
cd /usr/local/games/quake2 ./quake2
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.
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
quake2
fonctionne. Les sections suivantes expliqueront
brièvement comment vous y prendre.
Le Linux 3Dfx HOWTO ( http://www.gamers.org/dEngine/xf3D/howto/3Dfx-HOWTO.html) de Bernd Kreimeier ( bk@gamers.org) est une source d'informations plus complète.
Le newsgroup des serveurs 3dfx (news.3dfx.com) 3dfx.glide.linux est une autre bonne source d'information, au croisement de Linux, glide, Mesa et Quake.
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 Interpréteur SVGAlib.
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 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
/dev/3dfx
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. NOTA: lancez ce test d'une console virtuelle, pas depuis X! Il est possible que cette application test perde le contrôle du clavier et de la souris sous X, et vous vous retrouveriez bloqué.
/usr/local/glide/bin/test3Dfx
Votre écran doit virer au bleu et vous demander de presser une touche. Une fois cette touche pressée, vous retournerez au prompt. 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.
Une fois glide installé, vous aurez besoin d'installer Mesa, l'OpenGL libre réalisé par Brian Paul (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:
cd /usr/local/games/quake2 cp libMesaGL.so.2.6 /usr/local/lib ldconfig
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 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 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:
libMesaGL.so.2.6
comme décrit ci-dessus, vous devez la supprimer ou bien
Quake n'utilisera pas la nouvelle version.
cd /usr/local/lib/ rm -f libMesaGL.so.2*
libMesaGL.so.2
:
cd /usr/local/lib/ ln -s /wherever/you/installed/it/libMesaGL.so.3.0 libMesaGL.so.2 ldconfig
Maintenant, passons sur une console virtuelle (CTRL+ALT+F1) et lançons Quake II:
cd /usr/local/games/quake2 ./quake2 +set vid_ref gl
Avec Quake II version 3.19, une alternative à la
librairie Mesa est envisageable. lib3dfxgl.so
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, lib3dfxgl.so
nécessite Glide
pour accéder à votre carte 3Dfx. Le paquetage
QuakeWorld est fourni avec un script, quake2.3dfxgl
permettant de lancer Quake II avec sa librairie sur les
systèmes glibc. Le paragraphe suivant explique comment
lancer Quake II avec lib3dfxgl.so
sur un
système libc5. Sur un système glibc, pour que ce
script fonctionne, l'exécutable glqwcl
ne
doit pas être setuid, et vous ne devez pas le lancer en
tant que root. glqwcl
chargera silencieusement Mesa au
lieu de lib3dfxgl.so
si il est exécuté
avec les permissions root. Cette non nécessité
d'être root suppose que vous avez le driver
/dev/3dfx
installé.
Sur un système libc5, vous devrez créer un lien
symbolique sur lib3dfxgl.so
appelé
libMesaGL.so.2
de cette façon:
cd /usr/local/games/quake2 ln -sf lib3dfxgl.so libMesaGL.so.2
Puis lancez Quakeworld depuis un script assignant le
répertoire courant à $LD_LIBRARY_PATH
:
#!/bin/sh LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./quake2 +set vid_ref gl $*
Vous pouvez vérifier quel driver est chargé en visualisant sur votre console un message de ce genre au démarrage de Quakeworld:
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
Si GL_VENDOR
affiche Brian Paul
au
lieu de 3Dfx Interactive Inc.
, cela signifie que Mesa
est encore utilisé à la place du mini driver.
ref_glx.so
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 $MESA_GLX_FX
à "fullscreen"
avant de lancer quake2
:
export MESA_GLX_FX=fullscreen ./quake2 +set vid_ref glx +set _windowed_mouse 1
Pourquoi l'option +_windowed_mouse 1
? 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 très 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.
+_windowed_mouse 1
contourne le problème en
demandant à glqwcl.glx
de conserver la souris
dans la fenêtre.
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 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 +set
sur la ligne
de commande, comme:
./quake2 +set cd_dev /dev/hdc
Nom du fichier périphérique du CD-ROM.
Désactive le CD audio si value est différent de zéro
Définit la taille de l'échantillon sonore en bits. La valeur par défaut est 16.
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.
Indique un son mono ou stéréo. Par défaut 2 (stéréo). Utiliser 1 pour mono.
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.
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 Autres Sources d'Information plus haut dans ce document).
Vous pouvez lancer un serveur Quake II "d'accueil" depuis le jeu par le menu Multijoueur. 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 Multijoueur. Quake est ensuite très explicite.
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 +set dedicated 1
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
+exec
sur la ligne de commande. Votre fichier de
configuration doit se trouver dans le répertoire
baseq2
.
Un petit nombre d'options communes pour serveur sont
listées ci-dessous. Pour intégrer ces options
à la ligne de commande, faites +set fraglimit
30
. Le principe est le même si vous optez pour un
fichier de configuration; ôtez simplement le +
précédant set
. Appelez votre fichier de
configuration de la façon suivante: +exec
server.cfg
.
Nombre de personnes à tuer avant de changer de tableau
Temps en minutes devant s'écouler avant de changer de tableau
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.
Le nombre maximum de joueur pouvant se connecter au serveur en même temps.
Pour trouver plus d'informations que vous ne pouvez l'espérer, consultez Farenheit 176 ( http://www.planetquake.com/f176).
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
quake2
.
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
gamei386.so
et un ou plusieurs fichiers
.pak
. 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
+set game mod-dir
sur la ligne de commande
pour exécuter ce mode. Rocket Arena 2 sera installé,
par exemple, dans un répertoire appelé
arena
. Pour jouer à RA2, vous devrez lancer
votre client de cette manière:
./quake2 +set game arena
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:
cd /usr/local/games/quake2 mkdir ctf cd ctf unzip -L /wherever/you/put/it/q2ctf102.zip
Exécutez Quake II avec +set game ctf
pour
jouer à CTF (Ndt: Capture the Flag).
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
gamei386.so
et server.cfg
dans un nouveau
sous-répertoire et lancer votre serveur de cette
façon:
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../quake2 +set game XXXX +set dedicated 1 +exec server.cfg
Le jeu complet, hormis le moteur lui-même, se trouve dans
une librairie partagée, gamei386.so
. Les modes
de Quake II sont créés en changeant le contenu de ce
fichier. Le code source en C est librement disponible (section
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":
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
Vous serez assailli par de nombreuses clauses auxquelles vous
devrez répondre yes
, et le jeu s'extraira.
Construire un nouveau gamei386.so
depuis ces sources
est accompli par un simple make
. Vous pouvez lancer
Quake II avec la librairie récemment compilée
par:
cd /usr/local/games/quake2 ./quake2 +set game mymod
Ne vous excitez pas trop encore, ce que vous venez juste de
construire est un fichier identique au gamei386.so
standard, mais cela peut inspirer de futurs auteurs de modes.
/mnt/cdrom
et que Quake II est
installé dans /usr/local/games/quake2
:
Si vous voulez installer les séquences vidéo:cd /usr/local/games/quake2 cp -r /mnt/cdrom/Data/all/* xatrix/ rm -f xatrix/gamex86.dll
Lancez "The Reckoning" de cette façon :cp -r /mnt/cdrom/Data/max/xatrix/video xatrix
cd /usr/local/games/quake2 ./quake2 +set game xatrix
/mnt/cdrom
et que Quake II est
installé dans /usr/local/games/quake2
:
Si vous voulez installer les séquences vidéo:cd /usr/local/games/quake2 cp -r /mnt/cdrom/Data/all/* rogue/ rm -f rogue/gamex86.dll
Lancez "Ground Zero" de cette manière:cp -r /mnt/cdrom/Data/max/rogue/video rogue
cd /usr/local/games/quake2 ./quake2 +set game rogue
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 mailto:steve@activesw.com.
Voici un aperçu sommaire de la page d'accueil de QStat:
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 ( http://www.activesw.com/people/steve/qstat.html.
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 ( 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 à http://www.linuxgames.com/xqf.
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 à http://diana.ecs.soton.ac.uk/~rht96r/quake/quickspy/.
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 ( 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 http://www.geocities.com/TimesSquare/Labyrinth/5084/qplug.html.
David Bucciarelli ( 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:
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 vraiment 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 http://www-hmw.caribel.pisa.it/fxmesa/fxqkhack.html.
GiMd2Viewer est un visualiseur de modèles Quake II écrit pour Gtk et OpenGL par Lionel Ulmer ( 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 http://www.mygale.org/~bbrox/GiMd2Viewer/.
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 http://www.geocities.com/SiliconValley/Park/6083/qipx.html.
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 http://styx.phy.vanderbilt.edu/~ice/.
Q2getty est une "bidouille" de mingetty par Mike Gleason ( 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 http://www.ncftpd.com/unixstuff/q2getty.html.
Rcon se compose de deux outils permettant l'administration à distance d'un serveur Quake II par le biais du protocole RCON. Michael Dwyer ( michael_dwyer@mwiworks.com) en est l'auteur. Rcon 1.1 est disponible sur http://sunsite.unc.edu/pub/Linux/games/quake/rcon-1.1.tar.gz.
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 ( cknudsen@radix.net) en est l'auteur. La page d'accueil de qlog est http://www.radix.net/~cknudsen/qlog/.
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 http://www.saunalahti.fi/~softech/.
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 http://www.frag.com/qgraph.
BASE1.TXT
est
équivalent à base1.txt
. Sous Linux et
autres Unix, la casse A une signification. MOTD.TXT
et
motd.txt
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.
players/male/santa.PCX
doit être renommé
santa.pcx
pour être reconnu sous Linux. Le
script fixskins.sh
inclus avec quakeworld convertira
tous les noms de fichiers d'un répertoire en minuscules. Il
est reproduit ci-dessous pour votre commodité:
#!/bin/sh for x in *; do y=`echo $x | tr '[A-Z]' '[a-z]'` if [ $x != $y ]; then mv $x $y fi done
\
" 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 "/
" et non "\
".quake2.conf
du paquetage 3.17 de Quake2,
par exemple, donne l'erreur "LoadLibrary("ref_XXX.so")
failed: No such file or directory
". Si vous avez un
problème que vous ne pouvez expliquer, essayer de supprimer
les retour de chariot de votre fichier texte:
mv file.txt file.bak; tr -d '\r' < file.bak > file.txt
Ce qui suit s'applique uniquement aux binaires de Quake I
(squake
, glquake
, et
quake.x11
). 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:
/usr/i486-linux-libc5/lib
.$LD_LIBRARY_PATH
sur votre répertoire contenant
les librairies de compatibilité avant de lancer Quake.
#!/bin/sh export LD_LIBRARY_PATH=/usr/i486-linux-libc5/lib ./quake2 +set vid_ref gl $*
Si vous obtenez quelque chose commeps aux | grep gpm
alors gpm est lancé et interfère avec Quake.root 6115 0.0 0.4 832 316 ? S 17:54 0:00 gpm -t PS/2
gpm -k
(en tant que root) devrait arrêter gpm.
Si ce n'est pas le cas, (gpm -k
ne marche pas toujours
sur mon système), tuez gpm avec la commande killall
gpm
. 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.libvga.config
? Ce fichier se trouve habituellement
dans /etc
ou /etc/vga
. Ouvrez-le et
recherchez une ligne de ce genre
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.mouse Microsoft
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
IntelliMouse
(pour les souris série) ou
IMPS2
(pour les souris PS/2) dans votre fichier de
configurationlibvga.config
.
sensibilité
dans le jeu solutionne
le problème. Ce réglage se fait soit manuellement
dans le menu Option, soit dans un fichier .cfg
qui
vous permet d'augmenter la sensibilité de la souris plus
amplement que le réglage du menu Options. sensitivity
15
, par exemple.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.
libvga.config
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 mouse_accel_type
en normal
(la valeur par défaut étant power
) 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.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.
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.
#!/bin/sh ./quake2 $* kbd_mode -a reset
svgalib: cannot get I/O permissions"
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.
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:
pour la rétablir.xset r on
Votre matériel son n'est pas correctement
configuré. Vous pouvez avoir simplement à faire un
insmod sound
, ou il peut être nécessaire
de recompiler votre noyau. Les utilisateurs de RedHat peuvent
appeler l'utilitaire sndconfig(8). 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.
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 /dev/3dfx
a un support
intégrant un paramétrage automatique. De l'activation
de MTRRs peut résulter une augmentation
significative (10 fps sur mon système) de la
vitesse de Quake GL. Reportez-vous à http://glide.xxedgexx.com/MTRR.html
pour de plus amples informations.
screen(1) 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 ftp://prep.ai.mit.edu/pub/gnu ou n'importe quel miroir GNU.
Lancez screen en tapant la commande screen
, 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:
/usr/local/games/quake/qwsv
Maintenant ouvrez une nouvelle fenêtre écran par CTRL-A CTRL-C et lancez un serveur Quake II:
/usr/local/games/quake2/quake2 +set dedicated 1
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 screen -r
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 screen(1) pour des informations plus détaillées.
Ce signifie généralement que votre réseau
n'est pas conforme. Essayez de lancer quake avec l'option
-noudp
et voyez si l'erreur se reproduit. Si cela
résout le problème, inspectez votre fichier
/etc/hosts
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.
glqwcl
,
glqwcl.3dfxgl
, et glqwcl.glx
? ++glqwcl
est le client standard Quakeworld GL
que vous avez vu dans la version précédente. Il est
lié à libMesaGL.so.2.glqwcl.3dfxgl
est un script qui lance
glqwcl
après avoir préchargé la
librairie du miniport 3Dfx GL, lib3dfxgl.so
. 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.glqwcl.glx
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.glqwcl.glx
en plein écran
depuis X, je ne peux pas utiliser ma souris ou mon clavier. ++Lancez glqwcl.glx
avec l'option
+_windowed_mouse 1
. 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.
+_windowed_mouse 1
oblige Quakeworld à capturer
la souris pour son propre et unique usage.
Si, juste avant la ligne "Unable to resolve symbol" vous avez un
message du style "can't resolve symbol
'fxMesaCreateContext'
", votre librairie Mesa n'a pas le
support glide compilé. Reportez-vous à la section
L'interpréteur GL de la section
d'installation de Quake II pour toute information sur
l'installation de Mesa et glide.
LoadLibrary("ref_XXX.so") failed: No such file or
directory
/etc/quake2.conf
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./etc/quake2.conf
contient 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 quake2.conf
incorrectement
formaté./lib
, /usr/lib
et
/usr/local/lib
un fichier appelé
libvga.so.1.X.X
, 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.ref_gl.so
, Mesa peut ne pas être correctement
installé. Avez-vous copié
libMesaGL.so.2.6
dans le répertoire de la
librairie comme le préconisent les instructions
d'installation?ref_gl.so
, avez-vous installé les librairies
glide?Tapez vid_restart
sur la console pour que les
changements prennent effet.
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 (quake2.conf
et
fixperms.sh
) 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 tr(1) pour retirer les retours de chariot.
for i in fixperms.sh quake2.conf do mv $i $i.bak tr -d '\r' < $i.bak > $i done
+set
vid_ref glx
depuis X, je ne peux pas utiliser ma souris ou
mon clavier. ++Lancez quake2
GLX avec l'option +set
_windowed_mouse 1
. 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. +set _windowed_mouse 1
oblige Quakeworld
à capturer la souris pour son propre et unique usage.
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 (ref_soft.so
), il affiche une
liste de tous les modes que SVGAlib lui indique disponibles:
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.------- 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
SVGAlib vous permet de définir de nouveau modes video
pour d'autres "chipsets" dans libvga.config
, 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.
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 à /dev/dsp
, le
fichier périphérique son. les versions GL ont de plus
besoin d'avoir accès à la carte 3Dfx par
/dev/dsp
.
/dev/dsp
doit être lisible et modifiable par
Quake. La plupart des distributions définissent les
permissions à 662 (rw-rw--w-
) par
défaut. La solution la plus simple est de faire un
chmod 666 /dev/dsp
. 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 /dev/dsp
et rendez les joueurs
de Quake membre de ce groupe.
Vous aurez besoin du driver /dev/3dfx
de la page
glide de Daryll Strauss ( http://glide.xxedgexx.com/3DfxRPMS.html)
pour lancer les anciennes applications glide (like GLQuake) sans
être root. Téléchargez le paquetage
Device3Dfx.xxx.rpm
et installez-le en suivant les
instructions de la page web. Après l'installation du driver,
vérifiez que les permissions de /dev/3dfx
sont
à 666 (chmod 666 /dev/3dfx
).
Lorsque /dev/dsp
et /dev/3dfx
seront
correctement paramétrés, vous pourrez retirer le bit
setuid de vos exécutables Quake/QW/Q2. Faites simplement (en
tant que root) chmod 0755 XXXXX
, où XXXXX
représente glquake
, quake.x11
, ou
quake2
.
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.
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
lib3dfxgl.so
. 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 ( joey@kite.ml.org). L'original de ce document se trouve sur 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 ET 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".
make;make install
pour le compiler et l'installer. Une
fois l'installation achevée, vous devrez rendre
open
et switchto
exécutables
"setuid root". Pour cela:
cd /usr/local/bin chown root open switchto chmod 4755 open switchto
getvc.c
:
/* 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, &vt) < 0) { perror("can't get VTstate\n"); close(fd); return(4); } printf("%d\n",vt.v_active); } /* End of getvc.c */
$PATH
:
gcc getvc.c -o getvc strip getvc mv getvc /usr/local/bin
runvc
: votre $PATH
:
#!/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`"
$PATH
:
Maintenant vous pouvez utiliser la commandechmod 755 runvc mv runvc /usr/local/bin
runvc
pour
exécuter Quake. Continuez à utiliser la ligne de
commande qui vous sert habituellement pour lancer votre partie,
mais insérez runvc
au début:
Vous basculerez automatiquement sur une console virtuelle, lancerez Quake puis retournerez sous X lorsque vous sortirez de Quake!runvc ./quake2 +set vid_ref gl +connect quake.foo.com
Extrait du fichier readme.linux
Quake II:
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.
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:
SET SST_GRXCLK=59
Sous Linux, réalisez-le de cette manière:
export SST_GRXCLK=59
Joe S. ( jszabo@eden.rutgers.edu) suggère:
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
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:
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..../quake2 +connect expert.eqclans.com
lib3dfxgl.so
pour Quake I **Vous pouvez utiliser le mini-driver 3Dfx
(lib3dfxgl.so
) de Quakeworld ou Quake II avec
glquake
également. Copiez simplement le script
glqwcl.3dfxgl
ou quake2.3dfxgl
dans un
nouveau fichier, appelé glquake.3dfxgl
. Editez
alors le script glquake.3dfxgl
pour qu'il lance
glquake
au lieu de glqwcl
. 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 Quakeworld ou Quake II
pour de plus amples informations sur lib3dfxgl.so
.
Les nouvelles versions de ce document seront périodiquement postées sur comp.os.linux.answers et rec.games.computer.quake.misc. Elles pourront également être téléchargées sur de nombreux sites WWW et FTP, y compris la Page d'accueil LDP.
Les nouvelles versions de ce document seront périodiquement postées sur rec.games.computer.quake.misc et comp.os.linux.misc.
La dernière version du HOWTO Quake Linux peut toujours être trouvée sur les sites suivants:
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 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é :-)).
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 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 sans aucune garantie; sans même la garantie implicite de qualité loyale et marchande ou d'exactitude pour une usage particulier. Et puis zut, même si ce document tue votre chien, ce n'est pas de notre faute.
Reportez-vous à la licence LDP pour de plus amples détails.
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).
$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.