Linux Quake HOWTO Bob Zimbinski (bobz@mr.net), Brett A. Thomas (quark@baz.com), en Mike Hallock (mikeh@medina.net), Vertaald door Ellen Bokhorst, bokkie@nl.linux.org 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. ______________________________________________________________________ Inhoudsopgave 1. Introductie 1.1 Feedback, Commentaar, Correcties 1.2 Andere Formaten van Dit Document 1.3 Erkenningen 1.4 Andere Bronnen met Informatie 1.4.1 Linux Specifieke Quake Informatie 1.4.2 Algemene Quake Informatie 1.4.3 Linux Spel Informatie ++ 2. Quake/Quakeworld 2.1 Minimumvereisten 2.2 Installeren van Quake 2.2.1 Download de Noodzakelijke Bestanden 2.2.2 Maak de Installatie Directory aan ++ 2.2.3 Installeren Vanaf een Quake CD 2.2.4 DOS/Windows naar Linux Installatie 2.2.5 Shareware Versie Installatie 2.3 Toevoegen van de Linux Binaries 2.4 Instellen van Permissies 2.5 X11 Quake 2.6 SVGAlib Quake 2.7 GLQuake 2.7.1 SVGAlib 2.7.2 Glide ++ 2.7.3 Mesa 2.8 Linux-Specifieke Commando-regel Opties 2.9 QuakeWorld 2.9.1 Installeren van de RPM packages 2.9.2 Installeren van de tar.gz packages 2.9.3 Draaien van QuakeWorld 2.10 Servers 2.11 Aanpassingen & Uitbreidingen 2.11.1 Capture the Flag 2.11.2 Mission Packs 2.11.3 Quake Tools 3. Quake II 3.1 Voorvereisten 3.2 Installeren van Quake II 3.2.1 Download de Benodigde Bestanden 3.2.2 Maak de Installatie Directory aan ++ 3.2.3 Installeren vanaf CD 3.2.4 Windows naar Linux installatie 3.2.5 Installeren van de demo-versie 3.3 Toevoegen van de Linux Binaries 3.3.1 Installeren van de RPM packages 3.3.2 Installeren van de tar.gz packages 3.4 Instellen van Permissies 3.4.1 Quake2.conf 3.5 De X Renderer 3.6 De SVGAlib Renderer 3.7 De OpenGL Renderer 3.7.1 SVGAlib 3.7.2 Glide 3.7.3 Mesa ** 3.7.4 lib3dfxgl.so 3.7.5 Kiezen van een GL-driver ** 3.8 De GLX-Renderer 3.9 Linux-Specifieke Commando Regel Opties 3.10 Quake II Servers ++ 3.10.1 Listen Servers 3.10.2 Dedicated Servers 3.10.3 Andere Bronnen met Server Informatie 3.11 Aanpassingen & Uitbreidingen 3.11.1 Clientgerichte Aanpassingen 3.11.1.1 Capture the Flag 3.11.2 Op Server Gerichte Aanpassingen 3.11.3 Game Source ++ 3.11.4 Mission Packs 4. Gerelateerde Software 4.1 QStat 4.2 XQF 4.3 QuickSpy 4.4 QPlug voor Linux 4.5 qkHacklib 4.6 GiMd2Viewer 4.7 QIPX 4.8 Ice 4.9 Q2getty 4.10 rcon 4.11 qlog 4.12 Cheapo 4.13 qgraph 4.14 Vispatch ++ 4.15 GStat ++ 4.16 QuakeLaunch ++ 4.17 QPLog ++ 5. Probleemoplossing/FAQs 5.1 Algemeen 5.1.1 OS verschillen overwegingen 5.1.2 Glibc, RedHat 5.x, Debian 2 overwegingen (alleen voor Quake 1) 5.1.3 Mijn muis werkt niet of lijkt willekeurig te reageren. ** 5.1.4 Mijn Microsoft Intellimouse of Logitech MouseMan+ werkt niet correct. 5.1.5 Mijn muis is "vertraagd" en het lijkt erop dat hij veel langzamer is dan onder Windows. 5.1.6 Ik heb een Voodoo2, en als ik wil proberen het met de gl renderer te draaien, rapporteert het dat ik geen Voodoo kaart heb geïnstalleerd. 5.1.7 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 console soms in een onbruikbare toestand achter. 5.1.8 Soms als Quake/Quake II abnormaal eindigt, laat het mijn console onbruikbaar achter. 5.1.9 het opstarten van squake/quake2 mislukt en het geeft de melding " 5.1.10 Soms werkt de toetsenherhaling niet meer na het spelen van één van de Quake spellen onder X. 5.1.11 Quake/Quake II geeft aan "/dev/dsp : device not configured" 5.1.12 GL Quake/Quake II draait langzamer onder Linux dan onder Windows. ++ 5.1.13 Hoe kan ik een server starten en uitloggen en vervolgens er later naar terugkeren? 5.1.14 Hoe kan ik ervoor zorgen dat de muis het venser in X niet verlaat? ++ 5.1.15 Als ik Quake/Quakeworld/Quake II onder X draai, neemt de afbeelding slechts het halve venster in beslag en/of de kleuren zien er allemaal raar uit. ++ 5.1.16 Waar kan ik de broncode krijgen van Quake/QuakeWorld/Quake II zodat ik het voor PPC/Alpha/Gameboy/etc kan compileren? ++ 5.2 Quake/QuakeWorld 5.2.1 Quake sterft tijdens het opstarten af met een segmentation fault. 5.2.2 Wat is het verschil tussen 5.2.3 Als ik 5.3 Quake II 5.3.1 Als ik Quake II met de GL-renderer probeer te draaien, mislukt dit en geeft het de melding "LoadLibrary("ref_gl.so") failed: Unable to resolve symbol" 5.3.2 Quake II mislukt met de melding 5.3.3 Als ik de helderheid bijwerk terwijl ik gebruik maak van de GL-renderer, en op "apply" klik, gebeurt er niets! 5.3.4 Opmerking over de 3.17 distributie 5.3.5 Als ik Quake II met 5.3.6 Waarom kan ik niet naar een aantal van de SVGA modes overschakelen die in het Quake II Videomenu staan? 5.3.7 Als ik verbinding probeer te maken met een Quake II server die een aanpassing draait, crasht quake2 met de melding "Error: VID: Could not open display". ** 6. Tips & Truuks 6.1 Draaien van X- en GL-spellen zonder setuid 6.2 Draaien van SVGA- en GL-spellen vanuit X 6.3 3Dfx "fijnafstemmings" instellingen werken ook onder Linux 6.4 De Poor Man's Server Browser 6.5 Gebruiken van lib3dfxgl.so voor Quake I 6.6 Afkomen van die hinderlijke "POSSIBLE SCAN CODE ERROR 57" melding in GLQuake. ++ 7. Administratieve zaken 7.1 Nieuwe Versies van Dit Document 7.2 Distributie Beleid 7.3 Revisie Historie ______________________________________________________________________ 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 er vanuit 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 (bobz@mr.net) of Mike Hallock (mikeh@medina.net). 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. · ASCII tekst · ASCII tekst met backspace-overstrikes, geschikt voor het bekijken met man(1) · HTML geheel gezipt en gereed om op je website geplaatst te worden · Postscript · PRC om met Aportis Doc op je Palm Pilot te bekijken · SGML · LaTeX · Alle bovengenoemde documenten zijn ook beschikbaar in een enkel geriefelijk pakketje 1.3. Erkenningen De originele versie van dit document werd geschreven door Brett A.Thomas (quark@baz.com) en Mike Hallock (mikeh@medina.net). Bob Zimbinski (bobz@mr.net) 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: · John Carmack en de rest van id Software voor deze geweldige spellen. · Dave 'Zoid' Kirsch (zoid@idsoftware.com) voor de Linux ports. · Dave Taylor (ddt@crack.com) voor het beginnen van deze gehele vreselijk exentrieke port kwestie. · Daryll Strauss (daryll@harlot.rb.ca.us) voor de Linux glide ports. · Brian Paul (brianp@elastic.avid.com) voor de grafische library Mesa. · David Bucciarelli (tech.hmw@plus.it) voor het stuurprogramma Mesa/glide. Dank aan de volgende mensen voor de contributies aan deze Howto: · Mike Brunson (brunson@l3.net) voor de vid_restart tip. · Joey Hess (joey@kite.ml.org) voor info over het draaien van svga & gl spellen vanuit X · Joe S. (jszabo@eden.rutgers.edu) voor de opeenstapelende suggesties · Brad Lambert (bradl@dial.pipex.com) voor de -noudp waarschuwing. · agx (gguenthe@iris.rz.uni-konstanz.de) voor Quake installatie-info en de verwijzing naar QIPX. · Derrik Pates (dmp8309@silver.sdsmt.edu) voor het me laten nadenken over beveiliging. · Michael Dwyer (michael_dwyer@mwiworks.com) voor het onder de aandacht brengen van de "OS overwegings" ideeén. · Derek Simkowiak (dereks@kd-dev.com) voor de Quake I CD installatie- procedure. · sunstorm (sunstorm@glasscity.net) Quake Mission Pack 2 informatie. · Neil Marshall (marshall@pssnet.com) voor scherminfo. · Serberus (serberus@clarion.co.uk) voor de aanwijzing over Vispatch. · Andrew Chase (fixy@fixy.org) voor de GLQuake "POSSIBLE SCAN CODE ERROR" oplossing. 1.4. Andere Bronnen met Informatie 1.4.1. Linux Specifieke Quake Informatie · LQ:Linux Quake & Utilites http://www.linuxquake.com/. · Linux Quake Page http://captured.com/threewave/linux/ · QuakeWorld.net http://www.quakeworld.net 1.4.2. Algemene Quake Informatie · id Software http://www.idsoftware.com · PlanetQuake http://www.planetquake.com · QuakeWorld Central http://qwcentral.stomped.com · 3Dfx's GL Quake FAQ (wat verouderd) http://www.3dfx.com/game_dev/quake_faq.html · Farenheit 176 Console Commando Opsomming http://www.planetquake.com/f176 · rec.games.computer.quake.* nieuwsgroepen 1.4.3. Linux Spel Informatie ++ · De Linux Game Tome http://www.happypenguin.org/ · LinuxGames.com http://www.linuxgames.com/ · LinuxGames.org http://www.linuxgames.org/ 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: · Een Pentium 90 of beter (133 aanbevolen) computer · 16 MB RAM (24 aanbevolen) · De Quake CD-ROM of de shareware-versie (quake106.zip) · Linux kernelversie 2.0.24 of later · libc 5.2.18 of later · Eén van de volgende: · X11R5 of later (voor xquake) · SVGAlib 1.2.0 of later (voor squake en glquake) · 30-80 megabytes vrije diskruimte (afhankelijk van hoe je 't installeert) · Toegang tot de root-account op de machine waarop je de installatie uitvoert Optioneel: · Een ondersteunde geluidskaart · Een 3Dfx VooDoo Grafische of VooDoo2 3D grafische accelerator- kaart. · Mesa 2.6 of later (voor glquake) 2.2. Installeren van Quake 2.2.1. 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 · ftp.cdrom.com/pub/idgames/idstuff (California, USA) · ftp.gamesnet.net/idsoftware (California, USA) · ftp.linuxquake.com/lqstuff (Ohio, USA) · ftp.stomped.com/pub/mirror/idstuff (Minnesota, USA) · mirrors.telepac.pt/pub/idgames (Lisbon, Portugal) · download.netvision.net.il/pub/mirrors/idsoftware (Haifa, Israel) De Quake bestanden vermeld in deze sectie zijn: · Shareware Quake voor Windows distributie ftp://ftp.idsoftware.com/idstuff/quake/quake106.zip · X11 Quake binary ftp://ftp.idsoftware.com/idstuff/unsup/unix/quake.x11-1.0-i386-unknown- linux2.0.tar.gz · SVGAlib Quake binary ftp://ftp.idsoftware.com/idstuff/unsup/squake-1.1-i386-unknown- linux2.0.tar.gz · OpenGL/Mesa Quake binary ftp://ftp.idsoftware.com/idstuff/unsup/unix/glquake-0.97-i386-unknown- linux2.0.tar.gz · Linux QuakeWorld clients (X11, SVGAlib- en GL-clients zijn allen in ieder package ingesloten) · libc5 tar.gz package ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-i386-unknown- linux2.0.tar.gz · glibc tar.gz package ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-glibc- i386-unknown-linux2.0.tar.gz · libc5 rpm package ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-1.i386.rpm · glibc rpm package ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-glibc-1.i386.rpm · Linux QuakeWorld server · libc5 tar.gz package ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-i386-unknown- linux2.0.tar.gz · glibc tar.gz package ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-glibc- i386-unknown-linux2.0.tar.gz · libc5 rpm package ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-1.i386.rpm · glibc rpm package ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-glibc-1.i386.rpm · Capture the Flag client-package ftp://ftp.cdrom.com/pub/quake/planetquake/threewave/ctf/client/3wctfc.zip Andere vermelde software: · lha archief-utility ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z. · SVGAlib grafische library http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.tar.gz · SVGAlib libc5 binary http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar.gz · Glide programmalibraries http://glide.xxedgexx.com/3DfxRPMS.html 2.2.2. 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 2.2.3. 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 · Als er een bestand met de naam 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. · Koppel de twee bronbestanden vanaf je CD aaneen tot een enkel bestand op je harddisk: cat /mnt/cdrom/quake101.1 /mnt/cdrom/quake101.2 > resource.1 · Ga nu verder met de volgende paragraaf, maar als ik verwijs naar /mnt/cdrom/resource.1, zou je in plaats daarvan /usr/local/games/quake/resource.1 moeten gebruiken. · Nu is het tijd om de Quake bestanden uit te pakken. Het bestand 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 * · Als je vanaf een versie 1.01 CD hebt geïnstalleerd, zul je nu je 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''". 2.2.4. 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 · als je de bestanden vanaf je DOS/Windows partitie wilt kopiëren, doe dan zoiets als dit: cp /win95/games/quake/id1/*.pak id1 · Om in plaats daarvan koppelingen naar je DOS/Windows Quake bestanden aan te maken, doe je dit: 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''". 2.2.5. 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: · X11 Quake geeft je de mogelijkheid om Quake in een venster op je X- desktop te draaien. Het is de minst spannende client, maar het is een geweldige, veilige manier om je installatie te testen. · Squake is de SVGAlib Quake-client. Het draait schermvullend op je console. · GLQuake is de OpenGL Quake-client, de Enige Echte Manier om Quake te spelen als je een 3Dfx accelleratorkaart hebt. 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 (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. 2.7.1. 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. 2.7.2. 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. 2.7.3. Mesa 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: · Verwijder je oude Mesa-installatie. Als je eerder een 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* · Als de nieuwe Mesa een major versienummer groter dan 2 heeft, moet je er een koppeling met de naam 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 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: · een libc5 tar.gz package · een glibc tar.gz package · een libc5 rpm package · een glibc rpm package 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 voorvereisten 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. 2.9.1. 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 2.9.2. 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. 2.9.3. 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. · lib3dfxgl.so Met Quakeworld versie 2.30, is er een alternatief voor de library Mesa beschikbaar. 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 er vanuit 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 $* ______________________________________________________________________ Je kunt zien welke driver wordt geladen door de uitvoer op je console te bekijken op het moment dat QuakeWorld start: 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 ++ 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. 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. 2.11.1. 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. 2.11.2. Mission Packs Activision gaf twee pakketjes met uitbreidingen voor Quake uit met daarin extra niveaus, Scourge of Armagon en Dissolution of Eternity. · Mission Pack 1: The Scourge of Armagon Ervan uitgaande dat je CD op /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 · Mission Pack 2: Dissolution of Eternity Voor het installeren van het tweede mission pack kun je vrijwel dezelfde procedure volgen als voor het installeren van de eerste pack. Volg de aanwijzingen op voor Mission Pack 1, maar vervang het woord hipnotic door het woord rogue, en sla de config.cfg stap over, aangezien dit bestand niet op de Mission Pack 2 CD voorkomt. 2.11.3. 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. Voorvereisten Je zult als een absoluut minimum het volgende nodig hebben: · Een Pentium 90 of beter (133 aanbevolen) computer · 16 MB RAM (24 aanbevolen) · De Quake 2 CD-ROM of de demo-versie (q2-314-demo-x86.exe) · Linux kernelversie 2.0.24 of later · libc 5.2.18 of later · Eén van de volgende: · X11 server die de MITSM gedeelde geheugenuitbreiding ondersteunt. 8 en 16 bit displays worden ondersteund. (voor X renderer) · SVGAlib 1.2.10 of later (voor SVGA- en GL-renderer) · 25-400 megabytes vrije diskruimte (afhankelijk van hoe je het installeert) · Toegang tot de root-account van de computer waarop je installeert Optioneel: · Een ondersteunde geluidskaart · Een 3Dfx Voodoo Graphics of Voodoo2 of Voodoo Rush 3D grafische accelerator kaart. · 3Dfx glide libraries geïnstalleerd (voor GL-renderer) · Mesa 2.6 of later (voor GL-renderer) 3.2. Installeren van Quake II 3.2.1. 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: · ftp.cdrom.com/pub/idgames/idstuff (California, USA) · ftp.gamesnet.net/idsoftware (California, USA) · ftp.stomped.com/pub/mirror/idstuff (Minnesota, USA) · mirrors.telepac.pt/pub/idgames (Lisbon, Portugal) · download.netvision.net.il/pub/mirrors/idsoftware (Haifa, Israel) De Quake II bestanden waarnaar in deze sectie wordt verwezen zijn: · Quake II Linux Binaries · libc5 tar.gz package ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.20-i386-unknown- linux2.0.tar.gz · glibc tar.gz package ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.20-glibc- i386-unknown-linux2.0.tar.gz · libc5 rpm package ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.20-6.i386.rpm · glibc rpm package ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.20-glibc-6.i386.rpm · Quake II Demo Versie voor Windows ftp://ftp.idsoftware.com/idstuff/quake2/q2-314-demo-x86.exe · Quake II Game Source ftp://ftp.idsoftware.com/idstuff/quake2/source/q2src320.shar.Z · Xatrix (Mission Pack 1) Game Source ftp://ftp.idsoftware.com/idstuff/quake2/source/xatrixsrc320.shar.Z · Rogue (Mission Pack 2) Game Source ftp://ftp.idsoftware.com/idstuff/quake2/source/roguesrc320.shar.Z · Quake II Capture the Flag ftp://ftp.idsoftware.com/idstuff/quake2/ctf/q2ctf102.zip · Quake II Capture the Flag Game Source ftp://ftp.idsoftware.com/idstuff/quake2/ctf/source/q2ctf-1.02-source.shar.Z Andere genoemde software: · SVGAlib grafische library http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.tar.gz · SVGAlib libc5 binaryhttp://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar.gz · Glide programmalibraries http://glide.xxedgexx.com/3DfxRPMS.html · Mesa 3D grafische library http://www.ssec.wisc.edu/~brianp/Mesa.html · unzip archief-utility http://sunsite.unc.edu/pub/Linux/utils/compress/unzip-5.31.tar.gz 3.2.2. 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 er vanuit worden gegaan dat dit je huidige directory is. mkdir /usr/local/games/quake2 cd /usr/local/games/quake2 3.2.3. 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. · Volledige Installatie De eenvoudigste installatie-methode is een "full" installatie, wat inhoudt dat de volledige inhoud van je CD naar je harddrive wordt gekopieerd. Dit vereist ongeveer 350 MB, en wordt bewerkstelligd door de volgende commando's uit te voeren: cd /usr/local/games/quake2 cp -r /mnt/cdrom/Install/Data/* . Er zullen heel wat onnodige Windows bestanden rondzwerven die je gerust kunt verwijderen: rm -f /usr/local/quake2/*.dll rm -f /usr/local/quake2/quake2.exe rm -f /usr/local/quake2/baseq2/gamex386.dll · Medium Install Als 450 MB teveel ruimte is om aan Quake II toe te wijzen, kun je het installeren van de filmfragmenten achterwege laten en in plaats daarvan een koppeling naar deze bestanden op de CD-ROM aanmaken. Dit zal de benodigde ruimte reduceren tot ongeveer 200 MB: cd /usr/local/games/quake2 mkdir baseq2 cp /mnt/cdrom/Install/Data/baseq2/pak0.pak baseq2 cp -r /mnt/cdrom/Install/Data/baseq2/players baseq2 ln -s /mnt/cdrom/Install/Data/baseq2/video baseq2/video Merk op dat dit niet betekent dat je je Quake II CD iedere keer dat je Quake II wilt spelen, moet mounten. Als het spel geen video's kan laden, zal het ze gewoon niet tonen. 3.2.4. 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. · Als je de bestanden vanaf je Windows-partitie wilt kopiëren doe dan zoiets als: cd /usr/local/games/quake2 cp -r /win95/games/quake2/baseq2 . · Om in plaats daarvan koppelingen naar je Windows Quake II bestanden aan te maken, doe dit: cd /usr/local/games/quake2 ln -s /win95/games/quake2/baseq2 . Deze tweede methode vereist dat de Windows-partitie die je koppelt schrijfbaar moet zijn voor gebruikers, wat niet voor alle systemen geschikt kan zijn. Door je Windows-partitie schrijfbaar te maken, geef je alle gebruikers de mogelijkheid om je volledige Windows- installatie te ruïneren. Als je dat ok vindt, wijzig dan je /etc/fstab om de Windows-partitie met de opties umask=002,gid=XXX te mounten, waar XXX het groep id-nummer is van de groep "users". Kijk in /etc/group voor deze informatie. Als fstab is bijgewerkt, umount en mount dan opnieuw de Windows-partitie en je bent klaar. Je bent klaar met het installeren van de Quake II gegevensbestanden. Ga verder met "``Installeren van de Linux Binaries''". 3.2.5. 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: · een libc5 tar.gz package · een glibc tar.gz package · een libc5 rpm package · een glibc rpm package 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. 3.3.1. 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 3.3.2. 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. 3.4.1. 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 (bk@gamers.org) 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. 3.7.1. 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''. 3.7.2. 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. 3.7.3. Mesa ** 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 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: · Verwijder je oude Mesa-installatie. Als je eerder een libMesaGL.so.2.6 installeerde, zoals hierboven beschreven, moet je het verwijderen of Quake II zal de nieuwe versie mogelijk niet kunnen gebruiken. cd /usr/local/lib/ rm -f libMesaGL.so.2* · Als de nieuwe Mesa een major versienummer groter dan 2 heeft, moet je er een koppeling met de naam libMesaGL.so.2 naar aanmaken: cd /usr/local/lib/ ln -s /waar/je/het/dan/ook/installeerde/libMesaGL.so.3.0 libMesaGL.so.2 ldconfig 3.7.4. 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. 3.7.5. 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. 3.10.1. 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. 3.10.2. 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. 3.10.3. Andere Bronnen met Server Informatie · De Q2 Server FAQ geeft een basis stap-voor-stap leidraad om een Q2 Server onder Linux in te stellen: http://www.bluesnews.com/faqs/q2s-faq.html · Grant Cornelius Reticulus Copernicus Sperry (flubber@xmission.com) heeft een aantal basis Q2 server-configuratiebestanden en opstartscripts op http://www.atomicage.com:80/quake/server/server_cfg/. 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. 3.11.1. 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 3.11.1.1. 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. 3.11.2. 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. 3.11.3. 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. 3.11.4. Mission Packs · Mission Pack 1: De Reckoning De Reckoning vereist Quake II versie 3.15 of later om te draaien. Je zult op z'n minst 95 MB nodig hebben voor een minimuminstallatie. Nog eens 90 MB zijn vereist als je de video-sequences ook wilt installeren. Er van uitgaande dat je CD is gemount op /mnt/cdrom en Quake II is geïnstalleerd in /usr/local/games/quake2: cd /usr/local/games/quake2 cp -r /mnt/cdrom/Data/all/* xatrix/ rm -f xatrix/gamex86.dll Als je de video-sequences wilt installeren: cp -r /mnt/cdrom/Data/max/xatrix/video xatrix Start als volgt De Reckoning: cd /usr/local/games/quake2 ./quake2 +set game xatrix · Mission Pack 2: Ground Zero Het vereist Quake II versie 3.17 of later om te draaien. Je zult op z'n minst 120 MB voor een minimuminstallatie nodig hebben. Nog eens 115 MB zijn vereist als je de video-sequences ook wilt installeren. Ervan uitgaande dat je CD is gemount op /mnt/cdrom en Quake II is geïnstalleerd in /usr/local/games/quake2: cd /usr/local/games/quake2 cp -r /mnt/cdrom/Data/all/* rogue/ rm -f rogue/gamex86.dll Als je de video-sequences wilt installeren: cp -r /mnt/cdrom/Data/max/rogue/video rogue Start als volgt het spel Ground Zero op: cd /usr/local/games/quake2 ./quake2 +set game rogue 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:steve@activesw.com. Hier is een opsomming van de kenmerken van de homepage van QStat: · Ondersteunt Windows 95, NT, en de meeste Unixes · Wordt geleverd met C source-code en een uitvoerbaar bestand voor Windows · Ondersteunt de oude Quake (NetQuake), QuakeWorld, Hexen II, en Quake II servers · Kan alle beschikbare statistische gegevens tonen, waaronder spelersinfo en serverregels · Uitvoer van sjablonen voor automatische HTML generatie · Onbewerkte display mode voor integratie met HTML-pagina generators · Ingebouwde host name cache · Sorteer op ping tijd, spel, of beiden · Meer opties dan je nodig hebt 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 (roma@botik.ru), 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 (odebon@club-internet.fr) 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 (tech.hmw@plus.it), 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: · Je kunt dynamisch schakelen tussen schermvullende weergave en de vensterweergave door gewoon de TAB-toets in te drukken (je moet je X-server in 16 bpp mode opstarten om deze mogelijkheid te kunnen gebruiken) · Je kunt Ctrl-C in de shell indrukken of het Quake proces zonder probleem `killen' · je kunt de muis en toetsenbord `afvang' activeren/de-activeren door het indrukken van F11/F12 · je kunt Quake tot ikoon verkleinen en onderbreken door F10 in te drukken (het zal niet meer CPU cyclussen verbruiken). Je kunt alles herstarten met een dubbelklik in het "****" ikoon · je kunt Quake met elke Mesa-driver draaien (bijvoorbeeld met de X11-driver maar je moet Mesa hercompileren zonder de Voodoo driver) · je kunt Quake onder elke Linux-box draaien en de hardware versnelde uitvoer op een SGI-box verkrijgen (OK, dit is wat exotisch en theoretisch als kenmerk, maar het is een voorbeeld van hoe krachtig een GLX/OpenGL-applicatie kan zijn) 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 (bbrox@mygale.org). 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 (mgleason@ncftp.com) 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 (michael_dwyer@mwiworks.com). 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 (cknudsen@radix.net) 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 5.1.1. OS verschillen overwegingen · Hoofdlettergevoeligheid - In DOS en Windows is de letterkast niet belangrijk. BASE1.TXT is hetzelfde als base1.txt is hetzelfde als Base1.Txt. Onder Linux en andere unices is de letterkast veelbetekenend. MOTD.TXT en motd.txt zijn verschillende bestanden. Dit kan problemen met speler models en skin-bestanden veroorzaken als de bestandsnamen in hoofdletters of gemengd hoofd- en kleine letters zijn geïnstalleerd. players/male/santa.PCX moet worden hernoemd naar santa.pcx om voor de Santa skin onder Linux zichtbaar te zijn. Het fixskins.sh script met met quakeworld wordt meegeleverd zal alle bestandsnamen in een directory converteren naar kleine letters. Voor je gemak wordt het hieronder gereproduceerd: ___________________________________________________________________ #!/bin/sh for x in *; do y=`echo $x | tr '[A-Z]' '[a-z]'` if [ $x != $y ]; then mv $x $y fi done ___________________________________________________________________ · Pad scheidingstekens - DOS en Windows gebruiken het backslash "\" teken om bestands padnaamelementen te scheiden. In Unix, is de backslash een escape teken. Quake en Quake2 voor Windows herkennen zowel " \" als "/" als geldige padscheidingstekens, dus als je bestandspadnamen gebruikt in je configuratiebestanden (of je mod code, of elders wat dat aangaat), wees er dan zeker van dat je "/" en niet "\" gebruikt. · Einde-regel tekens - Onder DOS/Windows eindigt iedere regel van een tekstbestand met een carriage return teken (CR) en een linefeed teken (LF). Unix tekstbestanden hebben slechts een linefeed aan het einde van iedere regel. Het gebruiken van DOS/Win opgemaakte tekstbestanden in Unix kan allerlei soorten mysterieuze Quake problemen veroorzaken. Bijvoorbeeld, het onjuist opgemaakte bestand quake2.conf van het Quake2 3.17 package genereerde de fout LoadLibrary ("ref_XXX.so") failed: No such file or directory. LMCTF-TE rapporteert een floating point exception. Als je een probleem hebt dat je niet kunt verklaren, probeer dan de CR's uit je tekstbestanden te verwijderen: mv file.txt file.bak; tr -d '\r' < file.bak > file.txt 5.1.2. 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: · Zowel RedHat 5 als Debian 2 hebben libc5 compatibiliteit packages die je toestaan om op libc5 gebaseerde applicaties te draaien. Zorg ervoor dat je deze packages hebt geïnstalleerd. Beide distributies plaatsen de op libc5-gebaseerde libraries in /usr/i486-linux-libc5/lib. · Zorg ervoor dat Quake de juiste libraries gebruikt. Maak een script aan zoals hieronder waarbij $LD_LIBRARY_PATH verwijst naar je compabiliteit libraries directory voordat Quake wordt opgestart. ___________________________________________________________________ #!/bin/sh export LD_LIBRARY_PATH=/usr/i486-linux-libc5/lib ./quake2 +set vid_ref gl $* ___________________________________________________________________ · Als je een library zoals SVGAlib of Mesa voor gebruik met Quake gaat compileren, moet het met libc5 en dergelijke worden gecompileerd. Het eenvoudigweg bouwen van een nieuwe library overeenkomstig de installatie-instructies zal resulteren in een library die met je standaardlibrary, glibc, is verbonden. Je moet ervoor zorgen dat je nieuwe library alleen verbonden is met libc5 en op libc5-gebaseerde libraries zodat het compatibel met Quake zal zijn. Zie de documentatie van je distributie voor informatie over het koppelen met de niet-standaard libraries. 5.1.3. Mijn muis werkt niet of lijkt willekeurig te reageren. ** · Draait gpm? gpm is een programma dat je de mogelijkheid geeft om met de muis in virtuele consoles te knippen en te plakken. Veel distributies activeren het standaard. Het kan zijn dat het botst met Quake. Controleer met het volgende commando of het actief is: ps aux | grep gpm Als je uitvoer krijgt dat lijkt op root 6115 0.0 0.4 832 316 ? S 17:54 0:00 gpm -t PS/2 dan is gpm aktief en verstoort Quake. gpm -k (als root) behoort gpm te stoppen. Als dit het niet doet (gpm -k werkt op mijn systeem niet altijd), stop gpm dan met het commando killall gpm. Als je gpm nooit gebruikt, wil je misschien dat het bij het opstarten niet meer wordt geactiveerd. Zie de documentatie voor je distributie voor informatie over hoe je dit moet doen. · Is je muis juist gedefinieerd in libvga.config? Dit bestand komt meestal voor in /etc of /etc/vga. Open het en zoek een regel op zoals mouse Microsoft Op mijn systeem is dit de eerste optie in het bestand. Zorg ervoor dat het muistype overeenkomstig je hardware is. · Heb je RW permissies voor je mouse device? De permissies van je mouse device mogen je alleen toestaan dat je er leestoegang toe hebt. Quake wil het met leess en schrijf permissies openen, dus je zult het commando chmod 666 erop toe moeten passen of het als een gebruiker of groep moeten draaien die permissie hebben om het te lezen en te beschreven. Het werkelijke devicebestand waar het hier om gaat zal verschillen afhankelijk van welk type muis je op je systeem hebt. Meestal is /dev/mouse een symbolische koppeling naar je werkelijke mouse devicebestand, dus als je het commando ls -l /dev/mouse geeft, zou dit op moeten leveren welk bestand je moet wijzigen. 5.1.4. 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. 5.1.5. onder Windows. Mijn muis is "vertraagd" en het lijkt erop dat hij veel langzamer is dan · Voor veel mensen zal slechts het aanslingeren van de gevoeligheids- waarde in de spelconsole het probleem verhelpen De gevoeligheid met de hand in de console of in een Setting sensitivity by hand in the console or in a .cfg bestand instellen staat je toe om de muisgevoeligheid meer te verhogen dan de schuifregelaar in het `Options' menu dit toestaat. bijvoorbeeld sensitivity 15. · Van Zoid's 1/7/98 .plan update: Als je video 'vertraging' in de GL-renderer bemerkt (de herhalingsfrequentie lijkt achter te lopen op je muisbewegingen) typ "gl_finish 1" in de console. Dit forceert het bijwerken op een per frame basis. · De laatste versie van SVGAlib (1.3.0) voorziet in een poel parameters in libvga.config die je kunt gebruiken om het gedrag van je muis aan te passen. Met de juiste instellingen zou het mogelijk moeten zijn om je muis zo in te stellen zoals je wilt. Op mijn systeem gaf slechts het wijzigen van mouse_accel_type naar normal (standaard is power) me de resultaten die ik wilde. Ik heb niet met de andere instellingen gerommeld en ik wil niet doen alsof ik doorheb wat ze allemaal doen. 5.1.6. te draaien, rapporteert het dat ik geen Voodoo kaart heb geïnstalleerd. Ik heb een Voodoo2, en als ik wil proberen het met de gl renderer Er zijn voor de Voodoo en Voodoo 2 kaarten verschillende Glide versies. Wees er zeker van dat je de juiste voor je systeem download. 5.1.7. soms in een onbruikbare toestand achter. 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 console 5.1.8. onbruikbaar achter. Soms als Quake/Quake II abnormaal eindigt, laat het mijn console 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 ______________________________________________________________________ 5.1.9. 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. 5.1.10. 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. 5.1.11. 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. 5.1.12. 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. 5.1.13. naar terugkeren? Hoe kan ik een server starten en uitloggen en vervolgens er later 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. 5.1.14. 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 typ 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. 5.1.15. slechts het halve venster in beslag en/of de kleuren zien er allemaal raar uit. ++ Als ik Quake/Quakeworld/Quake II onder X draai, neemt de afbeelding 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. 5.1.16. 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 5.2.1. 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. 5.2.2. Wat is het verschil tussen glqwcl , glqwcl.3dfxgl , en glqwcl.glx ? · glqwcl is de standaard GL Quakeworld client die je in voorgaande versies hebt gezien. Het is verbonden met libMesaGL.so.2. · glqwcl.3dfxgl is een script dat glqwcl opstart na het vooraf laden van de 3Dfx GL miniport library lib3dfxgl.so. Het vooraf laden van de miniport-library veroorzaak dat de GL-functies die hierin staan worden gebruikt in plaats van die van Mesa. Aangezien de GL- miniport voor Quake is geoptimaliseerd, is dit een goede zaak. · glqwcl.glx is verbonden met de standaard OpenGL libraries in plaats van met Mesa. Dit geeft je de mogelijkheid om glquake op andere 3D-hardware te draaien die door een aantal andere OpenGL- implementaties wordt ondersteund. Dit is een X-applicatie en moet als zodanig vanuit X worden uitgevoerd. 5.2.3. muis of toetsenbord niet gebruiken. Als ik glqwcl.glx schermvullend vanuit X draai, kan ik mijn 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 5.3.1. geeft het de melding "LoadLibrary("ref_gl.so") failed: Unable to resolve symbol" Als ik Quake II met de GL-renderer probeer te draaien, mislukt dit en 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. 5.3.2. Quake II mislukt met de melding LoadLibrary("ref_XXX.so") failed: No such file or directory · het juiste pad naar je Quake II directory staat niet in /etc/quake2.conf. In dit bestand zou één regel voor moeten komen waarin de Quake II directory voorkomt. · Als in /etc/quake2.conf het juiste pad niet staat vermeld, probeer het bestand dan te verwijderen en het met de hand opnieuw aan te maken. Een aantal versies van Quake II voor Linux worden geleverd met een onjuist geformatteerd quake2.conf bestand. · Heb je SVGAlib geïnstalleerd? Kijk /lib, /usr/lib en /usr/local/lib na voor een bestand met de naam libvga.so.1.X.X, waar de X voor een aantal nummers staat. Als er niets verschijnt, zul je SVGAlib op moeten halen en installeren om Quake II buiten X te draaien. · Als de renderer waar het hier om gaat ref_gl.so is, kan het zijn dat Mesa niet juist is geïnstalleerd. Het je libMesaGL.so.2.6 naar een libraries-directory gekopieerd zoals in de installatie- instructies werd aangegeven? · Als de renderer waar het hier om gaat ref_gl.so is, heb je dan de glide libraries geïnstalleerd? 5.3.3. en op "apply" klik, gebeurt er niets! Als ik de helderheid bijwerk terwijl ik gebruik maak van de GL-renderer, Tik in de console vid_restart om de wijzigingen te activeren. 5.3.4. 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 5.3.5. draai, kan ik mijn muis of toetsenbord niet gebruiken. Als ik Quake II met +set vid_ref glx schermvullend vanuit X 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, you're likely to move the pointer outside this window, and then Quake II will stop responding to mouse and keyboard input. +set _windowed_mouse 1 makes Quake II grab the mouse exclusively. 5.3.6. die in het Quake II Videomenu staan? Waarom kan ik niet naar een aantal van de SVGA modes overschakelen 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. 5.3.7. aanpassing draait, crasht quake2 met de melding "Error: VID: Could not open display". ** Als ik verbinding probeer te maken met een Quake II server die een 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 (joey@kite.ml.org). 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". · Als eerste, heb je het open(1) package door Jon Tombs nodig. Dit is een set met twee zeer kleine programma's die je toestaan tussen virtuele consoles te schakelen en er programma's in te starten. Download open vanaf http://sunsite.unc.edu/pub/Linux/utils/console/. Je hoeft niet veel meer te doen dan een make;make install om het te compileren en het te installeren. Zodra het is geïnstalleerd, moet je de uitvoerbare bestanden open en switchto als setuid root instellen. Dus doe dit: cd /usr/local/bin chown root open switchto chmod 4755 open switchto · Sla de volgende code op in een bestand met de naam getvc.c: ___________________________________________________________________ /* getvc.c * Drukt het nummer van de huidige VC af naar stdout. De meeste code * hiervan werd uit het open programma gehaald, en deze code valt onder GPL. * * * Joey Hess, Fri Apr 4 14:58:50 EST 1997 */ #include <sys/vt.h> #include <fcntl.h> main () { int fd = 0; struct vt_stat vt; if ((fd = open("/dev/console",O_WRONLY,0)) < 0) { perror("Failed to open /dev/console\n"); return(2); } if (ioctl(fd, VT_GETSTATE, &vt) < 0) { perror("can't get VTstate\n"); close(fd); return(4); } printf("%d\n",vt.v_active); } /* End of getvc.c */ ___________________________________________________________________ Compileer en installeer het ergens in je $PATH: gcc getvc.c -o getvc strip getvc mv getvc /usr/local/bin · Maak nu een script aan met de naam runvc: je $PATH: ___________________________________________________________________ #!/bin/sh # Start iets op een VC op, vanuit X, en schakel terug naar X als je klaar bent. # GPL Joey Hess, Thu, 10 Jul 1997 23:27:08 -0400 exec open -s -- sh -c "$* ; chvt `getvc`" ___________________________________________________________________ Maak het uitvoerbaar en plaats het ergens in je $PATH: chmod 755 runvc mv runvc /usr/local/bin Nu kun je het commando runvc gebruiken om Quake op te starten. Ga verder met de commando-regel die je normaal gesproken gebruikt om je spel op te starten, maar plaats runvc aan het begin: runvc ./quake2 +set vid_ref gl +connect quake.foo.com Je zult automatisch naar een VC overschakelen, Quake draaien en dan terugschakelen naar X als je klaar bent! · Update: Joey Hess schreef: Ik wil er graag op wijzen dat een aantal mensen kunnen bemerken dat dit niet werkt. Als de /dev/ttyxx devices standaard niet toelaten dat je ernaar toe kunt schrijven (een goed idee), dan zal het open commando er niet naartoe kunnen schakelen. In dat geval, is het nodig dat je het commando chown toepast op de volgende vrije tty nadat je X hebt opgestart. Ik doe dit als volgt in het Xtartup_0 script van xdm: ____________________________________________________________ # Stel tty8 in als een console die schrijfbaar is door de huidige gebruiker, # dus dat open -s commando's kunnen worden gebruikt om zaken daar uit te voeren. # Tty8 wordt gebruikt omdat het de volgende vrije tty na 7 is waar X draait, # en dus probeert open het te gebruiken. chmod 640 /dev/tty8 chown $USER.root /dev/tty8 # Dit opent een heel klein beveilingslek: # gebruiker_a logt in met xdm, en logt dan uit. # gebruiker_b logt in op de console. # gebruiker_a kan gebruiker_b nu via het open commando naar tty9 # omleiden en in een bepaald programma terecht laten komen dat # hem er misschien toe brengt om een wachtwoord in te voeren. # ____________________________________________________________ 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. (jszabo@eden.rutgers.edu) 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 (fixy@fixy.org) 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: · http://www.linuxquake.com/ · http://webpages.mr.net/bobz/ · http://www.linuxgames.com/quake 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.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> 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> gemaakt in plaats van <sect1>. 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. ______________________________________________________________________