Linux Quake HOWTO

Bob Zimbinski ([email protected]), Brett A. Thomas ([email protected]), en Mike Hallock ([email protected]), Vertaald door Ellen Bokhorst, [email protected]

v1.0.1.18, 18 December 1998


Dit document legt uit hoe Quake, QuakeWorld en Quake II op een Intel Linux systeem te installeren, draaien en problemen op te lossen.

1. Introductie

Quake, QuakeWorld en Quake II zijn waanzinnig populaire 3D actie spellen ontwikkeld door id Software.

Als je niet bekend bent met de Quake spellen, zijn er betere plaatsen dan deze HOWTO om de basis te leren. Zie de sectie Andere Bronnen met Informatie onderaan voor een lijst met een aantal van deze betere plaatsen.

Dit document gaat ervan uit dat je Linux voor het Intel platform beschikbaar en draaiend hebt, en in een aantal gevallen ook het X-Window Systeem. X is niet vereist om deze spellen te draaien, maar het is een prettige manier om een basisinstallatie te testen. Als je X niet draait, kun je de verwijzingen ernaar veilig overslaan.

De secties van dit document die in de laatste revisie werden bijgewerkt, hebben een ** achter de kop van de sectie. De secties bijgewerkt voorgaand aan de laatste revisie zijn gemarkeerd met een ++.

1.1 Feedback, Commentaar, Correcties

Dit document bevat beslist niet alles wat er over Linux Quake valt te weten. We kunnen het echter met je hulp dichter bij dat ideaal brengen. We willen dat deze HOWTO zo compleet en nauwkeurig mogelijk is, dus als je fouten of weglatingen opmerkt, breng deze dan alsjeblieft onder onze aandacht.

Vragen, commentaar, of correcties zouden moeten worden gezonden naar Bob Zimbinski ( [email protected]) of Mike Hallock ( [email protected]). Opbouwende kritiek is welkom. Uitbarstingen niet.

1.2 Andere Formaten van Dit Document

Dit document is beschikbaar in een verscheidenheid aan verschillende formaten. Veel meer dan nodig is, eigenlijk. Je kunt ze vinden bij http://www.linuxquake.com/howto/other-formats.

1.3 Erkenningen

De originele versie van dit document werd geschreven door Brett A.Thomas ([email protected]) en Mike Hallock ([email protected]). Bob Zimbinski ([email protected]) herschreef het originele document en breidde het voorafgaande aan z'n eerste publieke uitgave uit.

Speciale dank gaat uit naar de volgende mensen voor het uitgeven van Quake voor Linux:

Dank aan de volgende mensen voor de contributies aan deze Howto:

1.4 Andere Bronnen met Informatie

Linux Specifieke Quake Informatie

Algemene Quake Informatie

Linux Spel Informatie ++

2. Quake/Quakeworld

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.

2.1 Minimumvereisten

Je zult, als een absoluut minimum, het volgende nodig hebben:

Optioneel:

2.2 Installeren van Quake

Download de Noodzakelijke Bestanden

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:

Maak de Installatie Directory aan ++

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 rpms 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

Installeren Vanaf een Quake CD

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

Dat is 't voor het installeren vanaf de CD. Je kunt nu verdergaan met de sectie " Installeren van de Linux Binaries".

DOS/Windows naar Linux Installatie

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

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".

Shareware Versie Installatie

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.

2.3 Toevoegen van de Linux Binaries

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

2.4 Instellen van Permissies

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.

2.5 X11 Quake

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.

2.6 SVGAlib Quake

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.

2.7 GLQuake

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 ( [email protected]) 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.

SVGAlib

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 ++

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.

Mesa

Zodra glide is geïnstalleerd, zul je Mesa moeten installeren, een vrije OpenGL implementatie door Brian Paul ([email protected]). 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:

Schakel nu over naar een VC (CTRL+ALT+F1) en start glquake.

cd /usr/local/games/quake
./glquake

2.8 Linux-Specifieke Commando-regel Opties

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.

-mem num

Wijs geheugen toe in megabytes (de standaardwaarde is 8MB, wat voor de meeste benodigheden prima is).

-nostdout

Geen uitvoer naar stdout. Gebruik dit als je niet wilt dat alle console uitvoer naar je terminal wordt gedumpt.

-mdev device

Mouse device, standaardwaarde is /dev/mouse

-mrate speed

Snelheid van de muis, standaardwaarde is 1200

-cddev device

CD device, standaardwaarde is /dev/cdrom

-mode num

Gebruik opgegeven video mode (alleen squake)

-nokdb

Toetsenbord niet initialiseren

-sndbits 8 of 16

Stel sound bit sample size in. Standaardwaarde is 16 als dit wordt ondersteund.

-sndspeed speed

Stel geluidssnelheid in. Gebruikelijke waarden zijn 8000, 11025, 22051 en 44100. Standaardwaarde is 11025.

-sndmono

Stel mono-geluid in

-sndstereo

Stel stereo-geluid in (dit is de standaard als het wordt ondersteund)

2.9 QuakeWorld

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.

Installeren van de RPM packages

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

Installeren van de tar.gz packages

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.

Draaien van QuakeWorld

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.

2.10 Servers

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.

2.11 Aanpassingen & Uitbreidingen

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.

Capture the Flag

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.

Mission Packs

Activision gaf twee pakketjes met uitbreidingen voor Quake uit met daarin extra niveaus, Scourge of Armagon en Dissolution of Eternity.

Quake Tools

Zou iemand wat info willen bijdragen over gcc, bsp en dat soort zaken?

3. Quake II

Om Quake II op je systeem te installeren zul je een bepaald type van de officiéle Quake II distributie van id nodig hebben. Dit zal ofwel de in de detailhandel verkrijgbare Windows CD-ROM zijn die je bij je favoriete software winkel kocht, of de demo-versie die je van het net hebt gedownload. Zie Download de Benodigde Bestanden voor details over het verwerven van de demo-versie. Als alternatief kun je, als je Quake reeds op een Windows computer hebt geïnstalleerd, de relevante bestanden van die installatie gebruiken.

3.1 Basisbenodigdheden

Je zult als een absoluut minimum het volgende nodig hebben:

Optioneel:

3.2 Installeren van Quake II

Download de Benodigde Bestanden++

Alle benodigde bestanden voor Linux Quake II zijn beschikbaar vanaf de ftpsite van id Software, ftp.idsoftware.com. Deze site kan nogal druk zijn op bepaalde tijden dus misschien wil je daarvoor in de plaats één van de volgende mirrors gebruiken:

De Quake II bestanden waarnaar in deze sectie wordt verwezen zijn:

Andere genoemde software:

Maak de Installatie Directory aan ++

Het eerste wat je moet doen is beslissen waar je Quake II wilt installeren. De "standaard" lokatie is /usr/local/games/quake2. Hier plaatsen de .rpm packages Quake II. Als je ervoor kiest om het ergens anders te installeren, vervang /usr/local/games/quake2 dan bij iedere verwijzing door het juiste pad.

Dus ga je gang en maak de directory aan waarin je Quake II wilt installeren, en cd ernaar. In de rest van deze instructies zal ervan uit worden gegaan dat dit je huidige directory is.

mkdir /usr/local/games/quake2
cd /usr/local/games/quake2

Installeren vanaf CD

Plaats je Quake II CD in je CD ROM drive, en mount 't:

mount -t iso9660 /dev/cdrom /mnt/cdrom

Als je CDROM elders is gemount, vervang zijn lokatie dan door /mnt/cdrom. Als je niet zeker weet waar je CDROM is gemount, kijk dan alsjeblieft in de documentatie van je persoonlijke distributie.

Windows naar Linux installatie

Als je Quake II onder Windows op een andere computer hebt geïnstalleerd, kun je de bestanden in quake2\baseq2\ overbrengen naar je Linux systeem via FTP of een ander mechanisme. Hou in gedachten dat de bestanden op je Linux systeem in kleine letters moeten staan voor Quake II om ze te kunnen vinden, dus het kan zijn dat je ze na het overbrengen moet hernoemen. Merk ook op dat het nodig kan zijn om je Windows-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 Windows- en Linux-systemen zich op dezelfde computer bevinden, heb je twee opties: kopieer de bestanden vanaf je Windows-partitie naar je Linux partitie, of maak een koppeling vanuit Linux naar de benodigde bestanden. Beide opties zullen even goed werken. Je zult een heleboel diskruimte besparen als je een koppeling aanmaakt in plaats van kopieert. Vervang zoals gewoonlijk /win95/games/quake2 in de volgende voorbeelden door het juiste pad naar je Windows-partitie en Quake II installatie.

