Om Quake op je Linux systeem te installeren, zul je een bepaald type van de officiéle Quake distributie van id nodig hebben. Dit zal ofwel de in de detailhandel verkrijgbare DOS/Windows CD-ROM zijn die je bij je favoriete softwarewinkel kocht, of de shareware-versie die je vanaf het net hebt gedownload (zie hieronder voor details over het verwerven van de shareware-versie). Als alternatief kun je, als je Quake reeds op een DOS/Windows machine hebt geïnstalleerd, de relevante bestanden van die installatie gebruiken.
Je zult, als een absoluut minimum, het volgende nodig hebben:
Optioneel:
Alle noodzakelijke bestanden voor Linux Quake zijn beschikbaar vanaf de ftp-site van id Software, ftp.idsoftware.com. Deze site kan zo nu en dan zeer druk bezocht zijn, dus je zou in plaats daarvan misschien één van deze mirrorsites willen gebruiken
De Quake bestanden vermeld in deze sectie zijn:
Andere vermelde software:
Het eerste dat nodig is, is dat je beslist waar je Quake wilt installeren.
De "standaard" lokatie is /usr/local/games/quake
.
Daar plaatsen de .rpm
packages Quake. Als je ervoor kiest om
het ergens anders te installeren, vervang dan alsjeblieft overal waar je
/usr/local/games/quake
tegenkomt door het juiste pad.
Opmerking aan Redhat gebruikers: Als je van plan bent om
QuakeWorld vanuit de
rpm
packages te installeren, wordt Quake waarschijnlijk in
/usr/local/games/quake
geïnstalleert, aangezien de rpm
s
dit standaard doen.
Dus ga je gang en maak de directory aan waarin je Quake wilt installeren, en cd ernaar. Bij de rest van deze instructies zal ervan worden uitgegaan dat dit je huidige directory is.
mkdir /usr/local/games/quake
cd /usr/local/games/quake
Als je de installatie uitvoert vanaf een Quake CD-ROM, lees dan verder. Anders heb je hierbij permissie om deze sectie over te slaan.
Er zijn op z'n minst twee versies van de Quake CD in omloop. Ik heb
er één uit de begintijd waarop Quake versie 1.01 staat.
Ik heb andere CD's gezien met versie 1.06.
Je hebt 1.01 als je bestanden met de naam
quake101.1
en quake101.2
op je CD ziet.
Als je in plaats daarvan een bestand met de naam
resource.1
ziet, heb je een nieuwere CD.
Mount nu je Quake CD en stel vast welke versie je hebt.
Vervang /dev/cdrom
en
/mnt/cdrom
door de device-bestanden en mountpoints in het
voorbeeld hieronder overeenkomstig de instellingen op je systeem:
mount -t iso9660 /dev/cdrom /mnt/cdrom
ls /mnt/cdrom
resource.1
op je CD voorkomt,
kun je naar het volgende item gaan.
Voor een CD met versie 1.01, zul je het
Quake shareware-package moeten downloaden om de .pak
bestanden na de
installatie bij te werken.
Het laatste item in deze sectie legt dit uit.
cat /mnt/cdrom/quake101.1 /mnt/cdrom/quake101.2 > resource.1
/mnt/cdrom/resource.1
, zou je in plaats daarvan
/usr/local/games/quake/resource.1
moeten gebruiken.resource.1
op je CD is een lha-archief
(lha is een bestandscompressie- en archiefformaat zoals zip of tar). We
zullen het lha(1)
commando gebruiken om het uit te pakken.
Als lha nog niet op je systeem is geïnstalleerd,
kun je het ophalen vanaf
ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z.
lha e /mnt/cdrom/resource.1
Als lha klaar is, zullen er een aantal nieuwe bestanden in je Quake
directory staan. Er zal ook een directory met de naam id1
zijn
aangemaakt. De bestanden in deze directory zijn de enige die belangrijk
zijn voor Linux Quake, dus je kunt veilig al het andere verwijderen.
Als Quake totaal nieuw voor je is, of zelfs als dit niet zo is,
zou je je misschien willen vastklampen aan de *.txt
bestanden.
Op mijn systeem gooi ik alle readmes die zich opstapelen in een
doc/
directory. Dus:
cd /usr/local/games/quake
mkdir doc
mv *.txt doc
rm -f *
id1/pak0.pak
bestanden moeten overschrijven
met die van de Quake shareware-versie.
Installeer de shareware versie zoals is beschreven in
Shareware Versie Installatie,
installeer het alleen in een bepaalde tijdelijke directory zodanig dat je
je echte Quake-bestanden niet overschrijft.
Als je alle sharewarebestanden hebt uitgepakt, kopieer je het
bestand id1/pak0.pak
vanaf de tijdelijke directory naar de
directory /usr/local/games/quake/id1
. Daarna kun je de
tijdelijke shareware-bestanden verwijderen.Dat is 't voor het installeren vanaf de CD. Je kunt nu verdergaan met de sectie " Installeren van de Linux Binaries".
Als je Quake onder Windows of DOS op een andere machine hebt
geïnstalleerd, kun je de bestanden in quake\id1\
via FTP of een andere mechanisme naar je Linux-systeem overbrengen.
Hou in gedachten dat de bestanden op je Linux-systeem voor Quake
in kleine letters moeten staan, om ze te kunnen vinden, dus mogelijk
moet je ze na het overbrengen, hernoemen. Merk ook op dat het nodig
zou kunnen zijn om de DOS/Win-installatie te verwijderen,
nadat je dit hebt gedaan, overeenkomstig de voorwaarden van de software licentie
van id. Het is mijn schuld niet als je iets illegaals doet.
Als je DOS/Win en Linux systemen niet op dezelfde machine voorkomen, heb je twee opties: kopieer de bestanden vanaf je DOS/Windows-partitie naar je Linuxpartitie, of maak vanuit Linux een koppeling naar de benodigde bestanden. Beide opties zullen even goed werken. Je bespaart zo ongeveer 50 megabytes diskruimte als je een koppeling aanmaakt in plaats van kopieert.
Waarvoor je ook kiest, begin met het cd'en naar je Quake-directory
en maak hierin een nieuwe directory aan met de naam id1
:
cd /usr/local/games/quake
mkdir id1
cp /win95/games/quake/id1/*.pak id1
cd id1
ln -s /win95/games/quake/id1/*.pak .
Vervang /win95/games/quake
door het juiste pad naar je
DOS/Windows partitie en Quake installatie-directory.
De Quake gegevensbestanden zijn nu geïnstalleerd. Ga verder met " Installeren van de Linux Binaries".
De single-episode shareware-versie van Quake is vrij verkrijgbaar voor download vanaf de ftp-site van id. Het heeft alle mogelijkheden van de volledige versie met een paar belangrijke beperkingen: Je kunt er geen QuakeWorld mee spelen, en je kunt geen aangepaste of gewijzigde niveaus spelen.
Het installeren van de shareware-versie van Quake is niet echt veel anders dan het installeren vanaf de CD.
Zie de sectie Download de Benodigde Bestanden voor de lokatie van de shareware-distributie. Download het en pak het uit naar je Quake directory:
cd /usr/local/games/quake
unzip -L /waar/je/het/plaatst/quake106.zip
Je hebt nu (temidden van anderen) een bestand met de naam
resource.1
dat een lha-archief is
(lha is een bestandscompressie- en archiefformaat zoals zip of tar).
We zullen het lha(1) commando gebruiken om het uit te pakken.
Als lha nog niet op je systeem is geïnstalleerd, kun je het
ophalen van
ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z.
lha e resource.1
Als lha klaar is, zullen er een aantal nieuwe bestanden in je Quake
directory staan. Er zal ook een directory met de naam id1
zijn
aangemaakt. De bestanden in deze directory zijn de enige die belangrijk
zijn voor Linux Quake, dus je kunt veilig al het andere verwijderen.
Als Quake totaal nieuw voor je is, of zelfs als dit niet zo is,
zou je je misschien willen vastklampen aan de *.txt
bestanden.
Op mijn systeem gooi ik alle readmes die zich opstapelen in een
doc/
directory. Dus:
cd /usr/local/games/quake
mkdir doc
mv *.txt doc
rm -f *
Nu ben je er klaar voor om de Linux binaries te installeren.
Beslis welke van de drie typen Quake je zou willen installeren:
Download de packages die je wilt hebben (zie de sectie Download de Benodigde Bestanden) en pak ze als volgt uit naar je Quake directory:
cd /usr/local/games/quake
tar -xzf XXXX-i386-unknown-linux2.0.tar.gz
Quake en QuakeWorld servers kunnen door iedere gebruiker worden gedraaid. De Quake-clients, hebben toegang tot je geluids- en grafische kaarten nodig, die privileges vereisen die normale gebruikers niet hebben. Een (slechte) manier om dit te doen is om Quake altijd als root uit te voeren. Verantwoordelijke systeembeheerders zullen ineenkrimpen bij dit smerige voorstel. Het setuid root maken van de Quake binaries is een acceptabelere oplossing. Quake kan dan door gewone gebruikers worden gedraaid en nog steeds de beschikking hebben over de privileges die het nodig heeft om de geluids- en grafische devices te benaderen. Setuid levert toch een beveiligingsrisico. Een slimme gebruiker zou een bug kunnen exploiteren door via het beveiligingslek in Quake root-toegang tot je systeem te verwerven. Natuurlijk is het mogelijk dat dit niet zo van belang is als je geen multi-user systeem gebruikt.
squake
is de enige Quake-client die rootpermissies
moet hebben.
Met een klein beetje werk, kun je de X- en GL-clients zonder setuid
draaien.
Draaien van X- en GL-spellen zonder setuid
in de Tips en Truuks sectie vertelt je hoe je ervoor kunt zorgen dat
dit werkt.
Als je van plan bent squake
te draaien, stel het dan met de
volgende commando's in als setuid root:
chown root squake
chmod 4755 squake
Als je besloten hebt dat het ok is om quake.x11
en
glquake
als setuid root op je systeem te draaien,
kun je de hierbovenstaande commando's net zo goed voor deze
binaries herhalen.
Als je de X11 client hebt geïnstalleerd, is het nu een goed moment
om het uit te proberen.
Het kan zijn dat je glquake
en squake
verder moet configureren, maar op dit punt zou quake.x11
gereed moeten zijn om mee van start te gaan.
cd /usr/local/games/quake
./quake.x11
Als alles goed is, zal er een klein Quake venster verschijnen met daarin de eerst draaiende demo. Je zou geluidseffecten en mogelijk muziek moeten horen, als je CD zich in de drive bevindt. Kijk alsjeblieft in de sectie Probleemoplossing voor hulp als iets ervan zich niet voordoet.
Zowel squake en glquake vereisen SVGAlib voor de uitvoering (glquake gebruikt SVGAlib om toetsenbord- en muisinvoer te verwerken, voor het geval je je dit afvraagt). SVGAlib zit bij de meeste moderne Linux distributies, en moet juist geconfigureerd zijn voordat squake of glquake correct zal draaien.
libvga.config
is het configuratiebestand van SVGAlib. Op de
meeste systemen zul je het in /etc
of in /etc/vga
kunnen vinden. Zorg ervoor dat de instellingen in dit bestand
voor de muis, monitor en videokaart voor je systeem juist zijn.
Zie de SVGAlib-documentatie voor meer details.
Als je SVGAlib nog niet op je systeem hebt, download het dan vanaf de hierboven genoemde lokatie genoemd in de bestanden sectie.
Zie Glibc, RedHat 5.x, Debian 2 overwegingen in de sectie Probleemoplossing/FAQ's voor belangrijke informatie over het compileren van libraries voor gebruik met Quake, als je een RedHat 5.x of andere op glibc gebaseerde Linux distributie hebt. Een voorgecompileerde libc5 SVGAlib binary is beschikbaar bij http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar.gz voor degene die niet het gedoe van het compileren voor libc5 willen.
Je zou squake vanaf een virtuele console moeten draaien. Het draait niet vanuit X tenzij je root bent als je het opstart. En een spel als de root-gebruiker draaien is iets dat zou moeten worden vermeden. Dus als je in X bent, doe een CTRL+ALT+F1, login en dan:
cd /usr/local/games/quake
./squake
Draaien van SVGA- en GL-spellen vanuit X in de Tips & Truuks sectie hieronder legt uit hoe SVGA en GL Quake vanuit X aan de gang te krijgen zonder handmatig naar een virtuele console te schakelen.
Hardware-accelerated OpenGL Quake is Quake zoals God het heeft bedoeld. Er is geen vervanging en zodra je het hebt ervaren is er geen weg meer terug.
Om glquake
te draaien, heb je een 3D kaart met de Voodoo,
Voodoo2 of Vodoo Rush grafische chipset erop nodig.
Er zijn specifieke zaken om rekening mee te houden
als je een Vodoo Rush kaart hebt, en ik zal er nu niet op ingaan omdat
ik eerlijk gezegd niet weet waar ik het over heb.
Een toekomstige versie van deze HOWTO zal Rush zaken behandelen
(Als iemand over Voodoo Rush zaken wil schrijven, zal ik het met
plezier hierbij insluiten).
De SVGAlib, Glide, en Mesa libraries moeten allen juist op je systeem
zijn geïnstalleerd en geconfigureerd om het met
glquake
te laten werken. De volgende secties zullen kort
behandelen wat je moet doen om ze aan de gang te krijgen.
Bernd Kreimeier's ( bk@gamers.org) Linux 3Dfx HOWTO ( http://www.gamers.org/dEngine/xf3D/howto/3Dfx-HOWTO.html) is een goede bron met verdere informatie.
De 3dfx.glide.linux nieuwsgroep over de 3dfx news server (news.3dfx.com) is een andere goede bron met informatie over de doorkruising met Linux, glide, Mesa en Quake.
glquake gebruikt SVGAlib om invoer van de muis en het toetsenbord te krijgen, dus je zult het zoals aangegeven in sectie SVGAlib Quake moeten configureren.
Glide is een library die voorziet in API voor het programmeren van op 3Dfx gebaseerde kaarten. Als je wilt dat de grafische library Mesa je 3Dfx kaart gebruikt, heb je het nodig.
Gebruik NIET de Linux Glide library die op de website van 3Dfx wordt gedistribueerd. Het is meer dan een jaar verouderd. Je zult problemen krijgen als je het probeert te gebruiken. De laatste versie van glide kan altijd worden gevonden bij http://glide.xxedgexx.com/3DfxRPMS.html. Kies de geschikte package(s) voor je systeem en installeer het overeenkomstig de instructies op de webpagina.
Merk op dat, tenzij je het 3Dfx device package als aanvulling op de
library Glide download, je de Glide applicaties (zoals GLQuake) alleen
als root kunt draaien. Installeer de
/dev/3dfx
module en je kunt GLQuake als een gewone
gebruiker spelen.
PentiumPro/Pentium II gebruikers hebben een extra motief voor het
downloaden van deze driver: het kan je herhalingsfrequentie enorm
verhogen. De driver activeert ondersteuning voor
MTRRs, een memory-caching mogelijkheid van deze CPU's. Zie
http://glide.xxedgexx.com/MTRR.html
voor een betere uitleg over deze mogelijkheid.
Zodra je glide hebt geïnstalleerd, probeer dan het testprogramma uit dat wordt meegeleverd. Vergeet dit programma niet: het is een goede manier om je display te resetten als je ooit een glide applicatie hebt (zoals GLQuake) dat crasht en je scherm uitgeschakeld achterlaat. OPMERKING: draai deze test vanaf een VC, NIET vanuit X! Het is mogelijk dat bij de test app hun muis en toetsenbord focus in X verliezen, en dan is er geen mogelijkheid om het af te sluiten.
/usr/local/glide/bin/test3Dfx
Als het goed is, kleurt je scherm blauw en meldt je een toets in te drukken. Nadat je een toets hebt ingedrukt zou je terug moeten keren naar de prompt. 3dfx.glide.linux op 3dfx's news server (news.3dfx.com) is een geweldige bron met informatie voor Linux glide-specifieke problemen.
Zodra glide is geïnstalleerd, zul je Mesa moeten installeren, een vrije OpenGL implementatie door Brian Paul (brianp@elastic.avid.com). Gelukkig hoef je niet ver te zoeken, want Mesa 2.6 wordt met de uitvoerbare bestanden van QLQuake & Quake meegeleverd. Het enige wat je moet doen is het naar de juiste plek te verplaatsen:
cd /usr/local/games/quake
cp libMesaGL.so.2.6 /usr/local/lib
ldconfig
De RedHat distributie wordt standaard met een (IMO) gebrekkige ld.so
configuratie geleverd. /usr/local/lib
maakt standaard geen
onderdeel uit van het zoekpad van ld.so
dus alles dat je daarin installeert zal niet worden gebruikt.
Je kunt deze situatie verhelpen door de regel /usr/local/lib
toe te voegen aan het bestand /etc/ld.so.conf
, of
/usr/local/lib
toe te voegen aan je
$LD_LIBRARY_PATH
. Als alternatief zou je alle nieuwe
libraries op een bepaalde plaats zoals
/lib
kunnen installeren, maar deze benadering gaat ernstig
tegen mijn propere natuur in.
Als je Mesa naar een recentere versie wilt upgraden (tijdens dit schrijven is Mesa 3.0 de recentste versie) kun je de laatste versie downloaden vanaf ftp://iris.ssec.wisc.edu/pub/Mesa Zie Glibc, RedHat 5.x, Debian 2 overwegingen in de sectie Probleemoplossing/FAQ's voor belangrijke informatie over het compileren van libraries voor Quake, als je een RedHat 5.x of andere op glibc gebaseerde distributie hebt.
Nadat je het overeenkomstig de instructies hebt gebouwd, zul je twee dingen moeten doen:
libMesaGL.so.2.6
installeerde zoals hierboven beschreven,
moet je het verwijderen, anders kan het zijn dat Quake de nieuwe versie
niet gebruikt.
cd /usr/local/lib/
rm -f libMesaGL.so.2*
libMesaGL.so.2
naar aanmaken:
cd /usr/local/lib/
ln -s /waar/je/het/hebt/geinstalleerd/libMesaGL.so.3.0 libMesaGL.so.2
ldconfig
Schakel nu over naar een VC (CTRL+ALT+F1) en start glquake.
cd /usr/local/games/quake
./glquake
Deze sectie behandelt commando-regel opties die specifiek zijn voor de Linux versies van Quake. Er zijn andere Quake opties in overvloed, maar die liggen buiten de grenzen van deze HOWTO. Probeer voor dergelijke informatie een aantal van de sites uit die in de sectie Algemene Quake Informatie worden opgesomd.
Wijs geheugen toe in megabytes (de standaardwaarde is 8MB, wat voor de meeste benodigheden prima is).
Geen uitvoer naar stdout. Gebruik dit als je niet wilt dat alle console uitvoer naar je terminal wordt gedumpt.
Mouse device, standaardwaarde is /dev/mouse
Snelheid van de muis, standaardwaarde is 1200
CD device, standaardwaarde is /dev/cdrom
Gebruik opgegeven video mode (alleen squake)
Toetsenbord niet initialiseren
Stel sound bit sample size in. Standaardwaarde is 16 als dit wordt ondersteund.
Stel geluidssnelheid in. Gebruikelijke waarden zijn 8000, 11025, 22051 en 44100. Standaardwaarde is 11025.
Stel mono-geluid in
Stel stereo-geluid in (dit is de standaard als het wordt ondersteund)
http://www.quakeworld.net zegt het beter dan ik zou kunnen:
QuakeWorld is een Internet multi-player specifieke versie van Quake. Ondanks dat de originele versie van Quake over het Internet gespeeld kan worden, hadden modem gebruikers - de meerderheid van de spelers, minder dan een voldoening gevend spel. Symptomen zoals buitensporig achterblijven - acties die in werkelijkheid veel later plaatsvonden dan wanneer je ze deed; verlies van pakketjes - het spel zou blijven hangen en verscheidene seconden later verdergaan; en diverse andere moeilijkheden plaagde de gebruikers. Nadat hij realiseerde hoeveel mensen Quake op het internet speelde en hoeveel dit wilde, maar dit niet konden te wijten aan het ongenoegen bij het spel, besloot John Carmack van id Software een versie Quake te maken die voor de gemiddelde modem Internet speler werd geoptimaliseerd. Deze Internet specifieke versie doet slechts 1 ding, deathmatch spelen via een TCP/IP netwerk zoals het Internet. Het geeft geen ondersteuning voor solo spel, en je kunt er niets mee zonder verbinding naar een speciale server.
Je hebt de volledige, geregistreerde of de in de detailhandel verkrijgbare versie van Quake nodig om QuakeWorld te kunnen spelen, en een Linux QuakeWorld client. QuakeWorld clients zijn er in dezelfde soorten (X11, SVGAlib en Mesa) als de gewone Quake, maar ze zijn allen in één package gebundeld, dus je hoeft alleen één bestand te downloaden. Je hebt echter vier packages om uit te kiezen:
Installeer slechts één van deze packages. Elk bevat dezelfde bestanden, ze worden slechts gekoppeld met verschillende libraries. Redhat 5.x gebruikers zouden moeten kiezen voor het glibc rpm package. Gebruikers van op glibc gebaseerde systemen zonder rpm ondersteuning zouden het glibc tar packages moeten gebruiken. De libc5 rpm is voor Redhat distributies van voor 5.0 en andere distributies die gebruik maken van het rpm package formaat. De libc5 tar.gz package is voor Slackware en alle anderen.
Zie de sectie Download de Benodigde Bestanden voor de lokatie van de Linux Quakeworld bestanden.
De benodigdheden en configuratie voor deze binaries zijn hetzelfde als voor Quake, dus raadpleeg de voorgaande secties voor hulp bij het instellen van SVGAlib voor glide/Mesa.
Installatie van de rpm packages zou zo simpel moeten zijn als:
su root
rpm -Uvh qwcl-xxxxx.i386.rpm
qwcl
, glqwcl
en glqwcl.glx
zullen setuid
root worden geïnstalleerd zodat ze de grafische devices op je
systeem kunnen benaderen.
De X- en GL-clients kunnen zonder rootprivileges worden gedraaid als je
de volgende instructies in
Draaien van X- en GL-spellen zonder setuid
hieronder opvolgt.
Het kan zijn dat rpm een melding geeft dat het libglide2x.so
niet kan vinden. De library Glide
is alleen nodig als je een 3Dfx kaart hebt en Quakeworld in GL-mode
(glqwcl
) wilt draaien. Als je niet van
plan bent om de GL-mode te gebruiken, kun je de afhankelijkheid van glide
overschrijven met de --nodeps
optie:
su root
rpm -Uvh qwcl-xxxxx.i386.rpm --nodeps
Untar gewoon het bestand in je Quake directory om het te installeren. Doe dit als root zodat de juiste bestandspermissies worden ingesteld:
cd /usr/local/games/quake
su root
tar -xzf qwcl2.21-i386-unknown-linux2.0.tar.gz
qwcl
, glqwcl
en glqwcl.glx
zullen setuid
root worden geïnstalleerd zodat ze de grafische devices op
je systeem kunnen benaderen.
De GL- en X-clients kunnen zonder rootprivileges worden gedraaid als
je de instructies
in
Draaien van X- en GL-spellen zonder setuid
hieronder opvolgt.
Zodra QuakeWorld te midden van je Quake bestanden is geïnstalleerd, kun je het opstarten met:
./qwcl +connect some.server.address
Zie de sectie Gerelateerde Software voor info over een aantal front-ends voor QuakeWorld die het makkelijk maken servers te vinden.
lib3dfxgl.so
is een mini-GL driver geoptimaliseerd
voor Quake die in wat betere herhalingsfrequenties voorziet dan Mesa.
Dit is een port van een driver die 3Dfx voor Quake onder Windows
ontwikkelde, en blijkbaar werken nog niet alle mogelijkheden correct.
Dus hopelijk kunnen we verwachten dat zijn performance met de tijd zal
verbeteren.
Net als Mesa, vereist lib3dfxgl.so
Glide om toegang te kunnen
krijgen tot je 3Dfx kaart.
Met de Quakeworld packages wordt een script meegeleverd,
glqwcl.3dfxgl
voor het draaien van Quakeworld met deze
library op glibc systemen. De volgende paragraaf legt uit hoe je
Quakeworld met lib3dfxgl.so
op een libc5 systeem draait.
Om dit script werkend te krijgen op een glibc systeem
moet het uitvoerbare bestand glqwcl
niet setuid zijn, noch zou je het als root moeten draaien.
glqwcl
zal in stilte Mesa laden in plaats van
lib3dfxgl.so
als het met root permissies wordt opgestart. Deze
niet-root vereiste gaat ervan uit dat je de /dev/3dfx
hebt geïnstalleerd.
Op een libc5 systeem, zul je als volgt een symbolische koppeling naar
lib3dfxgl.so
met de naam libMesaGL.so.2
aan moeten maken:
cd /usr/local/games/quake
ln -sf lib3dfxgl.so libMesaGL.so.2
Start vervolgens Quakeworld vanuit het script waarin
$LD_LIBRARY_PATH
aangeeft in de huidige directory te kijken:
#!/bin/sh LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./glqwcl $*
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
Als GL_VENDOR
Brian Paul
aangeeft in plaats van
3Dfx Interactive Inc.
, dan wil dat zeggen dat Mesa nog steeds
wordt gebruikt in plaats van de miniport-driver.glqwcl.glx
is verbonden met de standaard OpenGL-libraries
in plaats van met Mesa. Dit staat Quakeworld toe op andere 3D hardware
te draaien die door andere OpenGL-implementaties wordt ondersteund.
Voor dit moment, ben ik niet bekend met enige OpenGL-implementaties
die andere hardware dan 3Dfx ondersteunen, maar deze renderer
geeft de waarborg dat als ze verschijnen, we in staat zullen zijn
om er Quakeworld mee te spelen.
Gebruik van de GLX-interface verwijdert ook GL Quake II's afhankelijkheid
van SVGAlib voor de toetsenbord- en muisinvoer.
Dit is een GLX-applicatie en moet als zodanig vanuit X worden uitgevoerd.
Je kunt deze client met Mesa/3Dfx gebruiken als je Mesa en Glide
installeert zoals uitgelegd in de voorgaande sectie,
stel vervolgens de omgevingsvariabele
$MESA_GLX_FX
in op "fullscreen" voordat je quake2
opstart:
export MESA_GLX_FX=fullscreen
./glqwcl.glx +_windowed_mouse 1
Waarom de optie +_windowed_mouse 1
? Denk eraan dat dit een
X-applicatie is, die gebruik maakt van je 3Dfx-kaart.
Zelfs al neemt het beeld je hele scherm in beslag,
Quakeworld draait nog steeds in een venster.
Dit betekent dat als je niet
zeer voorzichtig bent, je de muisaanwijzer buiten het Quakeworld
venster zou kunnen verplaatsen en Quakeworld zal plotseling niet meer
reageren op muis- en toetsenbordinvoer.
+_windowed_mouse 1
voorkomt dit probleem door
glqwcl.glx
de muis ver voor te zijn en het niet toe te staan
dat het zich buiten het venster begeeft.De meeste, zo niet alle, bestaande informatie over het draaien van een DOS/Windows QW server is gelijk toepasbaar voor het draaien van een Linux server.
Om een QuakeWorld server op te starten, doe je gewoon:
./qwsv
Het officiële QuakeWorld serverhandboek is te vinden bij http://qwcentral.stomped.com.
Een van de zeer gave dingen van de Quake spellen is dat de auteurs ze makkelijk uitbreidbaar maakte. Eindgebruikers kunnen hun eigen niveaus aanmaken, nieuwe wapens of monsters toevoegen, of zelfs de regels van het spel volledig wijzigen.
Dit is mijn favoriete variatie van zowel Quake als Quake 2. In plaats van slechts rond te rennen en iedereen die je tegenkomt te doden (wat beslist zijn verdiensten heeft, begrijp me niet verkeerd!), is CTF op een team gebaseerd en strategischer. Dave 'Zoid' Kirsch, tevens beheerder van de Linux Quake ports, maakte deze aanpassing.
Alles wat je aan kennis nodig hebt over CTF kan worden gevonden bij
http://captured.com/threewave/ Je hebt
ftp://ftp.cdrom.com/pub/quake/planetquake/threewave/ctf/client/3wctfc.zip
nodig om te spelen.
Om het client-onderdeel van CTF te installeren, maak je eenvoudigweg
een directory aan met de naam
ctf
in je Quake directory en unzipt daarin het bestand
3wctfc.zip
. Het bijbehorende bestand readme.txt
staat
boordevol goede informatie.
cd /usr/local/games/quake
mkdir ctf
cd ctf
unzip -L /wherever/you/put/it/3wctfc.zip
Zie de hierboven genoemde webpagina's voor informatie over het draaien van een CTF server.
Activision gaf twee pakketjes met uitbreidingen voor Quake uit met daarin extra niveaus, Scourge of Armagon en Dissolution of Eternity.
/mnt/cdrom
is gemount en Quake
in /usr/local/games/quake
is geïnstalleerd:
cd /usr/local/games/quake
mkdir hipnotic
cp /mnt/cdrom/hipnotic/pak0.pak hipnotic
cp /mnt/cdrom/hipnotic/config.cfg hipnotic
Start als volgt mission pack:
cd /usr/local/games/quake
./quake.x11 -game hipnotic
config.cfg
stap over, aangezien dit
bestand niet op de Mission Pack 2 CD voorkomt.
Zou iemand wat info willen bijdragen over gcc, bsp en dat soort zaken?