Je bent klaar met het installeren van de Quake II gegevensbestanden. Ga verder met " Installeren van de Linux Binaries".

Installeren van de demo-versie

id Software heeft een vrij-verkrijgbare demo-versie van Quake II op hun ftp-site. Het is een download van 40 megabyte. De demo bevat alle mogelijkheden van de volledige versie, inclusief multiplayer, maar het heeft slechts drie niveaus, dus het kan moeilijk zijn om een server te vinden om op te spelen.

Zie de sectie Download de Benodigde Bestanden hierboven voor de lokatie van de Quake II demo. Download het en plaats het in je Quake II directory.

De demo-distributie is een zelf-uitpakkend zip bestand (het is in ieder geval in andere Os'sen zelfuitpakkend). Je kunt het uitpakken met het unzip(1) commando, dat zou moeten zijn meegeleverd met de meeste moderne distributies. Als je unzip niet hebt, kun je het downloaden vanaf de lokatie genoemd in de sectie Download de Benodigde Bestanden.

cd naar je Quake II directory en pak het archief uit:

cd /usr/local/games/quake2
unzip q2-314-demo-x86.exe

Nu moeten we een aantal zaken verwijderen en een aantal andere zaken verplaatsen:

rm -rf Splash Setup.exe
mv Install/Data/baseq2 .
mv Install/Data/DOCS docs
rm -rf Install
rm -f baseq2/gamex86.dll

De Quake II demo is nu geïnstalleerd. Je hoeft slechts de Linux uitvoerbare bestanden nog toe te voegen.

3.3 Toevoegen van de Linux Binaries

Er zijn vier Linux Quake II packages beschikbaar voor download:

Installeer slechts één van deze packages. Elk bevat dezelfde bestanden, ze zijn slechts met andere libraries gekoppeld. Redhat 5.x gebruikers zouden het glibc rpm package moeten kiezen. Gebruikers van op glibc gebaseerde systemen zonder rpm ondersteuning zouden het glibc tar package moeten gebruiken. De libc5 rpm is voor Redhat distributies van voor 5.0 en andere distributies die het rpm package formaat gebruiken. Het libc5 tar.gz package is voor Slackware en alle anderen.

Zie de sectie Download de Benodigde Bestanden voor de lokatie van de Linux Quake II bestanden.

Installeren van de RPM packages

Installatie van de rpm packages zou zo eenvoudig moeten zijn als:

su root
rpm -Uvh quake2-xxxxx.i386.rpm

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 Quake II in GL-mode wilt draaien. Als je niet van plan bent om de GL-mode te gebruiken, kun je de glide afhankelijkheid overschrijven met de --nodeps optie:

su root
rpm -Uvh quake2-xxxxx.i386.rpm --nodeps

Installeren van de tar.gz packages

Untar het bestand in je Quake II 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

3.4 Instellen van Permissies

Als je bij het installeren van de Quake II packages installatie rpm of tar als root uitvoerde, zouden de permissies reeds juist moeten zijn ingesteld. Het uitvoerbare bestand quake2 werd setuid root geïnstalleerd zodat het de grafische devices op je systeem kan benaderen. Voor beveiliging is root de eigenaar van de ref_*.so rendering libraries en kunnen ze alleen door root worden beschreven. Als root niet de eigenaar van de libraries is of als ze door iedereen te beschrijven zijn, dan zal quake2 weigeren op te starten.

Als je van plan bent om Quake II met de GL- of X-renderers te draaien, is het niet nodig dat quake2 setuid root wordt ingesteld. Zie Draaien van X- en GL-spellen zonder setuid in de sectie Tips en Truuks hieronder voor meer informatie over het draaien van Quake II zonder root-permissies.

Quake2.conf

Om beveiligingsredenen, bestaat er een quake2.conf bestand, waarin staat waar Quake II de rendering libraries (ref_*.so) kan vinden. Het bevat slechts één regel, wat het pad naar je Quake II installatie aan zou moeten geven. Quake II zoekt dit bestand op in /etc. Als je Quake II vanuit een .rpm bestand installeerde, is dit bestand al voor je geïnstalleerd. Als je vanuit een .tar package installeerde, zul je er als volgt een koppeling naar aan moeten maken:

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

3.5 De X Renderer

Quake II zou nu gereed moeten zijn voor uitvoering onder X. Probeer het eens uit:

cd /usr/local/games/quake2
./quake2 +set vid_ref softx

Als alles goed is, zal er na een nogal veelbetekenende onderbreking, een klein Quake II venster met daarin de eerste demo verschijnen. Je zou geluidseffecten en eventueel muziek moeten horen als je CD zich in de drive bevindt. Als iets ervan niet werkt, kijk dan alsjeblieft in de sectie Probleemoplossing voor hulp.

3.6 De SVGAlib Renderer ++

SVGAlib moet geïnstalleerd en geconfigureerd zijn als je de ref_soft of ref_gl renderers gaat gebruiken.

(Quake II gebruikt SVGAlib voor de verwerking van toetsenbord- en muisinvoer, voor het geval je je afvraagt waarom je dit voor de GL-renderer nodig zou hebben). SVGAlib wordt met de meeste moderne distributies meegeleverd, en moet juist zijn geconfigureerd voordat Quake II goed zal draaien buiten X.

libvga.config is het configuratiebestand van SVGAlib. Op de meeste systemen zul je het in /etc of /etc/vga kunnen vinden. Zorg ervoor dat de muis, monitor en videokaart instellingen in dit bestand goed zijn voor je systeem. Zie de SVGAlibdocumentatie voor meer details.

Als je SVGAlib nog niet op je systeem hebt, download het dan vanaf de lokatie in de hierbovengenoemde sectie bestanden.

Je zou Quake II vanuit een virtueel console uit moeten voeren als je de ref_soft of ref_gl renderers gebruikt. Het zal niet vanuit X draaien, tenzij je root bent als je het opstart, en dat is niet aan te raden. Dus als je je in X bevindt, druk dan op CTRL+ALT+F1, login en tik vervolgens in:

cd /usr/local/games/quake2
./quake2 +set vid_ref soft

Draaien van SVGA- en GL-spellen vanuit X in de sectie Tips & Truuks hieronder legt uit hoe SVGA en GL Quake II vanuit X kunnen worden opgestart zonder handmatig naar een virtueel console te schakelen.

3.7 De OpenGL Renderer

Hardware-accelerated OpenGL Quake is Quake zoals God het bedoeld heeft. Er is geen vervanging en zodra je er ervaring mee hebt, is er geen weg terug.

Om Quake II in GL-mode te draaien, heb je een 3D-kaart met de Voodoo, Voodoo2 of Voodoo Rush grafische chipset erop nodig. Er zijn specifieke zaken om rekening mee te houden als je een Voodoo Rush kaart hebt en ik zal er hier niet op ingaan omdat ik eerlijk gezegd niet zou weten 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 hier invoegen).

De SVGAlib, Glide, en Mesa libraries moeten allen juist op je systeem zijn geïnstalleerd en geconfigureerd om quake2 werkend te krijgen. De volgende secties zullen zeer kort behandelen wat je nodig hebt om het aan de gang te krijgen.

De Linux 3Dfx HOWTO ( http://www.gamers.org/dEngine/xf3D/howto/3Dfx-HOWTO.html) van Bernd Kreimeier's ( [email protected]) is goede bron voor 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.

SVGAlib

Quake II gebruikt SVGAlib om invoer van de muis en het toetsenbord te krijgen, dus je zult het moeten configureren zoals aangegeven in de sectie SVGAlib Renderer.

Glide ++

Glide is een library die voorziet in een 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 er problemen van ondervinden, 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 Quake II) alleen als root kunt draaien. Installeer de /dev/3dfx module en je kunt Quake II 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 Quake II) 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.

Mesa **

Zodra glide is geïnstalleerd, zul je Mesa moeten installeren, een vrije OpenGL-implementatie door Brian Paul ([email protected]). Gelukkig hoef je niet ver te zoeken, want Mesa 2.6 wordt met de uitvoerbare bestanden van Quake II meegeleverd. Het enige wat je moet doen, is het naar de juiste plek verplaatsen:

cd /usr/local/games/quake2
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 daar zult installeren, zal niet worden gebruikt. Je kunt deze situatie verhelpen door de regel /usr/local/lib toe te voegen aan je /etc/ld.so.conf bestand, of /usr/local/lib toe te voegen aan je $LD_LIBRARY_PATH. Als alternatief zou je alle nieuwe libraries ergens zoals in /lib kunnen installeren, maar deze benadering gaat tegen mijn propere natuur in.

Als je Mesa naar een recentere versie wilt upgraden (Mesa 3.0 is tijdens dit schrijven 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 Linux distributie hebt.

Nadat je het overeenkomstig de instructies hebt gebouwd, zul je twee dingen moeten doen:

lib3dfxgl.so **

Met Quake II versie 3.19, is er een alternatief voor de library Mesa beschikbaar. lib3dfxgl.so is een mini-GL driver geoptimaliseerd voor Quake die in betere herhalingsfrequenties voorziet dan Mesa. Dit is een port van een driver die 3Dfx voor Quake onder Windows ontwikkelde. Het wordt meegeleverd met het Quake II package, en er is geen enkele reden waarom je het niet zou moeten gebruiken.

Net als Mesa, vereist lib3dfxgl.so dat de library Glide is geïnstalleerd om je 3Dfx kaart te benaderen.

Kiezen van een GL-driver **

Met versie 3.20, is het gebruiken van deze driver in plaats van Mesa veel gemakkelijker dan het voorheen was. Er is een nieuwe CVAR, gl_driver die je instelt om aan te geven welke GL-driver quake2 zou moeten gebruiken. Doe het volgende om het met de lib3dfxgl.so driver te draaien:

./quake2 +set vid_ref gl +set gl_driver lib3dfxgl.so 

Om het met Mesa te draaien doe je:

./quake2 +set vid_ref gl +set gl_driver libMesaGL.so

Merk op dat de .so bestanden waarnaar je refereert voor moeten komen in je quake2 directory. Een symbolische koppeling is prima als, laten we zeggen, je library Mesa in /usr/local/lib staat en je geen twee kopieën in omloop wilt hebben.

3.8 De GLX-Renderer ++

ref_glx.so is gekoppeld met de standaard OpenGL-libraries in plaats van met Mesa. Hierdoor wordt het mogelijk Quake II op andere 3D hardware te draaien, die door andere OpenGL-implementaties wordt ondersteund. Op dit moment ben ik niet bekend met enige OpenGL-implementaties die andere hardware dan 3Dfx ondersteunen, maar deze renderer verzekert ons ervan dat als ze verschijnen, we er Quake II mee kunnen spelen.

Het gebruik van de GLX-interface verwijdert ook Quake II's afhankelijkheid van SVGAlib voor de toetsenbord- en muisinvoer.

Dit is een GLX-applicatie, en die moet als zodanig vanuit X worden uitgevoerd.

Je kunt deze client draaien met Mesa/3Dfx als je Mesa en Glide installeert zoals in de voorgaande sectie is uitgelegd, stel vervolgens de $MESA_GLX_FX omgevingsvariabele in op "fullscreen" voordat je quake2 opstart:

export MESA_GLX_FX=fullscreen
./quake2 +set vid_ref glx +set _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.

3.9 Linux-Specifieke Commando Regel Opties

Deze sectie behandelt commando-regel opties die specifiek zijn voor de Linux versies van Quake II. Er zijn andere Quake II 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.

Dit zijn eigenlijk cvars (clientvariabelen) die je in de Q2 console in kunt stellen, maar het is het verstandigst om ze op de commando-regel in te stellen. Stel ze als volgt in op de commando-regel met +set:

./quake2 +set cd_dev /dev/hdc

cd_dev device

Naam van het CD-ROM device.

nocdaudio value

De-activeer CD audio als value ongeljk aan nul is

sndbits num

Stel sound bit sample size in. De standaardwaarde is 16.

sndspeed num

Stel sound sample speed in. Gebruikelijke waarden zijn 8000, 11025, 22051 en 44100. Als ingesteld op nul, dan zorgt dit ervoor dat de geluidsdriver snelheden in de volgende volgorde uitprobeert: 11025, 22051, 44100, 8000.

sndchannels num

Geeft stereo- of monogeluid aan. Standaard op 2 (stereo). Gebruik 1 voor mono.

nostdout value

Geen enkele uitvoer naar stdout. Gebruik dit als je niet wilt dat alle console uitvoer naar je terminal wordt gedumpt.

3.10 Quake II Servers ++

De kracht van Linux als een internetserver maakt het een perfect platform voor het draaien van een internet Quake II server. Deze sectie zal de basis en Linux-specifieke aspecten over het aanzetten van een Quake II server aanroeren. Probeer http://www.3dgw.com/hellsgates/serverguide.htm voor meer gedetailleerde Quake II server setup informatie.

Listen Servers

Je kunt een Quake II "Listen" server vanuit het spel via het Multiplayer menu opstarten. Dit staat je toe om een spel te hosten en er tegelijkertijd aan deel te nemen.

Om een Listen server te starten, start je Quake II, open je het Quake II menu met de ESC-toets, en selecteert Multiplayer. Vandaaruit zou het redelijk zelfuitleggend moeten zijn.

Dedicated Servers

Voor een permanente stand-alone Quake II server, die zonder constant toezicht moet kunnen draaien, is het gebruiken van een Listen server niet praktisch. Quake II heeft een Dedicated servermode die voor een dergelijk gebruik beter geschikt is. Een dedicated server wordt vanaf de commando-regel opgestart en maakt van minder systeembronnen gebruik dan een Listen server omdat het het grafische clientgedeelte helemaal niet opstart.

Om een dedicated server op te starten, gebruik je de commando-regel optie +set dedicated 1. Je kunt aanvullende serverparameters op de commando-regel of in een configuratiebestand instellen die je op de commando-regel met de optie +exec uitvoert. Je configuratiebestand zou in de bascq2 directory moeten komen te staan.

Een paar algemene server-opties staan hieronder opgesomd. Om opties op de commando-regel op te geven, doe je +set fraglimit 30. Opties worden op dezelfde manier in een configuratiebestand ingesteld, je plaatst dan alleen het +-teken niet voor de set. Roep je configuratiebestand als volgt aan: +exec server.cfg.

fraglimit

Aantal vereiste frags voordat de map wijzigt

timelimit

Tijdsduur in minuten die voorbij moeten gaan alvorens de map wijzigt

hostname

De naam van je Quake II server. Dit is een willekeurige reeks tekens en heeft niets te maken met je DNS hostname.

maxclients

Het maximum aantal spelers dat tegelijkertijd een verbinding met de server kan maken.

Zie Farenheit 176 ( http://www.planetquake.com/f176). Voor ruimschoots voldoende Quake II console en commando-regel informatie.

Andere Bronnen met Server Informatie

3.11 Aanpassingen & Uitbreidingen

Quake II aanpassingen zoals Capture the Flag, Jailbreak, en Lithium II zijn zeer populaire uitbreidingen op het originele Quake II spel. Een aantal aanpassingen zetelen zich volledig bovenop de server (Lithium), en een aantal vereisen dat je ook wijzigingen aan je client (CTF) aanbrengt. Voor serveraanpassingen, moet je normaal een verbinding tot stand brengen en spelen. Op Clientgerichte aanpassingen vereisen dat je aanvullende bestanden in de directory quake2 installeert, voordat je kunt spelen.

Clientgerichte Aanpassingen

In het algemeen bestaat de installatie op een clientgerichte aanpassing slechts uit het downloaden van het clientpackage en het uitpakken ervan in je Quake II directory, maar je zou de documentatie van de aanpassing moeten raadplegen voor de specifieke details. Het kan nodig zijn om een Linux-specifiek package te downloaden in aanvulling op het hoofdonderdeel van het (Windows) clientpackage. Let er ook op dat het kan zijn dat niet alle aanpassingen voor Linux beschikbaar zijn.

Cliëntgerichte aanpassings packages bevatten meestal een nieuw gamei386.so bestand en één of meer .pak bestanden. Er kunnen ook andere nieuwe bestanden bijzitten. Deze nieuwe bestanden zullen in een subdirectory van je Quake II directory worden geïnstalleerd. Gebruik op de commando-regel +set game aanpassing-dir om de aanpassing uit te voeren. Rocket Arena 2 wordt bijvoorbeeld in een directory met de naam arena geïnstalleerd. Om RA2 te spelen, start je als volgt je client op:

 ./quake2 +set game arena
 

Capture the Flag

Aangezien dit verreweg de populairste variatie op multiplayer Quake II is, heb ik specifieke instructies voor het installeren van deze aanpassing toegevoegd. Capture the Flag voor Quake II is beschikbaar vanaf de ftp-site van id. Download het en installeer het vervolgens als volgt:

cd /usr/local/games/quake2
mkdir ctf
cd ctf
unzip -L /wherever/you/put/it/q2ctf102.zip

Start Quake II met +set game ctf om CTF te spelen.

Op Server Gerichte Aanpassingen

Het draaien van een Quake II aanpassing op een server is niet veel anders dan het draaien van een op een clientgerichte aanpassing. In het algemeen zul je gamei386.so en server.cfg bestanden in een nieuwe subdirectory moeten installeren en vervolgens als volgt de server op moeten starten:

./quake2 +set game XXXX +set dedicated 1 +exec server.cfg
Waar XXXX hierboven voor de naam van de nieuwe subdirectory van de aanpassing staat. De exacte procedure zal natuurlijk van aanpassing tot aanpassing variëren. Zie de documentatie van de aanpassing voor specifieke details.

Game Source ++

Het volledige spel, met uitzondering van de engine zelf, is gezeteld in een gezamelijke library gamei386.so. Quake II aanpassingen zijn gemaakt door de inhoud van dit bestand te veranderen. De C source kan door iedereen vrij worden gedownload en worden gewijzigd. Zie (sectie Download de Benodigde Bestanden.

Nadat je de source hebt gedownload, kun je er als volgt mee beginnen:

 cd /usr/local/games/quake2
 mkdir mijnaanpassing
 cd mijnaanpassing
 gunzip /waar/je/het/dan/ook/plaatste/q2src320.shar.Z
 sh /waar/je/het/dan/ook/plaatste/q2src320.shar
 

Er zullen een boel wettigheden worden gepresenteerd waarop je yes moet antwoorden, vervolgens zal de source van het spel worden uitgepakt. Het bouwen van een nieuw gamei386.so uit deze sources wordt met een eenvoudige make bewerkstelligd. Je kunt Quake II als volgt met de nieuw gecompileerde library opstarten:

 cd /usr/local/games/quake2
 ./quake2 +set game mijnaanpassing
 

Nog niet erg opwindend, aangezien hetgeen je zojuist hebt gebouwd, identiek is aan het "gewone" gamei386.so, maar dit zou goede informatie voor strevende auteurs in aanpassingen kunnen zijn.

Mission Packs

4. Gerelateerde Software

4.1 QStat

Qstat is een op de commando-regel gebaseerd programma dat de status van internet Quake, QuakeWorld en Quake 2 servers retourneert, gemaakt door Steve Jankowski mailto:[email protected].

Hier is een opsomming van de kenmerken van de homepage van QStat:

Qstat is een tool dat je beslist moet hebben als je van plan bent om via het net te spelen. Er zijn bovendien ook een aantal front-ends voor qstat geschreven. Een aantal daarvan worden later in deze sectie opgesomd.

Je kunt de laatste versie van qstat ophalen vanaf de homepage van QStat ( http://www.activesw.com/people/steve/qstat.html).

4.2 XQF

XQF is een grafisch front-end naar QStat dat gebruik maakt van de GTK toolkit. Dit is de beste QuakeWorld/Quake2 server browser die op dit moment bestaat, en Roman Pozlevich ( [email protected]), brengt nog steeds revisies uit met een snelheid van ongeveer één per maand.

Als je bekend bent met GameSpy voor het Windows platform, komt dit er voor Linux het dichtste in de buurt.

De homepage van XQF homepage is te vinden op http://www.linuxgames.com/xqf.

4.3 QuickSpy

QuickSpy is een op tekst gebaseerde QuakeWorld server browser. Het is een ander front-end naar QStat en het werkt tamelijk goed. Als je X niet draait en je hebt geen Quake II, is dit een behoorlijke optie. Hou er wel rekening mee dat het niet langer in ontwikkeling is.

Je kunt QuickSpy ophalen bij http://diana.ecs.soton.ac.uk/~rht96r/quake/quickspy/.

4.4 QPlug voor Linux

Qplug is een Netscape-plugin die QuakeWorld en Quake II serverinformatie ingebouwd in een webpagina ophaalt en toont. Een Windows Qplug is al een tijdje in omloop. De auteur, Olivier Debon ( [email protected]) schreef de Linux versie vanaf het begin zonder ooit de Windows-versie te hebben gezien.

QPlug voor Linux kan worden opgehaald bij http://www.geocities.com/TimesSquare/Labyrinth/5084/qplug.html.

4.5 qkHacklib

David Bucciarelli ( [email protected]), auteur van de 3Dfx driver voor Mesa, heeft een library geschreven met de naam qkHack, die alle SVGAlib/fxMesa functies die door Quake en Quake II worden gebruikt, probeert te emuleren. Dit zou de noodzaak voor SVGAlib wegnemen als qlquake of Quake II met ref_gl draait. Andere kenmerken vanuit de README van qkHacklib:

Ik heb qkHacklib geprobeerd en het werkt geweldig voor Quake op mijn systeem. In Quake II reageert de muis echter echt langzaam. Anderen rapporteren het echter als een volledig succes, dus probeer het uit als het klinkt alsof het iets is wat je nodig zou kunnen hebben.

De qkHacklib webpagina van David Bucciarelli is te vinden op http://www-hmw.caribel.pisa.it/fxmesa/fxqkhack.html.

4.6 GiMd2Viewer

GiMd2Viewer is een Quake 2 model viewer geschreven voor Gtk en OpenGL door Lionel Ulmer ( [email protected]). Het laadt voorbeelden en texturen vanuit zowel gewone bestanden als .PAK bestanden. Het zal de voorbeelden ook animeren (met frame interpolatie).

Dit programma is nog steeds in ontwikkeling en ik heb het nog niet geprobeerd, maar het klinkt tamelijk sjiek. Onderzoek het eens op http://www.mygale.org/~bbrox/GiMd2Viewer/.

4.7 QIPX

QIPX is een set programma's die je toestaan Linux Quake-clients (met gebruik van TCP/IP) om een verbing met DOS Quake-clients (met gebruik van IPX) tot stand te brengen. Ik denk dat dit handig is als je netquake op een LAN speelt. QIPX is beschikbaar at http://www.geocities.com/SiliconValley/Park/6083/qipx.html.

4.8 Ice

Ice is een Quake map editor voor UN*X gemaakt door C.J. Beyer en John Watson. Ik heb dit programma niet gebruikt, noch weet ik wat z'n ontwikkelingsstatus is. De homepage van Ice is te vinden op http://styx.phy.vanderbilt.edu/~ice/.

4.9 Q2getty

Q2getty is een hack van mingetty door Mike Gleason ( [email protected]) die je toestaat om automatisch een programma uit te voeren en voort te brengen (zoals een Quake server) op een virtuele console. Dit programma is beschikbaar in de bestandensectie op http://www.ncftpd.com/unixstuff/q2getty.html.

4.10 rcon

Rcon is set tools die remote beheer van een Quake II server toestaat door gebruik te maken van het RCON protocol. De auteur is Michael Dwyer ( [email protected]). Rcon 1.1 is beschikbaar via http://sunsite.unc.edu/pub/Linux/games/quake/rcon-1.1.tar.gz

4.11 qlog

Qlog is een GPL'ed QuakeWorld/Quake II server log parser die uitgebreide spelersstatistieken genereert. Craig Knudsen ( [email protected]) is de auteur. De qlog homepage is http://www.radix.net/~cknudsen/qlog/.

4.12 Cheapo

Cheapo is een proxy die kan worden gebruikt om QuakeWorld netwerkverkeer te leiden. Bovendien kan de proxy de gegevens aanpassen en heeft mogelijkheden voor uitgebreide gameplay. Je kunt net als met een Quakeworld server een verbinding tot stand brengen, en het vervolgens commando's geven die je naar een echte server doorsturen. De proxy kan ook op een firewall computer worden gedraaid die niet bij machte is om het Quake verkeer af te handelen, zodat computers binnen de firewall voor het spelen kunnen worden gebruikt. De Cheapo homepage is te vinden op http://www.saunalahti.fi/~softech/.

4.13 qgraph

QGraph (Quake Graph) is een utility om mensen te helpen bij het beheren van Quake's DeathMathes, turnments en Quakeworld spellen. QGraph is een programma die verbinding (via Lan of het Internet) maakt met Quake, QuakeII, Quakeworld en Hexen2 Servers en toont je realtime gegevens over het spel dat op dit server draait. De QGraph homepage is op http://www.frag.com/qgraph.

4.14 Vispatch ++

Vispatch is een utility die je Quake 1/QuakeWorld niveaus bijwerken dat ze transparant water ondersteunen. Deze Windows utility is bijna sinds het begin van GLQuake in omloop, maar slechts sinds kort (zover ik weet) is er een Linux versie opgedoken. De WaterVis homepage is op http://www.sod.net/vis. Je kunt de Linux-versie van de Vispatch utility downloaden bij http://www.sod.net/vis/files/unixvis.zip.

4.15 GStat ++

GStat is een server query tool door Aaron Levinson gebaseerd op QStat, maar met een aantal unieke extra mogelijkheden. Vanaf de GStat homepage: GStat (GameStat) is een utility voor het ondervragen van Quake, Quakeworld, Quake II en Hexen II servers. Het heeft drie hoofdfuncties:

1.Toont statistieken voor op Quake gebaseerde servers 2.Functioneert als een remote serverbeheer-tool 3.Op een console gebaseerde serverbrowser voor het vinden van een server om op te spelen.

Ontdek meer op http://www.ews.uiuc.edu/~alevinsn/gstat.html.

4.16 QuakeLaunch ++

QuakeLaunch is een aardige, eenvoudige Quake serverbrowser die je in de console kunt draaien. Het is gebaseerd op qstat van Steve Jankowski. Als je geen op X-gebaseerde browser zoals XQF kan of wil gebruiken, is dit een goed alternatief. De QuakeLaunch homepage is op http://www.linuxgames.com/qlaunch.

4.17 QPLog ++

De Quake Player Log is een master/client Perl programma dat spelersstatistieken bijhoudt. Het doel van dit programma lijkt op waartoe de originele QuakeWorld een poging deed. Serverlogs worden naar de centrale QPLog master gezonden, die spelersstatistieken bijhoudt en spelers volgens een aantal factoren indeelt. http://junior.ece.ucdavis.edu/qplog/

5. Probleemoplossing/FAQs

5.1 Algemeen

OS verschillen overwegingen

Glibc, RedHat 5.x, Debian 2 overwegingen (alleen voor Quake 1)++

[Het volgende geldt alleen voor de binaire bestanden van Quake I (squake, glquake, en quake.x11). Met ingang van de versies 2.30 en 3.19 zijn respectievelijk QuakeWorld en Quake II in zowel libc5 als glibc versies beschikbaar.]

De uitvoerbare bestanden van Quake werden met libc5 gecompileerd. Nieuwere Linux distributies zoals RedHat 5.1 en Debian 2.0 gebruiken de niet compatibele libc6 (of glibc) als hun standaard C-library. Als je Quake op een glibc-systeem draait zijn er een aantal zaken om op te letten:

Mijn muis werkt niet of lijkt willekeurig te reageren. **

Mijn Microsoft Intellimouse of Logitech MouseMan+ werkt niet correct.

SVGAlib, die de muisinvoer voor SVGA en GL Quake/QW/Q2 afhandelt, ondersteunde de Intellimouse tot versie 1.3.0 niet direct. Als je een versie van SVGAlb van voor 1.3.0 hebt, zou je moeten upgraden, en vervolgens muistype IntelliMouse (voor een seriële muis) of IMPS2 (voor een PS/2 muiz) in bestand libvga.config gebruiken.

Mijn muis is "vertraagd" en het lijkt erop dat hij veel langzamer is danonder Windows.

Ik heb een Voodoo2, en als ik wil proberen het met de gl rendererte draaien, rapporteert het dat ik geen Voodoo kaart heb geïnstalleerd.

Er zijn voor de Voodoo en Voodoo 2 kaarten verschillende Glide versies. Wees er zeker van dat je de juiste voor je systeem download.

Als ik Quake-spellen onder SVGAlib of GL aan het spelen bent en op CTRL-C druk, wordt het spel beëindigt en laat mijn consolesoms in een onbruikbare toestand achter.Soms als Quake/Quake II abnormaal eindigt, laat het mijn consoleonbruikbaar achter.

Ja. Dit bijt. SVGAlib vangt de CTRL-C af en beslist wat ermee moet worden gedaan in plaats van het af te laten handelen door Quake. Ik weet zo gauw geen manier om te gaan met het hacken van SVGAlib.

Als je de Quake spelen vanuit een script opstart zoals dat hieronder, waarin het toetsenbord en de terminal worden gereset, loop je echter minder kans om te eindigen met een vastgelopen terminal.


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

het opstarten van squake/quake2 mislukt en het geeft de melding "svgalib: cannot get I/O permissions"

De uitvoerbare bestanden van Quake moeten als root worden gedraaid als je de SVGAlib renderer gebruikt, dus je moet ze als root opstarten of ze setuid root instellen. Zie de installatie-instructies in dit document voor details.

Soms werkt de toetsenherhaling niet meer na het spelen van één van de Quake spellen onder X.

Om één of andere reden de-activeren de X11-versies van Quake de toetsenherhaling als ze worden uitgevoerd. Als het programma om bepaalde reden abnormaal eindigt, wordt de toetsenherhaling niet weer aangezet. Geef het commando

xset r on
om het weer te activeren.

Quake/Quake II geeft aan "/dev/dsp : device not configured"

Je geluidshardware is niet juist geconfigureerd. Het kan zijn dat je gewoon een insmod sound moet doen, of het kan nodig zijn om je kernel opnieuw te bouwen. Het zou kunnen dat RedHat gebruikers het sndconfig(8) utility aan moeten roepen. Zie de documentatie voor je Linux distributie en/of de LInux Sound HOWTO voor informatie over het configureren van de geluidshardware van je systeem.

GL Quake/Quake II draait langzamer onder Linux dan onder Windows. ++

De Windows 3Dfx GL miniport is zwaar geoptimaliseerd voor hetgeen Quake II doet. Mesa aan de andere kant, is algemener en minder geoptimaliseerd.i Als resultaat draait Linux Quake II langzamer dan onder Windows. Dit is geen beperking van Linux, maar een beperking van de huidige drivers.

Met de recentste releases van QuakeWorld en Quake II, is de hierboven genoemde 3Dfx miniport beschikbaar voor Linux. Ook werd in Quake II versie 3.20, de OpenGL-functie afhandelings code volledig herschreven, resulterend in een veelbetekenende snelheidswinst.

Bovendien zijn er een aantal fijnafstemmingen voor Pentium Pro en Pentium II mogelijk met memory buffering - de laatste /dev/3dfx devicedriver heeft ondersteuning om dit automatisch voor je in te stellen. Het activeren van MTRRs kan resulteren in een aanmerkelijke (10 fps op mijn systeem) GL Quake snelheidswinst. Zie http://glide.xxedgexx.com/MTRR.html voor meer gedetailleerde informatie hierover.

Op een PPro/PII systeem met een Voodoo2, is de performance onder Linux nu op z'n minst net zo snel als onder Windows.

Hoe kan ik een server starten en uitloggen en vervolgens er laternaar terugkeren?

screen(1) is hiervoor een geweldige utility. Het geeft je de mogelijkheid om veel virtuele schermen in één tty aan te maken en hiertussen te schakelen. Screen wordt met de meeste distributies meegeleverd. Je kunt het downloaden vanaf ftp://prep.ai.mit.edu/pub/gnu of iedere GNU mirror.

Start screen door het intikken van het commando screen, en maak vervolgens een nieuw screenvenster aan door CTRL-A CTRL-C in te drukken. Je zult niet veel zien als je dit doet, maar wees gerust, er gebeurt iets.

Start een Quakeworld server:

/usr/local/games/quake/qwsv 

Open nu een nieuw screen venster met CTRL-A CTRL-C en start een Quake II server op:

/usr/local/games/quake2/quake2 +set dedicated 1

Je kunt voor- en achteruit tussen je servers schakelen door het indrukkken van CTRL-A CTRL-N.

Druk op CTRL-A CTRL-D om het screenprogramma los te koppelen. Screen en je servers draaien nog steeds, maar ze zijn in je terminalvenster niet langer zichtbaar. Je kunt nu uitloggen en de uitvoering van je processen zullen normaal verdergaan.

Gebruik screen -r om het voorgaande screenproces opnieuw te koppelen en weer toegang tot je servers te krijgen.

Dat is alles. Zie de screen(1) man page voor meer gedetailleerde informatie.

Hoe kan ik ervoor zorgen dat de muis het venser in X niet verlaat? ++

Vanuit het Quake II readme.linux bestand (dit geldt voor alle versies van Quake):

Standaard zal de muis niet worden `vastgebonden' aan het Quake2 venster. Om te zorgen dat Quake2 de muis afvangt, selecteer je 'Windowed Mouse' vanuit het videomenu of typt `_windowed_mouse 0' in de console. Doe het omgekeerde om het vrij te geven. Je kunt als volgt het afvangen en vrijgeven van de muis in de console aan toetsen verbinden: bind i "_windowed_mouse 1" bind o "_windowed_mouse 0" Dan zal "i" de muis afvangen en "o" zal het vrijgeven.

Als ik Quake/Quakeworld/Quake II onder X draai, neemt de afbeeldingslechts het halve venster in beslag en/of de kleuren zien er allemaal raaruit. ++

De X-clients ondersteunen alleen kleurdiepten van 8 en 16 bits per pixel. Je X server draait waarschijnlijk op 24 of 32 bpp. Wijzig de standaardkleurdiepte in 16 bpp en dit probleem is verholpen.

Waar kan ik de broncode krijgen van Quake/QuakeWorld/Quake II zodat ik het voor PPC/Alpha/Gameboy/etc kan compileren? ++

De broncode voor de Quake engines is het gepatenteerde eigendom van id Software. Ondanks dat er een goede kans is dat id de source van Quake eventueel zal vrijgeven zoals ze met Worfenstein 3-D en Doom deden, hebben ze dit nog niet gedaan. Ik heb de bron niet van Quake, hoe aardig je me dit ook vraagt.

5.2 Quake/QuakeWorld

Quake sterft tijdens het opstarten af met een segmentation fault.

Dit betekent gewoonlijk dat je netwerksetup niet goed is. Probeer quake met de optie -noudp op te starten en kijk of de fout dan weggaat. Als dat het herstelt, kijk dan je bestand /etc/hosts na en verifieer of daarin de gegevens voor je machine in staat. Gebruik 127.0.0.1 voor je IP-adres als je een dialup-account hebt die iedere keer als je een verbinding maakt, je verschillende adressen geeft.

Wat is het verschil tussen glqwcl, glqwcl.3dfxgl, en glqwcl.glx?

Als ik glqwcl.glx schermvullend vanuit X draai, kan ik mijnmuis of toetsenbord niet gebruiken.

Draai glqwcl.glx met de optie +_windowed_mouse 1 GLX Quakeworld draait in een venster, ook al lijkt het je gehele scherm in beslag te nemen. Als je de muis verplaatst terwijl je windowmanager zich in de focus-follows-mouse mode bevindt, is het zeer waarschijnlijk dat je de aanwijzer buiten dit venster verplaatst, en dan zal Quake niet meer reageren op muis- en toetsenbordinvoer. +_windowed_mouse 1 zorgt ervoor dat Quakeworld exclusief de muis naar zich toehaalt.

5.3 Quake II

Als ik Quake II met de GL-renderer probeer te draaien, mislukt dit engeeft het de melding "LoadLibrary("ref_gl.so") failed: Unable to resolve symbol"

Als onmiddellijk voorgaande aan "Unable to resolve symbol" regel je meldingen krijgt zoals "can't resolve symbol 'fxMesaCreateContext'", is er geen ondersteuning voor glide in de Mesa-library gecompileerd. Zie de De GL-renderer in de Quake II installatie-sectie voor informatie over het installeren van Mesa en glide.

Quake II mislukt met de melding LoadLibrary("ref_XXX.so") failed: No such file or directory

Als ik de helderheid bijwerk terwijl ik gebruik maak van de GL-renderer,en op "apply" klik, gebeurt er niets!

Tik in de console vid_restart om de wijzigingen te activeren.

Opmerking over de 3.17 distributie

Tijdens dit schrijven is de recentste Quake II versie 3.20. Als je om wat voor reden dan ook in plaats daarvan versie 3.17 draait, zou de volgende informatie behulpzaam voor je kunnen zijn.

Twee tekstbestanden (quake2.conf en fixperms.sh) in de 3.17 distributie werden onbewust in het MS-DOS CR/LF tekst-bestandsformaat opgeslagen, in plaats van in het unix LF formaat. Dit betekent dat er aan het einde van iedere regel een extra carriage return teken in deze bestanden staat en ze niet goed zullen functioneren totdat je het hersteld.

We zullen ze door tr(1) halen om ze te ontdoen van de CR's.

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

Als ik Quake II met +set vid_ref glx schermvullend vanuit Xdraai, kan ik mijn muis of toetsenbord niet gebruiken.

Draai GLX quake2 met de +set _windowed_mouse 1 optie. GLX Quake2 draait in een venster, zelfs al lijkt het het hele scherm in beslag te nemen. Als je de muis beweegt op het moment dat de WM zich in de focus-follows-mouse mode bevindt, zul je de aanwijzer naar alle waarschijnlijkheid buiten dit venster verplaatsen en dan zal Quake II niet meer reageren op muis- en toetsenbordinvoer. +set _windowed_mouse 1 zorgt dat Quak II de muis exclusief afvangt.

Waarom kan ik niet naar een aantal van de SVGA modes overschakelendie in het Quake II Videomenu staan?

SVGAlib weet waarschijnlijk niet hoe het de modes op je kaart aan moet maken. Als Quake II opstart met de SVGA renderer (ref_soft.so), drukt het een lijst af van alle modes waarvan SVGAlib zegt dat ze beschikbaar zijn:

------- 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
Dit zijn de enige modes waarnaar je succesvol zult kunnen overschakelen vanuit het Videomenu. Als laten we zeggen, 512x384 niet in de lijst staat, zal het selecteren ervan vanuit het Videomenu niet werken.

SVGAlib laat je voor een aantal chipsets nieuwe video-modes definiëren in libvga.config, dus het kan zijn dat je je eigen video-modes op deze manier kunt aanmaken. Zie de SVGAlib-documentatie voor meer details over dit onderwerp.

Als ik verbinding probeer te maken met een Quake II server die eenaanpassing draait, crasht quake2 met de melding "Error: VID: Could not open display". **

Volgens Zoid komt dit probleem voor als het videosysteem herstart door een wijziging van de spellendir. Verscheidene libraries worden tijdens de herstart opnieuw geladen en dit veroorzaakt blijkbaar dat quake2 op vele systemen brokken maakt.

De werkbare oplossing is om de game CVAR op de commando-regel in te stellen, voordat je quake2 opstart. Dus als je een verbinding maakt met een CTF server, start je quake2 als volgt op:

./quake2 +set game ctf ...
Dit kan lastig lijken als je bent gewend om een verbinding tot stand te brengen met nieuwe servers zonder het quake2 programma te verlaten, maar helaas is het op dit moment de enige manier om met dit probleem om te gaan. Een front-end programma zoals XQF zal deze commando-regel zaken automatisch voor je doen, dus je zou eigenlijk moeten overwegen om er één te gebruiken als je dat op het moment nog niet doet.

6. Tips & Truuks

6.1 Draaien van X- en GL-spellen zonder setuid

Als je alleen de X- en GL-versies van Quake, QuakeWorld of Quake II draait, hoef je ze niet met root permissies te draaien. SVGA is de enige mode die als root moet worden opgestart. De X-versies hebben slechts toegang tot /dev/dsp nodig, het geluidsdevice. De GL-versies hebben toegang tot de 3Dfx kaart nodig als ook tot /dev/dsp.

/dev/dsp moet voor Quake leesbaar en schrijfbaar zijn. De meeste distributies kennen er standaard 662 (rw-rw--w-) permissies aan toe. De eenvoudigste oplossing is om het commando chmod 666 /dev/dsp uit te voeren. Op de meeste systemen zal de mogelijkheid om het geluidsdevice te kunnen lezen geen veelbetekenende bedreiging voor de beveiliging vormen. Als deze benadering voor je systeem onacceptabel is, maak dan een groep aan die eigenaar is van /dev/dsp en maak je Quake-spelers leden van die groep.

Je hebt de /dev/3dfx driver nodig van Daryll Strauss' glide page ( http://glide.xxedgexx.com/3DfxRPMS.html) om glide-applicaties (zoals GLQuake) niet-root te kunnen draaien. Download het Device3Dfx.xxx.rpm package en installeer het overeenkomstig de instructies op de webpagina. Nadat je de driver hebt geïnstalleerd, zorg ervoor dat aan het bestand /dev/3dfx de permissies 666 (chmod 666 /dev/3dfx) zijn toegekend.

Als /dev/dsp en /dev/3dfx juist zijn ingesteld, kun je het setuid bit van je Quake/QW/Q2 uitvoerbare bestanden verwijderen. Doe gewoon (als root) chmod 0755 XXXXX, waar XXXXX staat voor glquake, quake.x11, of quake2.

Als je voordat je deze wijzigingen aanmaakte als root speelde, kan het zijn dat veel van de Quake bestanden (zoals savegames) als eigenaar root hebben en niet toegankelijk zijn voor een gewone gebruiker, dus denk eraan de eigenaar van de bestanden te wijzigen voordat je een poging doet om het spel als niet-root te spelen.

6.2 Draaien van SVGA- en GL-spellen vanuit X

De GLX Quakeworld en Quake II clients zijn ingebouwde X-applicaties, maar aangezien ze Mesa eerder zullen gebruiken dan de 3Dfx mini-driver, zijn ze langzamer dan de lib3dfxgl.so versies. Om deze reden, kan het zijn dat je nog steeds de voorkeur geeft om op deze manier je spellen vanuit X op te starten boven het gebruik van de GLX-client.

Dit is gebaseerd op een Linux Gazette 2 Cent Tip door Joey Hess ( [email protected]). Het origineel is te vinden bij http://www.ssc.com/lg/issue20/lg_tips20.html#squake.

Ja, het is mogelijk om de Quake spellen vanuit X te draaien als je root bent, maar dergelijk gedrag is ondeugend, en je loopt nog steeds het risico dat Quake crasht en de console in een zodanige staat achterlaat dat het niet meer reageert. Met een klein beetje werk kun je het voor een gewone gebruiker mogelijk maken om SVGA en GL Quake vanuit X te draaien EN om automatisch naar X terug te keren als het programma is beëndigd, ongeacht of het wel of niet normaal is afgesloten.

Opmerking: als ik het in de tekst hieronder over "Quake" heb, bedoel ik eigenlijk "quake, glquake squake, qwcl, glqwcl, qwcl.x11 of quake2".

6.3 3Dfx "fijnafstemmings" instellingen werken ook onder Linux

Het kan zijn dat je eens hebt gezien of manieren hebt horen noemen om Quake's OpenGL performance "beter af te stellen" door het instellen van diverse omgevingsvariabelen. Deze variabelen zijn ook geldig onder Linux. Je moet ze alleen iets anders instellen. Als een Windows/DOS "fijnafstemmings" leidraad je aangeeft:

SET SST_GRXCLK=59

Doe het dan, onder Linux, als volgt:

export SST_GRXCLK=59

6.4 De Poor Man's Server Browser

Joe S. ( [email protected]) stelt voor:

een truuk die ik gebruik met qstat:
Ik maak een bestand met mijn favoriete servers en doe vervolgens
qstat -f /C/quake2/file.txt | less

druk op control z voor een tijdelijke onderbreking, en kopieer vervolgens het ip-adres of de hostnaam die ik met gpm wil met een commando-regel als:

./quake2 +connect expert.eqclans.com
Vervolgens kan ik fg gebruiken om later naar de lijst terug te keren...

6.5 Gebruiken van lib3dfxgl.so voor Quake I

Je kunt de 3Dfx mini-driver (lib3dfxgl.so) van Quakeworld of Quake II ook met glquake gebruiken. Kopieer de glqwcl.3dfxgl of quake2.3dfxgl scripts gewoon naar een nieuw bestand, laten we zeggen glquake.3dfxgl. Wijzig vervolgens het glquake.3dfxgl script zodat het glquake uitvoert in plaats van glqwcl. Dezelfde beperkingen gelden ook hier met betrekking tot het uitvoeren als root, als ook de verschillen tussen het draaien onder glibc en libc5. Zie de secties Quakeworld of Quake II voor meer informatie over lib3dfxgl.so.

6.6 Afkomen van die hinderlijke "POSSIBLE SCAN CODE ERROR 57" melding in GLQuake. ++

Als je er genoeg van hebt om iedere keer dat onbruikbare bericht te zien als je in GLQuake op de spatiebalk drukt, voer dan het volgende commando vanuit je quake directory uit en je zult er nooit meer last van hebben. Dit kleine stukje Perl code vervangt gewoon het eerste teken van de melding door een null teken, wat in C programma's het einde van een string aangeeft. Als GLQuake nu denkt dat het ons een mogelijke scancode fout moet laten weten, geeft het in plaats daarvan als uitvoer een lege string! Oh, en van het originele binaire bestand glquake wordt ook nog eens een automatische backup gemaakt met de naam glquake.bak.

    perl -i.bak -0777pe 's/P(ossible unknown scancode)/\0$1/g' glquake

Met dank aan Andrew Chase ( [email protected]) hiervoor.

7. Administratieve zaken

7.1 Nieuwe Versies van Dit Document

Nieuwe versies van dit document zullen periodiek worden gepost naar comp.os.linux.answers en rec.games.computer.quake.misc. Ze zullen ook worden ge-upload naar diverse WWW en FTP sites, waaronder de LDP home page.

Nieuwe versies van dit document zullen periodiek worden gepost naar rec.games.computer.quake.misc en comp.os.linux.misc.

De laatste verise van de Linux Quake HOWTO kan altijd worden gevonden bij de volgende sites:

7.2 Distributie Beleid

Copyright (c) 1998, Bob Zimbinski, Brett A. Thomas en Mike Hallock. Dit document mag onder de voorwaarden van de LDP licentie op sunsite.unc.edu/LDP/COPYRIGHT.html worden gedistribueerd.

Deze HOWTO is vrije documentatie; je kunt het herdistribueren en/of wijzigen onder de voorwaarden van de LDP licentie. Dit document wordt gedistribueerd in de hoop dat het van nut zal zijn, maar zonder enige garantie; zonder zelfs de impliciete garantie van verkoopbaarheid of geschiktheid voor een bepaald doel. Potverdrie, zelfs als dit document je hond doodt, is het niet onze schuld.

Zie de LDP licentie voor meer details.

7.3 Revisie Historie

De secties van dit document die in de laatste revisie werden bijgewerkt hebben een ** achter de kop van de sectie. Secties bijgewerkt voorgaand aan de laatste revisie zijn gemarkeerd met een ++.

Hieronder staat de volledige revisie historie van dit document. Het is niet bedoeld als bruikbaar voor iemand behalve de auteurs van het document.


$Log: Quake-HOWTO-NL.sgml,v $
Revision 1.3  2003/11/22 14:36:34  bokkie


Diverse correcties (typo's, vertaalfouten etc)

Revision 1.2  2003/02/08 20:41:48  bokkie


Diverse correcties in sgmlcode, correcties van typo's, updates (nieuwe
versies) en aanvulling van diverse HOWTO's

Revision 1.1.1.1  2002/12/25 19:46:35  bokkie





Revision 1.5  2002/12/18 02:40:55  bokkie
*** empty log message ***

Revision 1.4  2002/12/16 01:13:41  bokkie
*** empty log message ***

Revision 1.3  2002/11/08 03:15:34  bokkie
*** empty log message ***

Revision 1.2  2002/10/19 19:25:34  bokkie
*** empty log message ***

Revision 1.1  2002/07/24 21:38:01  bokkie
*** empty log message ***

Revision 1.5  2002/07/23 23:35:28  bokkie
*** empty log message ***

Revision 1.4  2002/07/23 23:17:59  bokkie
*** empty log message ***

Revision 1.3  2002/07/22 22:34:05  bokkie
*** empty log message ***

Revision 1.2  2002/07/21 01:12:46  bokkie
*** empty log message ***

Revision 1.1  2002/07/19 23:23:28  bokkie
*** empty log message ***

Revision 1.2  2002/07/19 23:21:14  bokkie
*** empty log message ***

Revision 1.1  2002/05/08 21:26:09  maarten
*** empty log message ***

Revision 1.1  2002/04/07 16:37:51  bokkie
*** empty log message ***

Revision 1.5  2000/04/09 14:59:03  bokkie

diverse correcties

Revision 1.1.1.1  2000/04/08 14:14:31  ebo
eerste release

Revision 1.4  1999/10/11 18:31:27  bokkie

Diverse correcties

Revision 1.3  1999/09/01 20:26:19  steenbrg
grote test voor sgml auto-script

Revision 1.2  1999/07/27 18:11:47  bokkie
bib=>lib .... aanvulling

Revision 1.1  1999/07/17 12:04:25  bokkie
pffftttt, dit is 'm dan

Revisie 1.0.1.18  1998/12/19 00:56:31  bobz
Kleine typfout verwijderd.

Revisie 1.0.1.17  1998/12/19 00:45:01  bobz
Verplaatste sectie "Andere Formaten" naar de bovenkant van het document 
zodat het beter zichtbaar is.
Toegevoegd probleemoplossing onderwerp over crashes bij het tot stand
brengen van een verbinding met een server met verschillende speldir.
Toegevoegd vermelding van RedHat's gebrekkige ld.so configuratie. 
aan Mesa secties.
Toegevoegd details over het gebruiken van de new gl_driver cvar.
Toegevoegd probleemoplossing over mouse-permissies.

Revisie 1.0.1.16  1998/12/12 05:34:02  bobz
bijgewerkte bestandskoppelingen voor quake2 versie 3.20.
URL wijziging voor Linux Game Tome.
Toegevoegd linuxgames.org aan lijst met Linux Game sites.
Verwijderde lelijke verwijzingen naar /usr/games/quake als installatie dir.
Verwijderde info over het compileren van libc5 libraries voor gebruik met 
Q2.
Toegevoegd een aantal zinnen over /dev/3dfx en mtrr ondersteuning in de 
Q1 & Q2 glide secties.
Toegevoegd een waarschuwing over het gebruik van de glide library 
van 3dfx's site.
aangehaald dat GLX-versies svgalib niet langer vereisten.
Bijgewerkt performance FAQ.
Verplaatste mouse in X tip vanuit Tips naar FAQ.
Toegevoegd Vispatch aan Gerelateerde Software.
Toegevoegd quakelaunch aan Gerelateerde Software.
Toegevoegd qplog aan Gerelateerde Software.
Toegevoegd koppeling naar server setup leidraad op 3dgw.com.
Toegevoegd X kleurdiepte FAQ.
Toegevoegd Quake broncode FAQ.
Toegevoegd nieuwe info van JH in Draaien vanuit X X Tip.
Toegevoegd fix voor POSSIBLE UNKNOWN SCANCODE in glquake.
Kleine wijzigingen in de verwoording en typfoutjes door het gehele document.

Revisie 1.0.1.15  1998/10/05 21:09:42  bobz
Herstelde een aantal typfoutjes en spelfouten die ik de laatste keer over
het hoofd zag.

Revisie 1.0.1.14  1998/10/05 19:54:17  bobz
Verwijderde de lang-afgestorven LinQuake pagine van de lijst met 
Linux Quake sites.
Verwijderde renaissoft.com koppeling.
Kleine wijzigingen in de verwoording door het gehele document.
Toegevoegd koppeling naar svgalib libc5 binary.
Toegevoegd info over q2 demo.
Bijgewerkt q2 installatie info voor de 3.19 uitgave.
verplaatste de sectie over 3.17 tekstbestand problemen.
aan de sectie probleemoplossing.
Toegevoegd deel over lib3dfxgl.so aan QW sectie.
Toegevoegd deel over GLX-client aan QW sectie.
Toegevoegd deel over lib3dfxgl.so aan Q2 sectie.
Toegevoegd deel over GLX-client aan Q2 sectie.
Bijgewerkt "langzamer dan windows" FAQ.
Verwijderde verouderde TS tip over glibc & q2.
Verwijderde verouderde TS tip over het spelen met  de CD gemount.
Veranderd tip over het draaien van glquake met lib3dfxgl.so.
Toegevoegd instructies voor Q2 mission pack 2.
Toegevoegd verwijzing naar svgalib libc5 binary.
Toegevoegd FAQ over svgalib modes in Q2.
Toegevoegd Cheapo proxy aan software sectie.
Toegevoegd scherm FAQ.
Toegevoegd qgraph aan software sectie.
Besloten dat ik loog toen ik een sectie over 3Dfx fijnafstemming in de
volgende update beloofde.

Revisie 1.0.1.13  1998/09/02 01:35:18  bobz
Een aantal gebrekkige url koppelingen hersteld.
<author> tag teruggeplaatst.
toegevoegd een acknowledgement.
toegevoegd een herinnering aan de niet-root tip.
toegevoegd qlog opsomming.

Revisie 1.0.1.12  1998/08/30 21:35:23  bobz
Bijgewerkt QuakeWorld installatie sectie voor 2.30 uitgave.
Bijgewerkt QW bestandenlijst.
Bijgewerkt Quake 1.01 installatie info per email suggestie.
Toegevoegd QW 2.30 waarschuwing aan "Glibc overwegingen" sectie.
Bijgewerkt linux vs. windows snelheid sectie voor nieuwe 3dfx miniport.
Toegevoegd glqwcl versies FAQ.
Toegevoegd probleemoplossings tip over windows focus en glx.
Toegevoegd een zin over /dev/3dfx permissies.
Het gebruik van het runcv script verduidelijkt.
Toegevoegd tip over het gebruiken van de mini-driver met Quake & Quake II.

Revisie 1.0.1.11  1998/08/15 19:28:49  bobz
Toegevoegd glibc onderwerp in sectie Probleemoplossing/FAQ.
Verplaatste non-setuid info naar Tips & Truuks sectie.
Verplaatste rcs log naar Revisie Hist sectie.
De distributie info een beetje gewijzigd totdat LDP wakker wordt.
Gewijzigd verwijzingen naar quake.medina.net in www.linuxquake.com.
Toegevoegd linuxgames.com aan de lijst met plaatsen om de huidige versie
op te halen.
Gewijzigd 3dfx Howto verwijzing.
Verplaatste de uitleg over de wijzigingsmakeringen (** en ++) naar intro
sectie waar ze op zullen vallen.
zoid's GL-driver port genoemd in de Win vs Linux FAQ.
Hersteld krediet en URL in q2getty.

Revisie 1.0.1.10  1998/08/07 19:07:02  bobz
Gewijzigd XQF url
Commentaar toegevoegd aan de sectie revisie historie.
Begonnen met het markeren van gewijzigde secties.
Toegevoegd OS Overwegingen aan de sectie probleemoplossing.
Toegevoegd rcon aan sectie Andere Software.
Toegevoegd ICE aan sectie Andere Software.

Revisie 1.0.1.9  1998/08/04 21:06:22  bobz
Bijgewerkt Erkeniningen.
Toegevoegd bespreking over Quake beveiliging.
Toegevoegd QIPX aan "Gerelateerde Software".
Toegevoegd ts onderwerp over -noudp.

Revisie 1.0.1.8  1998/08/03 22:09:28  bobz
De q2 aanpassingen sectie bijgewerkt en hergestructureerd.
Kleine wijziging aan gpm probleemoplossingsinfo.
Gewijzigd sound ts info.
Gewijzigd intellimouse ts info.

Revisie 1.0.1.7  1998/08/03 04:55:21  mikeh
Toegevoegd sectie "Spelen" aan sectie Q2 Mods & Uitbreidingen.
Toegevoegd "Intelimouse" sectie aan sectie Probleemoplossing.
Toegevoegd RedHat sndconfig deel aan sectie Probleemoplossing.
Een paar spatieproblemen opgelost, en een fout hersteld.

Revisie 1.0.1.6  1998/08/03 02:01:13  bobz
Gewijzigd abstract.

Revisie 1.0.1.5  1998/07/31 16:07:11  bobz
Toegevoegd gpm -k vermelding in mouse probleemoplossing.
vermeld 'gevoeligheid' in mouse-vertraging probleemoplossing.
Toegevoegd qstat|less tip.
Toegevoegd "/dev/dsp niet geconfigureerd" aan probleemoplossing.
Iets ander verwoord deel van de mog compilatie sectie.
Toegevoegd wat over het draaien van op servergerichte aanpassingen.
gecorrigeerd vereiste versie # in q2 mission pack 1.
Bijgewerkt sectie erkenningen.

Revisie 1.0.1.4  1998/07/30 21:08:46  bobz
Een probleem met afgebroken regels hersteld in <sect><heading> tags.

Revisie 1.0.1.3  1998/07/30 17:40:29  bobz
Gebrekkige link naar Latex versie hersteld.

Revisie 1.0.1.2  1998/07/30 15:46:40  bobz
Test update.

Revisie 1.0.1.1  1998/07/30 15:43:59  bobz
Gewijzigd versie-nummeringsschema.

Revisie 1.10  1998/07/30 13:51:24  bobz
Minor versieweergave wijziging.

Revisie 1.9  1998/07/29 20:42:03  bobz
Toegevoegd een aantal serverlinks.

Revisie 1.8  1998/07/29 17:37:15  bobz
Toegevoegd een Quake II model viewer aan de sectie Andere Programma's.

Revisie 1.7  1998/07/29 16:02:23  bobz
Toegevoegd een aantal relatieve koppelingen in Andere Formaten om het
beter verplaatsbaar te maken.

Revisie 1.6  1998/07/29 15:18:12  bobz
Versie en datumstempels terug naar hoe ze waren

Revisie 1.5  1998/07/29 14:52:03  bobz
Toegevoegd tags voor het automatisch toevoegen van een datum

Revisie 1.4  1998/07/29 13:17:51  bobz
Gewijzigd captured.com's webadres op verzoek van de webmaster

Revisie 1.3  1998/07/29 02:11:02  bobz
Alweer Ooops. Van "Andere formaten" <sect><heading> gemaakt in plaats van <sect1><heading>.

Revisie 1.2  1998/07/29 01:55:41  bobz
Oops. Ik verwijderde de doctype tag...

Revisie 1.1  1998/07/29 01:48:34  bobz
Toegevoegd sectie Andere Formaten.
Erkenningen licht gewijzigd
Toegevoegd ftp.medina.net aan lijst met ftp-sites.

Revisie 1.0 1998/07/28
Eerste publiek uitgegeven versie
     
Revisie 0.9 1998/07/25
Hergestructureerd, herschreven en uitgebreid door Bob Zimbinski.

Revisie 0.01 1998/06/16
Eerste Pre-Release versie v0.01 door Brett A. Thomas en Mike Hallock.