Linux Quake HOWTO

Bob Zimbinski bobz@mr.net Svensk översättning Albert Veli underland@swip.net v1.0.1.14, 30 August 1998. Svensk version Februari 1999

Detta dokument förklarar hur Quake, QuakeWorld och Quake II installeras och körs under Intel Linux system.

Innehåll

1 Introduktion 4 1.1 Feedback, Kommentarer, Ändringar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Tacksägelser ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Andra Informationskällor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3.1 Linux-Specifik Quake Information ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3.2 Generell Quake Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3.3 Linux Spel Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Quake/Quakeworld 6 2.1 Minimi Krav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Att Installera Quake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2.1 Ladda hem Nödvändiga Filer ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2.2 Skapa Installations Katalogen ++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2.3 Att Installera Från en Quake CD ++ . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2.4 DOS/Windows till Linux Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.5 Shareware Versions Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3 Lägga till Linux Binärerna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4 Att Sätta Rättigheter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.5 X11 Quake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.6 SVGAlib Quake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.7 GLQuake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.7.1 SVGAlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.7.2 Glide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.7.3 Mesa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.8 Linux-Specifika Kommando rad parametrar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.9 QuakeWorld ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.9.1 Att installera RPM paketen ++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.9.2 Att Installera tar.gz paketen ++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.9.3 Att köra QuakeWorld ++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.10 Servrar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.11 Mods & Addons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.11.1 Capture The Flag (Fånga Flaggan) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.11.2 Mission Packs (Uppdrags Paket) ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.11.3 Quake Verktyg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3 Quake II 18 3.1 Minimi Krav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2 Att Installera Quake II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2.1 Ladda hem Nödvändiga Filer** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2.2 Skapa Installations Katalogen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.3 Att Installera Från CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.4 Windows till Linux installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2.5 Installera demo versionen ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.3 Lägga till Linux Binärerna ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.3.1 Att installera RPM paketen ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.3.2 Att Installera tar.gz paketen ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4 Sätta Rättigheter ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4.1 Quake2.conf ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.5 X Rendreraren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.6 SVGAlib Rendreraren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.7 OpenGL Rendreraren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.7.1 SVGAlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.7.2 Glide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.7.3 Mesa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.7.4 lib3dfxgl.so ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.8 GLX Renderaren ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.9 Linux-Specifika Kommando rad parametrar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.10 Quake II Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.10.1 Lyssnande Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.10.2 Hängivna Servrar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.10.3 Andra Server Informations Källor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.11 Modifikationer & Tillägg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.11.1 Modifikationer på Klient Sidan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.11.2 Modifikationer på Server Sidan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.11.3 Spelets Källkod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.11.4 Mission Packs ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4 Relaterad Mjukvara ++ 31

4.1 QStat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.2 XQF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.3 QuickSpy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.4 QPlug för Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.5 qkHacklib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.6 GiMd2Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.7 QIPX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.8 Ice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.9 Q2getty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.10 rcon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.11 qlog ++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.12 Cheapo ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.13 qgraph ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5 Felsökning/Vanliga Frågor 34

5.1 Allmänt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.1.1 Skillnader mellan Operativ System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.1.2 Glibc, RedHat 5.x, Debian 2 överväganden ** . . . . . . . . . . . . . . . . . . . . . . . 35 5.1.3 Min mus verkar inte fungera eller svarar slumpmässigt . . . . . . . . . . . . . . . . . . 35 5.1.4 Min Microsoft Intellimouse eller Logitech MouseMan+ fungerar inte korrekt. . . . . . 36 5.1.5 Min mus ”laggar” och verkar mycket slöare än under Windows. . . . . . . . . . . . . . 36 5.1.6 Jag har ett Voodoo2, när jag försöker köra gl redndreraren, rapporterar den att jag

inte har något Voodoo kort installerat. . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.1.7 När jag spelar något av Quake spelen under SVGAlib eller GL och trycker CTRL-C,

avslutas spelet och ibland lämnas min konsol oanvändbar. . . . . . . . . . . . . . . . . 36 5.1.8 Ibland när Quake/Quake II avslutas onaturligt, lämnas min konsol oanvändbar. … 36 5.1.9 squake/quake2 startar inte och säger ”svgalib: cannot get I/O permissions" . . 36 5.1.10 Ibland slutar tangentrepetitionen i X att fungera efter att något av Quake spelen körts

i X. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.1.11 Quake/Quake II säger ”/dev/dsp : device not configured” . . . . . . . . . . . . . . . . 37 5.1.12 GL Quake/Quake II är långsammare i Linux än i Windows. ** . . . . . . . . . . . . . 37 5.1.13 Hur gör jag för att starta en server, logga av, och återkomma till den senare? ** … 37

5.2 Quake/QuakeWorld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.2.1 Quake dör med ett segmentation fault när det startas. . . . . . . . . . . . . . . . . . . 38 5.2.2 Vad är skillnaden bellan glqwcl, glqwcl.3dfxgl, och glqwcl.glx? ++ . . . . . . . . 38 5.2.3 När jag kör glqwcl.glx i fullskärm från X, kan jag inte använda musen eller tangent-

bordet ++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.3 Quake II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5.3.1 När jag försöker köra Quake II med GL renderaren, misslyckas det med meddelandet

”LoadLibrary(”ref gl.so”) failed: Unable to resolve symbol” . . . . . . . . . . . . . . . 38

       5.3.2 start av Quake II ger felmeddelandet LoadLibrary("ref XXX.so") failed: No such

file or directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.3.3 När jag ändrar brightness under GL renderaren, och trycker på ”apply”, händer det

ingenting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.3.4 Anmärkning på 3.17 distributionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.3.5 När jag hör Quake II med +set vid ref glx i fullskärmsläge från X, kan jag inte

använda musen eller tangentbordet. ++ . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.3.6 Varför kan jag inte ändra en del av SVGA lägena som finns i Quake II Video menyn? ** 39

6 Tips & Trick 40 6.1 Att köra X och GL versionerna utan setuid . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 6.2 Att köra SVGA och GL spel från X** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 6.3 Att hålla musen innanför fönstret i X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 6.4 3Dfx ”tweak” inställningar fungerar även under Linux . . . . . . . . . . . . . . . . . . . . . . 42 6.5 Fattig Mans Server Bläddrare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 6.6 Att använda lib3dfxgl.so med Quake I ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

7 Administrativa 43 7.1 Nya Versioner av Detta Dokument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 7.2 Andra Format av Detta Dokument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 7.3 Distributions Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 7.4 Revisions Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

1 Introduktion

Quake, QuakeWorld och Quake II är enormt populära actionspel utvecklade av idSoftware. Om du inte är hemmastadd med Quake spelen, finns det bättre platser än denna HOWTO för att lära sig grunderna. Se sektion 1.3 (Andra Informationskällor) nedan för en lista över några av de bättre platserna. Detta dokument förutsätter att du har fått igång Linux, och i vissa fall även X Windows. X krävs inte för dessa spel, men det är ett bra sätt att testa en grundläggande installation. Om du inte kör X, kan du hoppa över referenser till det. Avsnitt av detta dokument som uppdaterades i senaste revisionen är markerade med ** efter rubriken. Avsnitt som uppdaterades i revisionen före den senaste är markerade med ++.

1.1 Feedback, Kommentarer, Ändringar

Detta dokument innehåller definitivt inte allt som är värt att veta om Linux Quake. Med din hjälp kan vi dock närma oss detta ideal. Vi vill att denna HOWTO ska vara så komplett och riktigt som möjligt, så om du noterar misstag eller utelämningar, uppmärksamma oss på dem.

Frågor, kommentarer eller ändringar sänds till Bob Zimbinski (bobz@mr.net) eller Mike Hallock (mikeh@ medina.net). Konstruktiv kritik välkomnas, inte flames.

1.2 Tacksägelser **

Orginalversionen av detta dokument skrevs av Brett A.Thomas (quark@baz.com) och Mike Hallock (mikeh@ medina.net). Bob Zimbinski (bobz@mr.net) skrev om och expanderade originaldokumentet. Särskilt tack riktas till följande personer för att de givit oss Quake för Linux:

• John Carmack och resten av idSoftware för dessa enastående spel.

• Dave ’Zoid’ Kirsch (zoid@idsoftware.com) för Linux portningarna.

• Dave Taylor (ddt@crack.com) för uppstarten av hela det här snurriga Linux portnings företaget.

• Daryll Strauss (daryll@harlot.rb.ca.us) för Linux glide portningarna.

• Brian Paul (brianp@elastic.avid.com) för grafik biblioteket Mesa.

• David Bucciarelli (tech.hmw@plus.it) för Mesa/glide drivrutinen.

Tack till följande personer för bidrag till denna Howto:

• Mike Brunson (brunson@l3.net) för vid restart tipset.

• Joey Hess (joey@kite.ml.org) för info om att köra svga & gl spel från X.

• Joe S. (jszabo@eden.rutgers.edu) för en rykande rad förslag.

• Brad Lambert (bradl@dial.pipex.com) för -noudp påminnelsen.

• agx (gguenthe@iris.rz.uni-konstanz.de) för Quake installations info och för fingervisning om QIPX.

• Derrik Pates (dmp8309@silver.sdsmt.edu) för att ha fått mig att tänka på säkerheten.

• Michael Dwyer (michael\_dwyer@mwiworks.com) för idéerna ”OS överväganden”.

• Derek Simkowiak (dereks@kd-dev.com) för installations proceduren till Quake I CD.

• sunstorm (sunstorm@glasscity.net) för Quake Mission Pack 2 information.

• Neil Marshall (marshall@pssnet.com) för screen info.

1.3 Andra Informationskällor

1.3.1 Linux-Specifik Quake Information **

• LQ:Linux Quake & Tillbehör http://www.linuxquake.com/.
• Linux Quake Page http://captured.com/threewave/linux/
• QuakeWorld.net http://www.quakeworld.net

1.3.2 Generell Quake Information

• id Software http://www.idsoftware.com
• PlanetQuake http://www.planetquake.com
• QuakeWorld Central http://qwcentral.stomped.com
• 3Dfx’s GL Quake FAQ (somewhat out of date) http://www.3dfx.com/game\_dev/quake\_faq.html

• Farenheit 176 Console Command Listing http://www.planetquake.com/f176

• nyhetsgrupperna rec.games.computer.quake.*

1.3.3 Linux Spel Information

• LinuxGames http://www.linuxgames.com/
• The Linux Game Tome http://www.cs.washington.edu/homes/tlau/tome/linux-game.html

2 Quake/Quakeworld

För att installera Quake på ditt Linux system, behöver du den officiella Quake distributionen från id i någon form. Detta är antingen en detaljhandels, DOS/Windows CD-ROM som du köpt i din favorit affär, eller shareware versionen som du laddat hem från nätet (se 2.2.1 (nedan) för detaljer om hur du införskaffar shareware versionen. Alternativt, om du redan har Quake installerat på en DOS/Windows maskin, kan du använda de relevanta filerna från den installationen.

2.1 Minimi Krav

Du behöver minst följande:

• En Pentium 90 dator eller bättre (133 rekommenderat)

• 16 MB RAM (24 rekommenderat)

• Quake på CD-ROM eller shareware versionen (quake106.zip)

• Linux kärna version 2.0.24 eller senare

• libc 5.2.18 eller senare

• Ett utav följande:

– X11R5 eller senare (för xquake)

– SVGAlib 1.2.0 eller senare (för squake och glquake)

• 30-80 megabyte ledigt hårddiskutrymme (beroende på hur du väljer att installera)

• Tillgång till rootkontot på maskinen du installerar på Valfritt:

• Ett ljudkort med linuxstöd

• Ett 3Dfx VooDoo eller VooDoo2 3D grafik accelerator kort.

• Mesa 2.6 eller senare (för glquake)

2.2 Att Installera Quake

2.2.1 Ladda hem Nödvändiga Filer **

Alla nödvändiga filer för Linux Quake är tillgänliga på id Softwares ftp site, ftp.idsoftware.com. Denna site är ganska trafikerad, så du kan använda någon av dessa speglingar istället:

• ftp.cdrom.com/pub/idgames/idstuff (Kalifornien, USA)
• ftp.gamesnet.net/idsoftware (Kalifornien, USA)
• ftp.linuxquake.com/lqstuff (Michigan, USA)
• ftp.stomped.com/pub/mirror/idstuff (Minnesota, USA)
• mirrors.telepac.pt/pub/idgames (Lisabon, Portugal)
• download.netvision.net.il/pub/mirrors/idsoftware (Haifa, Israel)

Quake filerna som nämns i denna sektion är:

• Shareware Quake för Windows distribution ftp://ftp.idsoftware.com/idstuff/quake/quake106.
  zip
• X11  Quake  binär  ftp://ftp.idsoftware.com/idstuff/unsup/unix/quake.x11-1.
  0-i386-unknown-linux2.0.tar.gz
• SVGAlib  Quake  binär  ftp://ftp.idsoftware.com/idstuff/unsup/squake-1.
  1-i386-unknown-linux2.0.tar.gz
• OpenGL/Mesa Quake binär ftp://ftp.idsoftware.com/idstuff/unsup/unix/glquake-0.
  97-i386-unknown-linux2.0.tar.gz

• Linux QuakeWorld klienter (X11, SVGAlib och GL klienter är alla inkluderade i varje paket)

    – libc5 tar.gz paket ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.
      30-i386-unknown-linux2.0.tar.gz
    – glibc tar.gz paket ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.
      30-glibc-i386-unknown-linux2.0.tar.gz
    – libc5 rpm paket ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-1.i386.
      rpm
    – glibc rpm paket ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-glibc-1.
      i386.rpm

• Linux QuakeWorld server

    – libc5 tar.gz paket ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.
      30-i386-unknown-linux2.0.tar.gz
    – glibc tar.gz paket ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.
      30-glibc-i386-unknown-linux2.0.tar.gz
    – libc5 rpm paket ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-1.i386.
      rpm
    – glibc rpm paket ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-glibc-1.
      i386.rpm

   • Fånga Flaggan (Capture the Flag) klient paket ftp://ftp.cdrom.com/pub/quake/planetquake/
     threewave/ctf/client/3wctfc.zip

Annan omnämnd mjukvara:

   • lha arkiverings verktyg ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z.
   • SVGAlib grafik bibliotek http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.
     tar.gz
   • SVGAlib libc5 binärhttp://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.
     bin.tar.gz
   • Glide runtime bibliotek http://glide.xxedgexx.com/3DfxRPMS.html

2.2.2 Skapa Installations Katalogen ++

Det första du behöver göra är att bestämma var du vill installera Quake. Många lägger det i /usr/games/quake. Inbiten systemadministratör som jag är, väljer jag att lägga allting som inte ingår i min Linux distribution under /usr/local. Så för mig hamnar Quake i /usr/local/games/quake. Om du väljer att installera någon annanstans, byt ut sökvägen /usr/local/games/quake mot din sökväg.

Notis till Redhat användare: Om du planerar att installera QuakeWorld från rpm paketen, bör du installera Quake under /usr/local/games/quake, eftersom rpm paketen har den sökvägen som standard.

Skapa nu katalogen som du ska installera Quake i, och använd cd för att ställa dig i den. Resten av dessa instruktioner kommer att anta att det är din aktuella katalog.

          mkdir /usr/local/games/quake
          cd /usr/local/games/quake

2.2.3 Att Installera Från en Quake CD ++

Om du installerar från en Quake CD-ROM, läs vidare. Annars har du tillåtelse att hoppa över den här sektionen.

Det finns åtminstone två versioner av Quake CDn i cirkulation. Jag har en tidig med Quake 1.01 på. Jag har sett andra CD som innehåller Quake version 1.06. Du har 1.01 om du ser filerna quake101.1 och quake101.2 på din CD. Om du istället ser en fil kallad resource.1, har du en nyare CD. Montera nu din Quake CD och avgör vilken version du har. I exemplet nedan, ersätt /dev/cdrom och /mnt/cdrom med enhets (device) fil och monterings punkt (mount point) passande ditt system:

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

• Om du har en resource.1 fil på din CD, kan du hoppa direkt till nästa punkt. För en version 1.01 CD, måste du ladda hem Quake shareware paketet för att uppdatera .pak filerna efter installationen. Den sista punkten i denna sektion förklarar detta.

– Sätt ihop de båda resurs filerna från din CD till en enda fil på din hårddisk:

                   cat /mnt/cdrom/quake101.1 /mnt/cdrom/quake101.2 > resource.1

– Fortsätt nu på nästa paragraf, men när jag refererar till /mnt/cdrom/resource.1, använd

         /usr/local/games/quake/resource.1 istället.

• Nu är det dags att packa upp Quake filerna. resource.1 filen på din CD är egentligen ett lha arkiv (lha är ett fil komprimerings och arkiverings format ungefär som zip eller tar). Vi ska använda lha(1) kommandot för att packa upp det. Om lha inte redan är installerat på ditt system, ladda hem det från:

     ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z.
               lha e /mnt/cdrom/resource.1

När lha är klar, kommer din Quake katalog att innehålla ett gäng nya filer. En katalog kallad id1/ kommer också skapas. Filerna i den här katalogen är de enda som är viktiga för Linux Quake, så du kan utan problem radera alla andra filer. Om du är Quake nybörjare, och även om du inte är det, kan du vilja behålla *.txt filerna. På mitt system, slänger jag in alla readme filer i en doc/ katalog. Så:

               cd /usr/local/games/quake
               mkdir doc
               mv *.txt doc
               rm -f *

• Om du installerade från en version 1.01 CD, är det nu dags att skriva över din id1/pak0.pak fil med motsvarande fil från Quake shareware versionen. Installera shareware versionen som det beskrivs i 2.2.5 (Shareware Versions Installation), fast installera i någon temporär katalog så att du inte skriver över dina riktiga Quake filer. När du packat upp alla shareware filerna, kopiera id1/pak0.pak filen från din temporära shareware katalog till din /usr/local/games/quake/id1 katalog. Efter det kan du radera de temporära shareware filerna.

Det var hela CD installations proceduren. Du kan hoppa till sektionen ”2.3 (Installera Linux Binärerna)” nu.

2.2.4 DOS/Windows till Linux Installation

Om du har Quake installerat under Windows eller DOS på en annan maskin, kan du överföra filer i quake\id1\ till ditt Linux system via FTP eller någon annan mekanism. Kom ihåg att filnamnen på ditt Linux system måste bestå av små bokstäver för att Quake ska hitta dem, så du kan behöva döpa om dem efter överflyttningen. Notera också att det kan vara nödvändigt att radera din DOS/Win installation efter detta för att inte hamna i konflikt med termerna i id’s mjukvaru licens. Det är inte mitt fel om du gör något olagligt.

Om dina DOS/Win och Linux system ligger på samma maskin, har du två val: kopiera filerna från din DOS/Windows partition till din Linux partition, eller länka de nödvändiga filerna från Linux. Båda metoderna fungerar likvärdigt. Du sparar runt 50 megabyte diskutrymme om du länkar istället för kopierar.

Vad du än väljer, börja med att förflytta dig till din Quake katalog och skapa en ny katalog under den med namn id1:

          cd /usr/local/games/quake
          mkdir id1

• Om du vill kopiera filerna från din DOS/Windows partition, gör du någonting i den här stilen:

               cp /win95/games/quake/id1/*.pak id1

• För att skapa länkar från DOS/Windows Quake filerna istället, gör så här:

               cd id1
               ln -s /win95/games/quake/id1/*.pak .

Ersätt /win95/games/quake med den riktiga sökvägen till din DOS/Windows partition och din Quake katalog.

Nu är Quake data filerna installerade. Hoppa fram till ”2.3 (Installera Linux Binärerna)”.

2.2.5 Shareware Versions Installation

Singel-episoden i sharware versionen av Quake är tillgänglig för fri nedladdning från id’s ftp site. Den har samma funktionalitet som den fulla versionen, med ett par stora begränsningar: Du kan inte spela QuakeWorld med den, och du kan inte spela hemmagjorda eller modifierade banor.

Det skiljer inte speciellt mycket mellan att installera shareware versionen av Quake och att installera från CD.

Se sektion 2.2.1 (Ladda hem Nödvändiga Filer) för platser som har shareware distributionen. Ladda hem och packa upp i din Quake katalog:

          cd /usr/local/games/quake
          unzip -L /var/du/vill/ha/det/quake106.zip

Nu har du (bland annat) en fil kallad resource.1 som egentligen är ett lha arkiv (lha är ett fil kompressions och arkiverings format ungefär som zip eller tar). Vi ska använda lha(1) kommandot för att packa upp det. Om lha inte redan är installerat på ditt system, ladda hem det från: ftp://sunsite.unc.edu/pub/Linux/

utils/compress/lha-1.00.tar.Z.
          lha e resource.1

När lha är klar, kommer din Quake katalog att innehålla ett gäng nya filer. En katalog kallad id1/ kommer också skapas. Filerna i den här katalogen är de enda som är viktiga för Linux Quake, så du kan utan problem radera alla andra filer. Om du är Quake nybörjare, och även om du inte är det, kan du vilja behålla *.txt filerna. På mitt system, slänger jag in alla readme filer i en doc/ katalog. Så:

          cd /usr/local/games/quake
          mkdir doc
          mv *.txt doc
          rm -f *

Nu är du redo att installera Linux binärerna.

2.3 Lägga till Linux Binärerna

Välj vilken av de tre varianterna av Quake du vill installera:

• X11 Quake låter dig köra Quake i ett fönster på din X desktop. Det är den minst upphetsande klienten, men den är ett utmärkt, säkert sätt att testa din installation.

• Squake är SVGAlib Quake klienten. Den körs i fullskärm på din konsol.

• GLQuake är OpenGL Quake klienten, det överlägset bästa sättet att spela Quake om du har ett 3Dfx accelerator kort.

Ladda hem paketen du vill ha (se sektion 2.2.1 (Ladda hem Nödvändiga Filer)) och packa upp dem i din Quake katalog så här:

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

2.4 Att Sätta Rättigheter

Quake och QuakeWorld servrar kan köras av alla användare. Quake klienterna, däremot, behöver tillgång till dina ljud och grafik kort, vilket kräver rättigheter som en normal användare inte har. Ett (dåligt) sätt att handskas med det här är att alltid köra Quake som root. Ansvarsfulla system administratörer skulle bli gröna i ansiktet av detta oanständiga förslag. Att göra Quake binärerna setuid till root är en mer acceptabel lösning. Quake kan då köras av vanliga användare och ändå få rättigheterna de behöver för att komma åt ljud och grafik enheterna. Setuid innebär dock en säkerhetsrisk. En listig användare skulle kunna exploatera en bugg eller ett säkerhetshål i Quake för att erhålla root access på ditt system. Om du inte har flera användare på ditt system behöver dock detta inte vara något större bekymmer.

squake är den enda Quake klienten som måste köras med root rättigheter. Med lite arbete, kan du få igång X och GL klienterna utan setuid. 6.1 (Att köra X och GL spel utan setuid) i Tips och Tricks sektionen talar om hur detta fungerar. Om du planerar att köra squake, gör det setuid root med följande kommandon:

          chown root squake
          chmod 4755 squake

Om du bestämt dig för att det är ok att köra quake.x11 och glquake setuid root på ditt system, kan du upprepa ovanstående kommandon för dessa binärer med.

2.5 X11 Quake

Om du installerade X11 klienten, är det en bra tidpunkt att pröva den nu. Du kan behöva mer konfiguration för glquake och squake men quake.x11 borde vara redo att köras nu.

          cd /usr/local/games/quake
          ./quake.x11

Om allt är väl, kommer ett litet Quake fönster att uppenbara sig med det första demot rullande i sig. Du borde kunna höra ljudeffekter och kanske musik, om CDn är monterad. Om något av detta misslyckas, konsultera 5 (Felsökning) sektionen för hjälp.

2.6 SVGAlib Quake

Både squake och glquake kräver SVGAlib för att köras (glquake använder SVGAlib för att processa tangentbords och mus indata, om du undrar). SVGAlib följer med de flesta moderna Linux distributionerna, och måste vara riktigt konfigurerat för att squake och glquake ska kunna köras korrekt.

libvga.config är SVGAlibs’ konfigurations fil. På de flesta system hittar du den antingen i /etc eller /etc/vga. Se till att mus, monitor, och grafik korts inställningarna i den här filen är korrekta för ditt system. Se SVGAlib dokumentationen för detaljer.

Om du inte redan har SVGAlib på ditt system, ladda hem det från platserna som nämns i 2.2.1 (fil sektionen) ovan.

Om du har en RedHat 5.x eller annan glibc-baserad Linux distribution, se 5.1.2 (Glibc, RedHat 5.x, Debian 2 överväganden) i Felsökning/FAQ sektionerna för viktig information om kompilering av bibliotek för användning med Quake. En förkompilerad libc5 SVGAlib binär finns på http://sunsite.unc.edu/pub/

Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar.gz ,för de som inte tycker det är värt besväret att

kompilera för libc5.

Du bör köra squake från en virtuell konsol. Det kommer inte att starta under X om du inte är root när du startar det. Och att köra spel som root är något som borde undvikas. Så om du befinner dig i X, tryck CTRL+ALT+F1, logga in och:

          cd /usr/local/games/quake
          ./squake

6.2 (Att köra SVGA och GL spel under X) i Tips & Tricks sektionen nedan förklarar hur du startar SVGA och GL Quake från X utan att manuellt byta till en virtuell konsol.

2.7 GLQuake

Hårdvaruaccelererat OpenGL Quake är Quake så som Gud menade det. Det finns inget substitut, och när du väl har upplevt det finns det ingen återvändo.

För att köra glquake, behöver du ett 3D kort med Voodoo, Voodoo2 eller Voodoo Rush grafik chipset på. Det finns specifika problem att ta itu med om du har ett Voodoo Rush kort och jag kommer inte gå in på dem nu därför att, uppriktigt sagt, jag skulle inte veta vad jag pratade om. En framtida version av denna HOWTO kommer även att ta upp Voodoo Rush (Om någon vill skriva om Voodoo Rush, kommer jag gladeligen att inkludera det här).

SVGAlib, Glide och Mesa bilbioteken måste alla vara installerade och ordentligt konfigurerade på ditt system för att glquake ska fungera. Följande sektioner går kortfattat igenom vad du behöver för att få igång dem.

Bernd Kreimeier’s (bk@gamers.org) Linux 3Dfx HOWTO (http://www.gamers.org/dEngine/xf3D/

howto/3Dfx-HOWTO.html) är en bra källa för vidare information.

3dfx.glide.linux nyhetsgruppen på 3dfx news server (news.3dfx.com) är en annan bra informationskälla över snittet Linux, glide, Mesa och Quake.

2.7.1 SVGAlib

glquake använder SVGAlib för att samla input från mus och tangentbord, så du behöver konfigurera det enligt sektion 2.6 (SVGAlib Quake).

2.7.2 Glide

Glide är ett bibliotek som tillgodoser ett API för att programmera 3Dfx baserade kort. Om du vill att grafikbiblioteket Mesa ska använda ditt 3Dfx kort, behöver du glide.

Den senaste versionen av glide kan alltid hittas på http://glide.xxedgexx.com/3DfxRPMS.html. Välj passande paket för ditt system, och installera enligt instruktionerna på webbsidan.

Notera att om du inte laddar ner paketet 3Dfx device driver utöver Glide biblioteket så kommer du endast att kunna köra Glide applikationer (t.ex. GLQuake) som root. Installera /dev/3dfx modulen och du kan spela GLQuake som en vanlig användare.

När du väl har installerat glide, pröva test programmet som följer med. Lägg det här programmet på minnet: det är ett bra sätt att återställa skärmen om en glide applikation (som GLQuake) krashar och lämnar din skärm avstängd. NOTERA: Kör det här testet från en VC (vituell konsol), inte X! Test applikationen kan tappa musen och tangentbordet i X, sen finns det inget sätt att stänga av det.

          /usr/local/glide/bin/test3Dfx

Din skärm ska bli blå och be dig trycka ner någon tangent. Efteråt ska du komma tillbaka till prompten. 3dfx.glide.linux på 3dfx’s nyhets server (news.3dfx.com) är en utmärkt källa till information angående Linux glide-specifika problem.

2.7.3 Mesa

När glide är installerat, behöver du installera Mesa, en fri OpenGL implmentation av Brian Paul (brianp@ elastic.avid.com). Som tur är, behöver du inte söka särskilt länge, Mesa 2.6 är nämligen inkluderat tillsammans med GlQuake och QuakeWorld binärerna. Allt du behöver göra är att flytta det till rätt plats:

          cd /usr/local/games/quake
          cp libMesaGL.so.2.6 /usr/local/lib
          ldconfig

Om du vill uppgradera Mesa till en nyare version (Mesa 3.0 är den senaste när detta skrivs), kan du ladda ner det från ftp://iris.ssec.wisc.edu/pub/Mesa Om du har RedHat 5.x eller andra glibc-baserade Linux distributioner, se 5.1.2 (Glibc, RedHat 5.x, Debian 2 överväganden) i Felsökning/FAQs sektionen för viktig information angående kompilering av bilbiotek för Quake.

Efter att du byggt dem enligt instruktionerna, behöver du göra två saker:

• Ta bort din gamla Mesa installation. Om du tidigare installerade libMesaGL.so.2.6 enligt ovan, måste du först ta bort den annars kan Quake inte använda den nya versionen.

               cd /usr/local/lib/
               rm -f libMesaGL.so.2*

• Om det nya Mesa har ett högt versionsnummer som är större än 2, behöver du skapa en länk till det

     med namnet libMesaGL.so.2:

               cd /usr/local/lib/
               ln -s /där/du/installerade/det/libMesaGL.so.3.0 libMesaGL.so.2
               ldconfig

Växla nu till en VC (CTRL+ALT+F1) och starta glquake.

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

2.8 Linux-Specifika Kommando rad parametrar

Den här sektionen behandlar kommando rad parametrar som är specifika för Linux versionen av Quake. Det finns gott om andra Quake optioner, men dessa ligger utanför ämnesområdet för denna HOWTO. Se några av sajterna listade i sektionen 1.3.2 (Generell Quake Information) för information av det här slaget.

-mem num Specifiera minnet som ska allokeras i megabyte (det förvalda värdet är 8MB, som borde räcka i de flesta fall).

-nostdout Skicka inget utdata till stdout. Använd den här optionen om du inte vill att all konsol utdata ska dumpas till din terminal.

-mdev enhet

Mus enhet, förvalt värde är /dev/mouse -mrate hastighet

Mus baud rate, förvalt värde är 1200 -cddev enhet

CD enhet, förvalt värde är /dev/cdrom -mode siffra

Används för att välja grafikläge (endast squake) -nokbd

Initiera inte tangentbordet -sndbits 8 eller 16

Sätt sampel storlek i bitar för ljudet. Förvalt värde är 16 om det stöds. -sndspeed hastighet

Sätt mixfrekvens för ljudet i Hz. Vanliga värden är 8000, 11025, 22051 och 44100. Förvalt värde är 11025.

-sndmono

Sätt mono ljud -sndstereo

Sätt stereo ljud (förvalt om det stöds)

2.9 QuakeWorld **

http://www.quakeworld.net förklarar det bättre än jag gör:

QuakeWorld är en Internet multi-player specifik version av Quake. Även om orginalversionen av Quake kan spelas över Internet, har modemsanvändarna - majoriteten av spelarna fått allt annat än tillfredsställande resultat. Symptom som kraftig fördröjning - handlingar utförs långt efter att du beordrat dem; paket förlust - spelet låser sig under flera sekunder; och mängder av andra svårigheter har drabbat spelare. Efter att ha insett hur många människor som spelade Quake över internet, och hur många till som ville, men inte kunde p.g.a att spelbarheten var otillfredsställande, bestämde sig John Carmack från id Software för att skapa en version av Quake som var optimerad för den vanlige modem Internet spelaren. Med denna Internet specifika version kan man endast göra 1 sak, spela dödsmatch spel över ett TCP/IP nätverk som Internet. Den har inget stöd för solo spel, och du kan inte göra någonting utan att först kontakta en special server.

Du behöver den fulla, registrerade eller detaljhandelsversionen av Quake för att spela QuakeWorld, och en Linux QuakeWorld klient. QuakeWorld klienter finns i samma varianter (X11, SVGAlib och Mesa) som normala Quake, men allt är sammanslaget i ett paket, så du behöver bara ladda hem en enda fil. Du har dock fyra paket att välja mellan:

• ett libc5 tar.gz paket

• ett glibc tar.gz paket

• ett libc5 rpm paket

• ett glibc rpm paket

Installera endast ett av dessa paket. Alla innehåller samma filer, de är bara länkade mot olika biliotek. Redhat 5.x användare kan använda glibc rpm paketet. Användare med glibc baserade system utan stöd för rpm bör använda glibc tar.gz paketet. Paketet libc5 rpm är för redhat distributioner före 5.0 och andra libc5 baserade distributioner som använder rpm formatet. Slackware och övriga libc5 baserade system utan stöd för rpm kan använda libc5 tar.gz paketet.

Se 2.2.1 (Ladda hem Nödvändiga Filer) sektionen för Linux Quakeworld filerna.

Krav och konfiguration för dessa binärer är samma som för Quake, så se tidigare sektioner för hjälp med att sätta upp SVGAlib eller glide/Mesa.

2.9.1 Att installera RPM paketen ++

Installationen av rpm paketen bör gå smärtfritt:

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

qwcl, glqwcl och glqwcl.glx kommer att installeras setuid root så att de kan komma åt grafikenheterna på ditt system. X och GL klienterna kan köras utan root privilegier om du följer instruktionerna i 6.1 (Att köra X och GL spel utan setuid) nedan.

Rpm kan klaga över att det inte hittar libglide2x.so. Glide biblioteket är endast nödvändigt för att köra QuakeWorld i GL läge, du kan skugga glide kravet med --nodeps valet:

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

2.9.2 Att Installera tar.gz paketen ++

För att installera, packa bara upp filen i ditt Quake bilbiotek. Gör det som root så att filrättigheterna blir riktigt uppsatta:

     cd /usr/local/games/quake
     su root
     tar -zxvf qwcl2.21-i386-unknown-linux2.0.tar.gz

qwcl, glqwcl och glqwcl.glx kommer att installeras setuid root så att de kan komma åt grafikenheterna på ditt system. X och GL klienterna kan köras utan root privilegier om du följer instruktionerna i 6.1 (Att köra X och GL spel utan setuid) nedan.

2.9.3 Att köra QuakeWorld ++

När QuakeWorld väl är installerat tillsammans med dina Quake filer, kan du starta det med:

     ./qwcl +connect någon.server.adress

Se sektionen 4 (Relaterad Mjukvara) för info om några fräcka front ends till QuakeWorld som gör det lätt att hitta servrar.

• lib3dfxgl.so ** Med QuakeWorld version 2.30, finns ett alternativ till Mesa bilioteket. lib3dfxgl.so är en mini-GL drivrutin optimerad för Quake som ger aningen bättre frame rates än Mesa. Detta är en portning av en drivrutin som 3Dfx utvecklade till Quake under Windows, och alla detaljer verkar inte fungera ordentligt än. Förhoppningsvis kommer prestandan att förbättras med tiden. Precis som Mesa, kräver lib3dfxgl.so Glide för att nå ditt 3Dfx kort. QuakeWorld paketen innehåller ett skript, glqwcl.3dfxgl för att köra QuakeWorld med det här biblioteket på glibc system. Nästa stycke förklarar hur QuakeWorld körs med lib3dfxgl.so på ett libc5 system. För att skriptet ska fungera på ett glibc system, får glqwcl binären inte vara setuid, den får inte heller köras som root. glqwcl kommer utan att säga ett ljud ladda Mesa istället för lib3dfxgl.so om det körs med root rättigheter. Med detta icke-root krav följer att du måste ha /dev/3dfx drivrutinen installerad. På ett libc5 system, behöver du skapa en symbolisk länk till lib3dfxgl.so kallad libMesaGL.so.2 så här:

          cd /usr/local/games/quake
          ln -sf lib3dfxgl.so libMesaGL.so.2

Starta sedan Quakeworld från ett skript som ber $LD LIBRARY PATH att titta i aktuell katalog:

     #!/bin/sh
     LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./glqwcl $*

Du kan avgöra viken drivrutin som laddas genom att leta efter följande utdata på din konsol när Quakeworld startas:

          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

Om GL VENDOR är Brian Paul istället för 3Dfx Interactive Inc., betyder det att Mesa fortfarande används istället för miniport drivrutinen.

• glqwcl.glx ** glqwcl.glx länkas mot standard OpenGL biblioteken istället för Mesa. Detta tillåter Quakeworld att köras på annan 3D hårdvara som stöds utav OpenGL implementationer. I skrivande stund, vet jag inte om några OpenGL implementationer som stödjer annan hårdvara än 3Dfx, men renderaren garanterar att när de dyker upp, kommer vi att kunna spela Quakeworld med dem. Detta är en GLX applikation, och måste som sådan köras från X. Du kan använda denna klient med Mesa/3Dfx om du installerar Mesa och Glide som förklarades i föregående sektion, sätt sedan omgivningsvariabeln $MESA GLX FX till ”fullscreen” innan du kör quake2:

          export MESA_GLX_FX=fullscreen
          ./glqwcl.glx +_windowed_mouse 1

Varför + windowed mouse 1 optionen? Kom ihåg att detta är en X applikation som råkar använda ditt 3Dfx kort. Även om displayen tar upp hela din skärm, körs Quakeworld fortfarande i ett fönster. Detta innebär att om du inte är väldigt försiktig, kan du flytta muspekaren utanför Quakeworld förnstret, och Quakeworld kommer plötsligt att upphöra reagera på mus och tangentbords indata. + windowed mouse 1 undviker detta problem genom att be glqwcl.glx ta kontroll över musen och inte låta den komma utanför sitt fönster.

2.10 Servrar

Den mesta, om inte all, existerande information om att köra en DOS/Windows QW server gäller även för att köra en Linux server.

För att starta en QuakeWorld server, kör bara:

     ./qwsv

Den officiella QuakeWorld server manualen har sitt hem på http://qwcentral.stomped.com.

2.11 Mods & Addons

En av de coolaste sakerna med Quake spelen är att författarna gjorde dem enkla att bygga ut. Slutanvändare kan skapa sina egna nivåer, lägga till egna vapen och monster, eller till och med ändra spelets regler totalt.

2.11.1 Capture The Flag (Fånga Flaggan)

Detta är min favorit variation på både Quake och Quake 2. Istället för att bara springa omkring och döda alla du ser (vilket definitivt har sin tjusning, uppfatta mig inte fel!), CTF är lag-baserat och mer strategiskt. Dave ’Zoid’ Kirsch, också handhavare för Linux Quake portningarna, skapade denna mod.

Allt du behöver veta om CTF kan hittas på http://captured.com/threewave/ Du behöver ftp://ftp.

cdrom.com/pub/quake/planetquake/threewave/ctf/client/3wctfc.zip för att spela. För att installera

klientdelen av CTF, skapa bara en katalog kallad ctf i din Quake katalog och packa upp 3wctfc.zip filen där. Den medföljande readme.txt filen är sprängfylld med bra information.

          cd /usr/local/games/quake
          mkdir ctf
          cd ctf
          unzip -L /där/du/lagt/det/3wctfc.zip

För information om att köra en CTF server, se hemsidan som nämns ovan.

2.11.2 Mission Packs (Uppdrags Paket) **

Activision släppte två add-on paket med extra nivåer till Quake, Scourge of Armagon och Dissolution of Eternity.

• Mission Pack 1: The Scourge of Armagon Antag att din CD är monterad på /mnt/cdrom och

     Quake är installerat i /usr/local/games/quake:
               cd /usr/local/games/quake
               mkdir hipnotic
               cp /mnt/cdrom/hipnotic/pak0.pak hipnotic
               cp /mnt/cdrom/hipnotic/config.cfg hipnotic

Spela mission paketet så här:

               cd /usr/local/games/quake
               ./quake.x11 -game hipnotic

• Mission Pack 2: Dissolution of Eternity Att installera det andra uppdrags paketet följer samma procedur som att installera det första. Följ anvisningarna för Mission Pack 1, men ersätt ordet hipnotic med ordet rogue, och skippa config.cfg steget eftersom denna fil inte följer med Mission Pack 2 CDn.

2.11.3 Quake Verktyg

Någon som vill bidra med lite info om qcc, bsp och det?

3 Quake II

För att installera Quake II på ditt Linux system, behöver du den officiella Quake II distributionen från id i någon form. Detta är antingen en detaljhandels, DOS/Windows CD-ROM som du köpt i din favorit affär, eller demo versionen som du laddat hem från nätet (se 3.2.1 (Ladda hem Nödvändiga Filer) för detaljer om hur du införskaffar demo versionen. Alternativt, om du redan har Quake II installerat på en DOS/Windows maskin, kan du använda de relevanta filerna från den installationen.

3.1 Minimi Krav

Du behöver minst följande:

• En Pentium 90 dator eller bättre (133 rekommenderat)

• 16 MB RAM (24 rekommenderat)

• Quake II på CD-ROM eller demo versionen (q2-314-demo-x86.exe)

• Linux kärna version 2.0.24 eller senare

• libc 5.2.18 eller senare

• Ett utav följande:

– X11 server som stödjer MITSM tilläget för delat minne. 8 och 16 bit displayer stöds. (för X renderaren)

– SVGAlib 1.2.10 eller senare (för SVGA och GL renderaren)

• 25-400 megabyte ledigt hårddiskutrymme (beroende på hur du väljer att installera)

• Tillgång till rootkontot på maskinen du installerar på

Valfritt:

• Ett ljudkort med linuxstöd

• Ett 3Dfx VooDoo, VooDoo2 eller Voodoo Rush 3D grafik accelerator kort.

• Mesa 2.6 eller senare (for GL renderaren)

3.2 Att Installera Quake II

3.2.1 Ladda hem Nödvändiga Filer** Alla nödvändiga filer för Linux Quake II finns tillgängliga på id Softwares ftp sajt, ftp.idsoftware.com. Den här sajten kan vara ganska trafikerad ibland så du kan vilja använda en av dessa speglingar istället:

• ftp.cdrom.com/pub/idgames/idstuff (Kalifornien, USA)
• ftp.gamesnet.net/idsoftware (Kalifornien, USA)
• ftp.stomped.com/pub/mirror/idstuff (Minnesota, USA)
• mirrors.telepac.pt/pub/idgames (Lisabon, Portugal)
• download.netvision.net.il/pub/mirrors/idsoftware (Haifa, Israel)

Quake II filerna som nämns i denna sektion är:

• Quake II Linux Binärer:

    – libc5  tar.gz  paketet  ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.
      19a-i386-unknown-linux2.0.tar.gz

       – glibc  tar.gz  paketet  ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.
         19a-glibc-i386-unknown-linux2.0.tar.gz
       – libc5 rpm paketet ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.19a-2.i386.rpm
       – glibc rpm paketet ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.19a-glibc-2.i386.
         rpm
   • Quake II Demo Versionen för Windows ftp://ftp.idsoftware.com/idstuff/quake2/
     q2-314-demo-x86.exe
   • Quake II Källkod ftp://ftp.idsoftware.com/idstuff/quake2/source/q2source-3.14.shar.Z
   • Quake II Capture the Flag (Fånga Flaggan)ftp://ftp.idsoftware.com/idstuff/quake2/ctf/102.
     zip

Annan omnämnd mjukvara:

   • Grafikbilioteket SVGAlibhttp://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.
     tar.gz
   • SVGAlib libc5 binärhttp://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.
     bin.tar.gz
   • Glide runtime biliotek http://glide.xxedgexx.com/3DfxRPMS.html
   • Mesa 3D grafik bibliotek http://www.ssec.wisc.edu/\~{}brianp/Mesa.html
   • unzip arkiveringsverktyg http://sunsite.unc.edu/pub/Linux/utils/compress/unzip-5.31.tar.
     gz

3.2.2 Skapa Installations Katalogen

Det första du behöver göra är att bestämma var du vill installera Quake II. Många lägger det i /usr/games/quake2. Inbiten systemadministratör som jag är, väljer jag att lägga allting som inte ingår i min Linux distribution under /usr/local. Så för mig hamnar Quake II i /usr/local/games/quake2. Om du väljer att installera någon annanstans, byt ut sökvägen /usr/local/games/quake2 mot din sökväg.

Skapa nu katalogen som du ska installera Quake II i, och använd cd för att ställa dig i den. Resten av dessa instruktioner kommer att anta att det är din aktuella katalog.

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

3.2.3 Att Installera Från CD

Stoppa i din Quake II CD i din CD-ROM drive, och montera den:

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

Om din CDROM brukar monteras någon annanstans, ersätt /mnt/cdrom med din sökväg. Om du inte är säker på var din CDROM brukar monteras, se dokumentationen för din distribution.

• Full Installation Den enklaste installationsmetoden är en ”full” installation, vilket innebär att hela innehållet på CDn kopieras till din hårddisk. Detta kräver runt 350 MB, och utförs genom att ge följande kommandon:

               cd /usr/local/games/quake2
               cp -r /mnt/cdrom/Install/Data/* .

Det kommer att finnas en hög med onödiga Windows filer som du utan problem kan radera:

               rm -f /usr/local/quake2/*.dll
               rm -f /usr/local/quake2/quake2.exe
               rm -f /usr/local/quake2/baseq2/gamex386.dll

• Medium Installation Om 450 MB är för mycket utrymme för dig att tillägna Quake II, kan du hoppa över film sekvenserna och länka dessa till CD-ROMen istället. Detta kommer att minska utrymmeskraven till runt 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

Märk väl att detta inte innebär att du måste montera din Quake II CD varje gång du vill spela Quake II. Om spelet inte hittar film filerna, är det enda som händer att filmerna inte visas.

3.2.4 Windows till Linux installation

Om du har Quake installerat under Windows eller DOS på en annan maskin, kan du överföra filer i quake2\baseq\ till ditt Linux system via FTP eller någon annan mekanism. Kom ihåg att filnamnen på ditt Linux system måste bestå av små bokstäver för att Quake II ska hitta dem, så du kan behöva döpa om dem efter överflyttningen. Notera också att det kan vara nödvändigt att radera din Windows installation efter detta för att inte hamna i konflikt med termerna i id’s mjukvaru licens. Det är inte mitt fel om du gör något olagligt.

Om dina DOS/Win och Linux system ligger på samma maskin, har du två val: kopiera filerna från din DOS/Windows partition till din Linux partition, eller länka de nödvändiga filerna från Linux. Båda metoderna fungerar likvärdigt. Den enda skillnaden är att du sparar en massa diskutrymme om du länkar istället för att kopiera. Ersätt, som vanligt, i följande exempel /win95/games/quake2 med sökvägen till din Windows partition och Quake II installation.

• Om du vill kopiera filerna till din Linux partition:

               cd /usr/local/games/quake2
               cp -r /win95/games/quake2/baseq2 .

• För att istället skapa länkar till dina Windows Quake II filer, gör så här:

               cd /usr/local/games/quake2
               ln -s /win95/games/quake2/baseq2 .

Den andra metoden kräver att Windows partionen som du länkar är skrivbar av användare, vilket kanske inte är lämpligt för alla system. Genom att göra din Windows partition skrivbar, ger du alla användare tillfälle att förstöra hela din Windows installation. Om detta är OK för dig, modifiera din /etc/fstab så att Windows partitionen monteras med valen umask=002,gid=XXX , där XXX är grupp numret för ”users” gruppen. Titta i filen /etc/group för att ta reda på denna information. När fstab är uppdaterad, avmontera (umount) och montera (mount) Windows partitionen igen och du är klar.

Du är nu klar med installationen av datafilerna för Quake II. Hoppa fram till ”3.3 (Installera Linux Binärerna)”.

3.2.5 Installera demo versionen **

id Software har en fritt tillgänglig demo version av Quake II på deras ftp sajt. Den är runt 40 megabyte stor. Demo versionen innehåller all funktionalitet hos fullversionen, inklusive flera spelare, men kommer endast med tre nivåer, så det kan bli svårt att hitta en server att spela på.

Se sektionen 3.2.1 (Ladda hem Nödvändiga Filer) ovan för platser som har Quake II demo filerna. Ladda hem dessa och placera i din Quake II katalog.

Demo distributionen är en självuppackande zip fil (åtminstone på andra OS). Du kan packa upp den med unzip(1) kommandot, som borde följa med alla moderna distributioner. Om du inte har unzip, ladda hem det från en plats listad i sektionen 3.2.1 (Ladda hem Nödvändiga Filer).

Förflytta dig till din Quake II katalog och packa upp arkivet:

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

Nu måste vi radera några saker och flytta omkring andra saker:

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

Quake II demo är nu installerat. Du behöver bara lägga till Linux binärerna.

3.3 Lägga till Linux Binärerna **

Det finns fyra Linux Quake II paket tillgängliga för nedladdning:

• ett libc5 tar.gz paket

• ett glibc tar.gz paket

• ett libc5 rpm paket

• ett glibc rpm paket Installera endast ett av dessa paket. Alla innehåller samma filer, de är bara länkade mot olika biliotek. Redhat 5.x användare kan använda glibc rpm paketet. Användare med glibc baserade system utan stöd för rpm bör använda glibc tar.gz paketet. Paketet libc5 rpm är för redhat distributioner före 5.0 och andra libc5 baserade distributioner som använder rpm formatet. Slackware och övriga libc5 baserade system utan stöd för rpm kan använda libc5 tar.gz paketet.

Se 3.2.1 (Ladda hem Nödvändiga Filer) sektionen för Linux Quake II filerna.

3.3.1 Att installera RPM paketen **

Installationen av rpm paketen bör gå smärtfritt:

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

Rpm kan klaga över att det inte hittar libglide2x.so. Glide biblioteket är endast nödvändigt för att köra Quake II i GL läge, du kan skugga glide kravet med --nodeps valet:

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

3.3.2 Att Installera tar.gz paketen **

För att installera, packa bara upp filen i ditt Quake II bibliotek. Gör det som root så att filrättigheterna blir riktigt uppsatta:

          cd /usr/local/games/quake
          su root
          tar -zxvf quake2-xxxx-i386-unknown-linux2.0.tar.gz

3.4 Sätta Rättigheter **

Om du körde rpm eller tar som root när du installerade Quake II paketet på ditt system, är filrättigheterna redan rätt inställda. quake2 binären installerades setuid root så att den kan komma åt grafik enheterna på ditt system. Av säkerhetsskäl, är renderings biblioteken ref *.so ägda av root och endast skrivbara för root. Om root inte äger dessa bibliotek, eller om det är skrivbara för alla, kommer quake2 vägra att starta.

Om du tänker köra Quake II med GL eller X renderarna, behöver inte din quake2 vara suid root. Se 6.1 (Att Köra X och GL spel utan setuid) i Tips och Tricks sektionen nedan för information om att köra Quake II utan root rättigheter.

3.4.1 Quake2.conf **

Av säkerhetsskäl, finns det en quake2.conf fil, som talar om för Quake II var renderings bilioteken finns (ref *.so). Den innehåller endast en rad, som ska vara sökvägen till din Quake II installation. Quake II letar efter den här filen i /etc. Om du installerade Quake II från ett .rpm paket, installerades filen åt dig. Om du installerade från ett .tar paket, måste du skapa den så här:

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

3.5 X Rendreraren

Quake II borde kunna köras under X nu. Försök:

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

Om allt är som det ska, kommer ett litet Quake II fönster med det första demot i sig att uppenbara sig efter en märkbar paus. Du borde även höra ljud och kanske musik om CDn är monterad. Om något av detta misslyckas, se sektionen 5 (Felsökning) för hjälp.

3.6 SVGAlib Rendreraren

Du behöver SVGAlib installerat och konfigurerat om du vill använda någon av ref soft eller ref gl renderarna. (Quake II använder SVGAlib för att bearbeta indata från tangentbord och mus, om du skulle undra varför det behövs för GL renderaren). SVGAlib följer med de flesta moderna distributioner, och måste vara riktigt konfigurerat innan Quake II kan köras korrekt utanför X.

libvga.config är SVGAlibs’ konfigurations fil. På de flesta system hittar du den antingen i /etc eller /etc/vga. Se till att mus, monitor, och grafik korts inställningarna i den här filen är korrekta för ditt system. Se SVGAlib dokumentationen för detaljer.

Om du inte redan har SVGAlib på ditt system, ladda hem det från platserna som nämns i 3.2.1 (fil sektionen) ovan.

Om du har en RedHat 5.x eller annan glibc-baserad Linux distribution, se 5.1.2 (Glibc, RedHat 5.x, Debian 2 övervägningar) i Felsökning/FAQ sektionerna för viktig information om kompilering av bibliotek för användning med Quake II. En förkompilerad libc5 SVGAlib binär finns på http://sunsite.unc.edu/pub/

Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar.gz för de som inte tycker det är värt besväret att

kompilera för libc5.

Du bör köra Quake II från en virtuell konsol när du använder ref soft eller ref gl renderaren. Det kommer inte att starta under X om du inte är root när du startar det. Och att köra spel som root är något som borde undvikas. Så om du befinner dig i X, tryck CTRL+ALT+F1, logga in och:

          cd /usr/local/games/quake2
          ./quake2

6.2 (Köra SVGA och GL spel från X) i Tips & Tricks sektionen nedan förklarar hur SVGA och GL Quake II startas från X utan att manuellt växla till en virtuell konsol (VC).

3.7 OpenGL Rendreraren

Hårdvaruaccelererat OpenGL Quake II är Quake II så som Gud menade det. Det finns inget substitut, och när du väl har upplevt det finns det ingen återvändo.

För att köra Quake II i GL läge, behöver du ett 3D kort med Voodoo, Voodoo2 eller Voodoo Rush grafik chipset på. Det finns specifika problem att ta itu med om du har ett Voodoo Rush kort och jag kommer inte gå in på dem nu därför att, uppriktigt sagt, jag skulle inte veta vad jag pratade om. En framtida version av denna HOWTO kommer även att ta upp Voodoo Rush (Om någon vill skriva om Voodoo Rush, kommer jag gladeligen att inkludera det här).

SVGAlib, Glide och Mesa biblioteken måste alla vara installerade och ordentligt konfigurerade på ditt system för att quake2 ska fungera. Följande sektioner går kortfattat igenom vad du behöver för att få igång dem.

Bernd Kreimeier’s (bk@gamers.org) Linux 3Dfx HOWTO (http://www.gamers.org/dEngine/xf3D/

howto/3Dfx-HOWTO.html) är en bra källa för vidare information.

3dfx.glide.linux nyhetsgruppen på 3dfx news server (news.3dfx.com) är en annan bra informationskälla över snittet Linux, glide, Mesa och Quake.

3.7.1 SVGAlib

Quake II använder SVGAlib för att samla input från mus och tangentbord, så du behöver konfigurera det enligt sektion 3.6 (SVGAlib Rendreraren).

3.7.2 Glide

Glide är ett bibliotek som tillgodoser ett API för att programmera 3Dfx baserade kort. Om du vill att grafikbiblioteket Mesa ska använda ditt 3Dfx kort, behöver du glide.

Den senaste versionen av glide kan alltid hittas på http://glide.xxedgexx.com/3DfxRPMS.html. Välj passande paket för ditt system, och installera enligt instruktionerna på webbsidan.

Notera att om du inte laddar ner paketet 3Dfx device driver utöver Glide biblioteket så kommer du endast att kunna köra Glide applikationer (t.ex. GLQuake) som root. Installera /dev/3dfx modulen och du kan spela GLQuake som en vanlig användare.

När du väl har installerat glide, pröva test programmet som följer med. Lägg det här programmet på minnet: det är ett bra sätt att återställa skärmen om en glide applikation (som GLQuake) krashar och lämnar din skärm avstängd. NOTERA: Kör det här testet från en VC, inte X! Test applikationen kan tappa musen och tangentbordet i X, sen finns det inget sätt att stänga av det.

          /usr/local/glide/bin/test3Dfx

Din skärm ska bli blå och be dig trycka ner någon tangent. Efteråt ska du komma tillbaka till prompten. 3dfx.glide.linux på 3dfx’s nyhets server (news.3dfx.com) är en utmärkt källa till information angående Linux glide-specifika problem.

3.7.3 Mesa

När glide är installerat, behöver du installera Mesa, en fri OpenGL implmentation av Brian Paul (brianp@ elastic.avid.com). Som tur är, behöver du inte söka särskilt länge, Mesa 2.6 är nämligen inkluderat tillsammans med Quake II binärerna. Allt du behöver göra är att flytta det till rätt plats:

          cd /usr/local/games/quake2
          cp libMesaGL.so.2.6 /usr/local/lib
          ldconfig

Om du vill uppgradera Mesa till en nyare version (Mesa 3.0 är den senaste när detta skrivs), kan du ladda ner det från ftp://iris.ssec.wisc.edu/pub/Mesa Om du har RedHat 5.x eller andra glibc-baserade Linux distributioner, se 5.1.2 (Glibc, RedHat 5.x, Debian 2 överväganden) i Felsökning/FAQs sektionen för viktig information angående kompilering av bilbiotek för Quake II.

Efter att du byggt dem enligt instruktionerna, behöver du göra två saker:

• Ta bort din gamla Mesa installation. Om du tidigare installerade libMesaGL.so.2.6 enligt ovan, måste du först ta bort den annars kan Quake II inte använda den nya versionen.

               cd /usr/local/lib/
               rm -f libMesaGL.so.2*

• Om det nya Mesa har ett högt versionsnummer som är större än 2, behöver du skapa en länk till det

     med namnet libMesaGL.so.2:
               cd /usr/local/lib/
               ln -s /där/du/installerade/det/libMesaGL.so.3.0 libMesaGL.so.2
               ldconfig

Växla nu till en VC (CTRL+ALT+F1) och starta Quake II.

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

3.7.4 lib3dfxgl.so **

Med Quake II version 3.19, finns ett alternativ till Mesa bilioteket. lib3dfxgl.so är en mini-GL drivrutin optimerad för Quake som ger aningen bättre frame rates än Mesa. Detta är en portning av en drivrutin som 3Dfx utvecklade till Quake under Windows, och alla detaljer verkar inte fungera ordentligt än. Förhoppningsvis kommer prestandan att förbättras med tiden.

Precis som Mesa, kräver lib3dfxgl.so Glide för att nå ditt 3Dfx kort. Quake II paketen innehåller ett skript, guake2.3dfxgl för att köra Quake II med det här biblioteket på glibc system. Nästa stycke förklarar hur Quake II körs med lib3dfxgl.so på ett libc5 system. För att skriptet ska fungera på ett glibc system, får glqwcl binären inte vara setuid, den får inte heller köras som root. glqwcl kommer utan att säga ett ljud ladda Mesa istället för lib3dfxgl.so om det körs med root rättigheter. Med detta icke-root krav följer att du måste ha /dev/3dfx drivrutinen installerad.

På ett libc5 system, behöver du skapa en symbolisk länk till lib3dfxgl.so kallad libMesaGL.so.2 så här:

          cd /usr/local/games/quake2
          ln -sf lib3dfxgl.so libMesaGL.so.2

Starta sedan Quake II från ett skript som ber $LD LIBRARY PATH att titta i aktuell katalog:

     #!/bin/sh
     LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./quake2 +set vid_ref gl $*

Du kan avgöra viken drivrutin som laddas genom att leta efter följande utdata på din konsol när Quake II startas:

          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

Om GL VENDOR är Brian Paul istället för 3Dfx Interactive Inc., betyder det att Mesa fortfarande används istället för miniport drivrutinen.

3.8 GLX Renderaren **

ref glx.so länkas mot standard OpenGL biblioteken istället för Mesa. Detta tillåter Quake II att köras på annan 3D hårdvara som stöds utav OpenGL implementationer. I skrivande stund, vet jag inte om några OpenGL implementationer som stödjer annan hårdvara än 3Dfx, men renderaren garanterar att när de dyker upp, kommer vi att kunna spela Quakeworld med dem.

Detta är en GLX applikation, och måste som sådan köras från X.

Du kan använda denna klient med Mesa/3Dfx om du installerar Mesa och Glide som förklarades i föregående sektion, sätt sedan omgivningsvariabeln $MESA GLX FX till ”fullscreen” innan du kör quake2:

          export MESA_GLX_FX=fullscreen
          ./quake2 +set vid_ref glx +set _windowed_mouse 1

Varför + windowed mouse 1 optionen? Kom ihåg att detta är en X applikation som råkar använda ditt 3Dfx kort. Även om displayen tar upp hela din skärm, körs Quake II fortfarande i ett fönster. Detta innebär att om du inte är väldigt försiktig, kan du flytta muspekaren utanför Quake II fönstret, och Quake II kommer plötsligt att upphöra reagera på mus och tangentbords indata. + windowed mouse 1 undviker detta problem genom att be quake2 ta kontroll över musen och inte låta den komma utanför sitt fönster.

3.9 Linux-Specifika Kommando rad parametrar

Den här sektionen behandlar kommando rad parametrar som är specifika för Linux versionen av Quake. Det finns gott om andra Quake optioner, men dessa ligger utanför ämnesområdet för denna HOWTO. Se några av sajterna listade i sektionen 1.3.2 (Generell Quake Information) för information av det här slaget.

Det finns faktiskt cvars (klient variabler) som du kan sätta i Q2 konsolen, men det är naturligast att sätt dem vid kommando raden så här:

          ./quake2 +set cd_dev /dev/hdc

cd dev enhet Namn på CD-ROM enheten.

nocdaudio värde Stäng av CD-Ljud om värde är skilt från noll. sndbits siffra

Sätt antal bitar för sampling. Förvalt värde är 16.

sndspeed siffra Sätt samlingsfrekvens. Vanliga värden är 8000, 11025, 22051 and 44100. Om denna sätts till noll, försöker ljud drivrutinen med hastigheter i följande ordning: 11025, 22051, 44100, 8000.

sndchannels siffra Indikerar stereo eller mono ljud. Förvalt värde är 2 (stereo). Använd 1 för mono.

nostdout värde Skicka inget utdata till stdout. Använd denna om du vill slippa konsol utdata som dumpas till din terminal.

3.10 Quake II Servers

Linux styrka som internet server gör det till en perfekt plattform för att köra en internet Quake II server. Denna sektion berör grunderna och de Linux specifika aspekterna av att köra en Quake II server. Se sektion 1.3 (Andra Informations källor) för mer detaljerad information.

3.10.1 Lyssnande Server

Du kan starta en Quake II ”Listen” server innifrån ett spel via Multiplayer menyn. Denna tillåter dig att vara värd för ett spel och delta i spelet på samma gång.

För att starta en Lyssnande server, starta Quake II, ta fram Quake II menyn med ESC knappen, och välj Multiplayer. Därifrån borde det vara självförklarande.

3.10.2 Hängivna Servrar

För en permanent, stand-alone Quake II server som ska kunna köras utan konstant uppmärksamhet, är det opraktiskt att använda Lyssna servern. Quake II har ett hängivet (dedicated) server läge som är bättre lämpat för den här typen av användning. En hängiven server startas från kommando prompten och använder färre system resurser än en lyssnande server eftersom den inte använder den grafiska klientdelen över huvud taget.

För att starta en hängiven server, använd kommando rad optionen +set dedicated 1. Du kan sätta ytterligare server parametrar antingen på kommando raden eller i en konfigurations fil som du +exec verar på kommandoraden. Din konfigurations fil bör ligga i baseq2 katalogen.

Några server alternativ listas nedan. För att sätta alternativen vid kommandoprompten, ge +set fraglimit 30. Alternativ sätts på samma sätt i config filen, förutom att det ska vara ett + före set. Aktivera din config

fil så här: +exec server.cfg.

fraglimit Antal fraggar som krävs innan kartan ändras.

timelimit Tiden, i minuter, som måste gå innan kartan ändras.

hostname Namnet på din Quake II server. Detta är en valfri sträng och har inget att göra med ditt DNS värdnamn. maxclients

Antalet spelare som kan vara anslutna till servern på en gång.

Tillräckligt med Quake II konsol och kommandorads information för att kväva en häst finns på Farenheit

176 (http://www.planetquake.com/f176).

3.10.3 Andra Server Informations Källor

• Q2 Server FAQ har en grundläggande steg-för-steg guide för att sätta upp en Q2 Server under

     Linux:http://www.bluesnews.com/faqs/q2s-faq.html

• Grant Cornelius Reticulus Copernicus Sperry (flubber@xmission.com) har några grundläggande Q2 server konfigurations filer och startup skript på http://www.atomicage.com:80/quake/server/

     server\_cfg/.

3.11 Modifikationer & Tillägg

Quake II modifikatioer som Capture the Flag, Jailbreak, och Lithium II är väldigt populära tillägg till originalspelet Quake II. Några mods ligger helt på servern (Lithium), och några kräver även ändringar av din klient (CTF). För mods som enbart påverkar servern, är det bara att göra connect som vanligt och spela. Modifikationer på klient sidan kräver att du installerar ytterligare filer i din quake2 katalog innan du kan börja spela.

3.11.1 Modifikationer på Klient Sidan

I allmänhet, innebär innstallation av en klient side modd endast nedladdning av klient paketet och uppackning i din Quake II katalog, se moddens dokumentation för detaljer. Det kan vara nödvändigt att ladda hem ett Linux-specifikt paket utöver huvud (Windows) klient paketet. Var även medveten om att det inte är säkert att alla mods finns för Linux.

Klient sides modifikations paket innehåller normalt en ny gamei386.so fil samt en eller fler .pak filer. Andra nya filer kan även ha inkluderats. De nya filerna installeras i en underkatalog till dun Quake II katalog. Använd +set game mod-katalog vid kommando prompten för att köra modden. Rocket Arena 2 installeras t.ex. i en katalog som kallas arena. För att spela RA2, startar du upp din klient så här:

           ./quake2 +set game arena

Capture the Flag Eftersom detta är den i särklass populäraste varianten av flerspelar Quake II, har jag inkluderat specifika instruktioner för att installera den här modden. Capture the Flag för Quake II finns tillgängligt för nedladdning från id’s ftp sajt. Ladda hem och installera sedan så här:

          cd /usr/local/games/quake2
          mkdir ctf
          cd ctf
          unzip -L /där/du/lägger/det/q2ctf102.zip

Starta Quake II med +set game ctf för att spela CTF.

3.11.2 Modifikationer på Server Sidan

Att installera en Quake II modifikation på servern skiljer sig inte mycket från klient sidan. Generellt så räcker det med att installera gamei386.so och server.cfg filerna i en ny underkatalog och sedan starta servern

          ./quake2 +set game XXXX +set dedicated 1 +exec server.cfg

Där XXXX ovan är namnet på modifikationens nya underkatalog. Den exakta proceduren varierar naturligtvis från mod till mod. Se moddens dokumentation för detaljer.

3.11.3 Spelets Källkod

Hela spelet, förutom spelmotorn, ligger i ett delat bibliotek, gamei386.so. Quake II mods skapas genom att ändra innehållet i den här filen. C källkoden är fritt tillgänglig (sektion 3.2.1 (Ladda hem Nödvändiga Filer) ovan) för nedladdning och förändring.

När du laddat ner källkoden gör du så här för att komma igång:

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

Du kommer att mötas av några frågor som du ska svara ja på, sedan packas källkoden upp. En ny gamei386.so byggs från källkoden med ett simpelt make. Du kan köra Quake II med det nykompilerade bilbioteket så här:

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

Inte så intressant än, eftersom bilioteket du just byggt är identiskt med den ursprungliga gamei386.so, men detta borde vara intressant information för blivande mod tillverkare.

3.11.4 Mission Packs **

• Mission Pack 1: The Reckoning The Reckoning kräver Quake II version 3.15 eller senare för att köras. Du behöver minst 95 MB för en minimal installation och ytterligare 90 MB om du vill installera video sekvenserna. Antag att din CD är monterad på /mnt/cdrom och Quake II är installerat

     i /usr/local/games/quake2:
               cd /usr/local/games/quake2
               cp -r /mnt/cdrom/Data/all/* xatrix/
               rm -f xatrix/gamex86.dll

Om du vill installera video sekvenserna:

               cp -r /mnt/cdrom/Data/max/xatrix/video xatrix

Spela The Reckoning så här:

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

• Mission Pack 2: Ground Zero Kräver Quake II version 3.17 eller senare för att köras. Du behöver minst 120 MB för en minimal installation och ytterligare 115 MB om du vill installera video sekvenserna. Antag att din CD är monterad på /mnt/cdrom och Quake II är installerat i

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

Om du vill installera video sekvenserna:

            cp -r /mnt/cdrom/Data/max/xatrix/video xatrix
            cp -r /mnt/cdrom/Data/max/rogue/video rogue

Spela Ground Zero så här:

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

4 Relaterad Mjukvara ++

4.1 QStat

Qstat är ett kommando prompts baserat program som returnerar statusen hos internet Quake, QuakeWorld och Quake II servrar. Skapat av Steve Jankowski mailto:steve@activesw.com. Här är sammanfattningen från QStats hemsida:

• Stödjer Windows 95, NT, och de flesta Unix maskiner

• Levereras med C källkod och en binär för Windows

• Stödjer gamla Quake (NetQuake), QuakeWorld, Hexen II, och Quake II servrar

• Kan visa all tillgänglig statistik, inklusive spelarinfo och server regler

• Producerar mallar för automatisk HTML generering

• Rått visningsläge för integration med HTML sido generatorer

• Inbyggd värdnamns cache

• Sortera efter ping, tid, spel eller båda

• Fler möjligheter än det finns håll att vrida musen Qstat är ett måste om du tänker spela över nätet. Ett antal front-ends har skrivits. Några av dem listas senare i denna sektion.

Du kan ladda hem senaste versionen av qstat från QStats hemsida (http://www.activesw.com/people/

steve/qstat.html.

4.2 XQF

XQF är en grafisk front-end till QStat som använder GTK. Det här är för närvarande den bästa QuakeWorld/Quake2 server bläddraren, och Roman Pozlevich (roma@botik.ru), släpper fortfarande nya revisioner någon gång i månaden.

Om du känner till GameSpy till Windows, är detta det närmaste som finns för Linux.

XQF hemsida finns på http://www.linuxgames.com/xqf.

4.3 QuickSpy

QuickSpy är en textbaserad QuakeWorld server bläddare. Det är ännu en front-end till QStat och fungerar ganska bra. Om du inte kör X och inte har Quake II, är detta ett hyfsat alternativ. QuickSpy är dock inte längre under utveckling.

Du får tag i QuickSpy på http://diana.ecs.soton.ac.uk/\~{}rht96r/quake/quickspy/.

4.4 QPlug för Linux

Qplug är en Netscape plugin som hämtar och visar QuakeWorld och Quake II server information inbäddat i en webbsida. En Windows Qplug har funnits ett tag. Utgivaren, Olivier Debon (odebon@club-internet.fr) Skrev Linux versionen från scratch utan att ha sett Windows versionen.

QPlug for Linux finns på http://www.geocities.com/TimesSquare/Labyrinth/5084/qplug.html.

4.5 qkHacklib

David Bucciarelli (tech.hmw@plus.it), utgivare av 3Dfx drivrutinen till Mesa, har skrivit ett bibliotek kallat qkHack, som försöker emulera alla SVGAlib/fxMesa funktioner som används av Quake and Quake II. Detta gör det onödigt att använda SVGAlib för glquake och Quake II med ref gl. Här är andra finesser från qkHacklibs README fil:

• Du kan dynamiskt växla mellan fullskärms rendering och fönsterrenrering genom att trycka TAB tangenten (X servern måste startas i 16 bpp läge för att använda denna finess)

• Du kan trycka Ctrl-C i skalet eller döda Quake processen utan problem

• Du kan sätta på och stänga av tangentbords och mus ’infångning’ genom att trycka F11/F12

• Du kan ikonifiera och pausa Quake genom att trycka F10 (det kommer inte äta CPU klock cykler). Du kan starta om allt med ett dubbelklick på ”****” ikonen.

• Du kan köra Quake med vilken Mesa drivrutin som helst (t.ex. X11 drivrutinen men du måste kompilera om Mesa utan Voodoo drivrutinen)

• Du kan köra Quake med vilken Linux burk som helst och få hårdvaruaccelererad utdata på en SGI burk (OK, denna finess är aningen exotisk och teoretisk men ändå ett exempel på hur kraftfull en GLX/OpenGL applikation kan vara)

Jag har prövat qkHacklib och det fungerar utmärkt för Quake på mitt system. Däremot försämras musresponsen betydligt. Andra rapporterar dock att det fungerar perfekt så ge det en chans, det här är något du kan behöva.

David Bucciarelli’s qkHacklib webbsida finns på http://www-hmw.caribel.pisa.it/fxmesa/fxqkhack.
html.

4.6 GiMd2Viewer

GiMd2Viewer är en Quake 2 modell granskare skriven för Gtk och OpenGL av Lionel Ulmer (bbrox@mygale. org). Den laddar modeller och texturer från antingen vanliga filer eller .PAK filer. Den kan också animera modellerna (med bildvis interpolation).

Detta program är under utveckling och jag har inte prövat det än, men det verkar ganska fräckt. Kolla in

på http://www.mygale.org/\~{}bbrox/GiMd2Viewer/.

4.7 QIPX

QIPX är en uppsättning program som låter Linux Quake klienter (TCP/IP) kontakta DOS Quake klienter (IPX). Det är väl användbart om du spelar netquake i ett LAN. QIPX finns på http://www.geocities.

com/SiliconValley/Park/6083/qipx.html.

4.8 Ice

Ice är en Quake kart editor för UN*X skapad av C.J. Beyer och John Watson. Jag har inte använt det här programmet, inte heller vet jag vilken status det befinner sig i. Ice hemsida finns på http://styx.phy.

vanderbilt.edu/\~{}ice/.

4.9 Q2getty

Q2getty är ett hackad version av mingetty av Mike Gleason (mgleason@ncftp.com) som automatiskt låter dig köra och återskapa ett program (t.ex. en Quake server) på en virtuell konsol. Programmet finns i files

sektionen på http://www.ncftpd.com/unixstuff/q2getty.html.

4.10 rcon

Rcon är ett par verktyg som låter en fjärradministrering av en Quake II server genom RCON protokollet. Michael Dwyer (michael\_dwyer@mwiworks.com) är utgivare. Rcon 1.1 finns på .

4.11 qlog ++

Qlog är en QuakeWorld/Quake II server log parser under GPL licensen som genererar en utförlig spelar statistik. Craig Knudsen (cknudsen@radix.net) heter utgivaren. Hemsidan för qlog är http://www.radix.

net/\~{}cknudsen/qlog/.

4.12 Cheapo **

Cheapo är en proxy som kan användas för att routa QuakeWorld nätverks trafik. Dessutom kan proxyn modifiera data och erbjuder finesser för utökat spel. Du kan kontakta cheapo som om det var en QuakeWorld server, och sedan ge den kommandon som skickar dig vidare till en riktig server. Proxyn kan också köras på en brandvägg som inte hanterar Quake trafik, så att maskiner innanför brandväggen kan användas för att

spela. The Cheapo hemsida: http://www.saunalahti.fi/\~{}softech/.

4.13 qgraph **

QGraph (Quake Graph) är ett verktyg för att hjälpa folk att hantera Quakes dödsmatcher, turneringar och Quakeworld spel. QGraph är ett program som kontaktar (via LAN eller internet) Quake, Quake II, Quakeworld och Hexen2 servrar och visar dig data om spelet som körs på servern i realtid. QGraph hemsida:

http://www.frag.com/qgraph.

5 Felsökning/Vanliga Frågor

5.1 Allmänt

5.1.1 Skillnader mellan Operativ System

• Versal känslighet (Case sensitivity) - spelar ingen roll i DOS och Windows. BASE1.TXT är samma sak som base1.txt. Under Linux och andra unixdialekter, ÄR det skillnad på stora och små bokstäver. MOTD.TXT och motd.txt är olika filer. Detta kan orsaka problem med spelarmodeller och skin filer om de installeras med stora bokstäver eller stora och små bokstäver blandade. players/male/santa.PCX behöver ändras till santa.pcx för fungera i Linux. fixskins.sh skriptet som följer med quakeworld konverterar alla filnamn i ett bibliotek till små bokstäver. Skriptet följer nedan:

     #!/bin/sh
     for x in *; do
        y=`echo $x | tr '[A-Z]' '[a-z]'`
        if [ $x != $y ]; then
           mv $x $y
        fi
     done

• Sökvägsavskiljare - DOS och Windows använder tecknet backslash ”\” för att separera element i sökvägar och filer. In Unix, används backslash tecknet som ett ”undantags” tecken. Om du använder sökvägar i dina konfigurationsfiler (eller mod kod, eller någon annanstans), se till att använda ”/” och inte ”\”.

• Radavslutnings tecken - Under DOS/Windows, avslutas varje rad i en textfil med ett vagnretur tecken (CR) och ett radmatnings tecken (LF). Textfiler i Unix använder enbart radmatnings tecken vid slutet på vaje rad. Att använda DOS/Win formatterade textfiler kan orsaka mängder med mystiska Quake problem. Genom att t.ex. använda en felaktigt formatterad quake2.conf fil från Qua-

ke 3.17 fås felmeddelandet ”LoadLibrary("ref XXX.so") failed: No such file or directory”.

LMCTF-TE reports a floating point exception. Om du har ett oförklarligt problem, försök att ta bort CR tecknen från dina textfiler:

          mv file.txt file.bak; tr -d '\r' < file.bak > file.txt

5.1.2 Glibc, RedHat 5.x, Debian 2 överväganden **

Följande gäller endast Quake I binärerna (squake, glquake och quake.x11). Från och med version 2.30 respektive 3.19, finns QuakeWorld och Quake II tillgängliga i både libc5 och glibc versioner.

Quake binärerna kompilerades med libc5. Nyare Linux distributioner som RedHat 5.x och Debian 2.0 använder det inkompatibla glibc som förvalt C bibliotek. Om du kör Quake på ett glibc system är det ett par saker du måste tänka på:

• Både RedHat 5 och Debian 2 har libc5 kompatibla paket som tillåter dig att köra libc5-baserade applikationer. Se till att dessa paket är installerade. Båda distributionerna lägger deras libc5-baserade

biliotek i /usr/i486-linux-libc5/lib.

• Se till att Quake använder de korrekta bilioteken. Skapa ett skript som det nedan vilket pekar $LD LIBRARY PATH mot dina bibliotek innan det kör igång Quake.

     #!/bin/sh
     export LD_LIBRARY_PATH=/usr/i486-linux-libc5/lib
     ./quake2 +set vid_ref gl $*

• Om du tänker kompilera ett bibliotek som SVGAlib eller Mesa för användning med Quake, måste du kompilera mot libc5 & Co. Om du bara bygger biblioteken enligt instruktionerna kommer de att länkas mot det förvalda biblioteket, glibc. Du måste se till att dina nya bibliotek länkas mot libc5 och libc5-baserade bibliotek för att de ska bli kompatibla med Quake. Se din distribution för information om att länka mot icke-standard biliotek.

5.1.3 Min mus verkar inte fungera eller svarar slumpmässigt

• Är gpm igång? gpm är ett program som låter dig klippa och klistra med musen i virtuella konsoler. Många distributioner slår på gpm automatiskt. Gpm kan råka i konflikt med Quake. Se om det är igång med följande kommando:

          ps aux | grep gpm

Om resultatet ser ut så här:

          root      6115  0.0  0.4   832   316  ?  S   17:54   0:00 gpm -t PS/2

Så är gpm igång och i konflikt med Quake. gpm -k (som root) borde stoppa gpm. Om det inte gör det (gpm -k fungerar inte alltid på mitt system), döda gpm med kommandot killall gpm. Om du aldrig använder gpm, kan du hindra det från att starta vid start av datorn. Se dokumentationen för din distribution för information om detta.

• Är din mus ordentligt konfigurerad i libvga.config? Den här filen ligger vanligtvis i /etc eller /etc/vga. Öppna och leta efter en rad som den här

          mouse Microsoft

På mitt system, är detta den första optionen i filen. Se till att mustypen stämmer med din hårdvara.

5.1.4 Min Microsoft Intellimouse eller Logitech MouseMan+ fungerar inte korrekt.

SVGAlib, som hanterar mus input för SVGA och GL Quake/QW/Q2, hade inte stöd för Intellimouse förrän version 1.3.0. Om du har en äldre version av SVGAlib än 1.3.0, bör du uppgradera, använd sedan mustypen IntelliMouse (för seriella möss) eller IMPS2 (för PS/2 möss) i din libvga.config fil.

5.1.5 Min mus ”laggar” och verkar mycket slöare än under Windows.

• För många, räcker det med att öka värdet på sensitivity i spel konsolen för att råda bot på problemet. Att sätta sensitivity för hand i konsolen eller i en .cfg fil låter dig öka värdena mer än du kan göra med draglisterna under Options menyn, t.ex. för sensitivity 15.

• Från Zoid’s 1/7/98 .plan uppdatering:

Om du får video ’lag’ i GL renderaren (skärmuppdateringarna verkar komma långt efter musrörelserna) skriv ”gl finish 1” i konsolen. Detta tvingar fram en uppdatering av rörelserna varje skärmuppdatering.

• Den senaste versionen av SVGAlib (1.3.0) erbjuder en uppsjö parametrar i libvga.config som du kan använda för att skräddarsy beteendet hos din mus. Med rätt inställningar är det möjligt att få din mus att kännas precis som du vill ha den. På mitt system ändrade jag bara mouse accel type till normal (förvalt värde är power) och det gav de resultat jag ville ha. Jag har inte experimenterat med de andra inställningarna, och jag låtsas inte heller veta vad alla gör.

• Den lilla draglisten

5.1.6 Jag har ett Voodoo2, när jag försöker köra gl redndreraren, rapporterar den att jag inte har något Voodoo kort installerat.

Det är olika versioner av Glide för Voodoo repektive Voodoo2 kort. Se till att du använder den korrekta för ditt system.

5.1.7 När jag spelar något av Quake spelen under SVGAlib eller GL och trycker CTRL-C, avslutas spelet och ibland lämnas min konsol oanvändbar.

5.1.8 Ibland när Quake/Quake II avslutas onaturligt, lämnas min konsol oanvändbar.

Jepp. Detta suger. SVGAlib fångar CTRL-C och avgör vad som ska göras istället för att låta Quake hatera det. Jag vet inte någon väg runt detta förutom att hacka SVGAlib.

Om du kör dina Quake spel från ett script som återställer ditt tangentbord och terminal, som skriptet nedan, är dock risken mindre att du får en oanvändbar terminal om Quake skulle krascha.

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

5.1.9 squake/quake2 startar inte och säger ”svgalib: cannot get I/O permissions"

Quake måste köras som root, så du måste antingen starta det som root eller göra Quake binärerna setuid root. Se installations instruktionerna i detta dokument för detaljer.

5.1.10 Ibland slutar tangentrepetitionen i X att fungera efter att något av Quake spelen körts i X.

Av någon anledning, stänger X11 versionerna av Quake av tangentrepetition under tiden de körs. Om programmet av någon anledning avslutas abrupt, kommer tangentrepetitionen inte sättas på igen. Ge:

          xset r on

För att sätta på repetitionen.

5.1.11 Quake/Quake II säger ”/dev/dsp : device not configured”

Din ljudhårvara är inte korrekt konfigurerad. Du kanske bara behöver ge ett insmod sound, eller så behöver du kanske bygga om kärnan. RedHat användare kan behöva använda sndconfig(8) verktyget. Se dokumentationen för din Linux distribution och/eller Linux Sound HOWTO för information om att konfigurera ditt systems ljud hårdvara.

5.1.12 GL Quake/Quake II är långsammare i Linux än i Windows. **

Windows 3Dfx GL miniport är kraftigt optimerad för de saker Quake II gör. Mesa däremot, är mera generellt och mindre optimerat. Resultatet blir att Linux Quake II blir långsammare än under Windows. Detta är inte en begränsning i Linux, utan en begränsning i nuvarande drivrutiner.

Till de senaste versionerna av QuakeWorld och Quake II, finns 3Dfx miniport som nämns ovan tillgängligt för Linux. Även fast det inte lyfter upp Quake till Windowsversionernas prestanda, är det ändå ett steg i den riktningen.

Pentium Pro och Pentium II användare kan tillämpa ett par trick med minnes buffring - den senaste /dev/3dfx drivrutinen har stöd för att automatiskt ställa in det här åt dig. Att möjliggöra MTRR kan resultera i betydliga (10 fps på mitt system) GL Quake uppsnabbningar. Se http://glide.xxedgexx.com/ MTRR.html för mera detaljerad information.

5.1.13 Hur gör jag för att starta en server, logga av, och återkomma till den senare? **

screen(1) är ett bra hjälpmedel för detta. Det låter dig skapa många virtuella skärmar på en tty och växla mellan dessa. Screen följer med många distributioner. Du kan ladda ner det från: ftp://prep.ai.mit.edu/

pub/gnu eller någon GNU mirror (ftp://ftp.sunet.se/pub/gnu).

Starta screen genom att ge kommandot screen, skapa sedan en ny skärm genom att trycka CTRL-A CTRL-C. Du kommer inte att märka mycket när du trycker men, jag försäkrar, något händer.

Starta a Quakeworld server:

          /usr/local/games/quake/qwsv

Öppna nu ett nytt screen fönster med CTRL-A CTRL-C och starta en Quake II server:

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

Nu kan du växla fram och tillbaka mellan servrarna genom att trycka CTRL-A CTRL-N.

Tryck CTRL-A CTRL-D för att koppla loss från screen programmet. Screen och dina servrar körs fortfarande med de syns inte längre i ditt terminal fönster. Nu kan du logga av och dina processer kommer ändå att fortsätta köras normalt.

Använd screen -r för att återkoppla till din screen process igen och få tillgång till dina servrar.

Det var allt. Se man sidan för screen(1) för mer detaljerad information.

5.2 Quake/QuakeWorld

5.2.1 Quake dör med ett segmentation fault när det startas.

Det här brukar betyda att ditt nätverk inte är ordentligt konfigurerat. Försök att starta quake med -noudp valet och se om felet försvinner. Om det fixar det, undersök din /etc/hosts fil och se till att det finns en rad för din egen maskin där. Använd 127.0.0.1 för din IP adress om du har en uppringd förbindelse som ger dig olika adresser varje gång du ansluter.

5.2.2 Vad är skillnaden bellan glqwcl, glqwcl.3dfxgl, och glqwcl.glx? ++

• glqwcl är standard GL Quakeworld klienten som du sett i tidigare versioner. Den är länkad mot libMesaGL.so.2.

• glqwcl.3dfxgl är ett script som kör glqwcl efter att ha laddat 3Dfx GL miniport biblioteket, lib3dfxgl.so. Att först ladda miniport bilioteket gör att dess GL funktioner används istället för Mesas. Eftersom GL miniport är optimerat för Quake, är detta en god sak.

• glqwcl.glx är länkad mot standard OpenGL biblioteken istället för Mesa. Detta låter glquake köras på annan 3D hårdvara som stöds av någon annan OpenGL implementation. Detta är en X applikation och måste köras från X.

5.2.3 När jag kör glqwcl.glx i fullskärm från X, kan jag inte använda musen eller tangentbordet ++

Kör glqwcl.glx med + windowed mouse 1 valet. GLX Quakeworld körs i ett fönster, även om det ser ut som det tar upp hela skärmen. Om du flyttar musen medan fönserhanteraren är i fokus-följer-musen läge, kommer du antagligen att flytta musen utanför detta fönster, och Quake kommer att sluta svara på mus och tangentbords indata. + windowed mouse 1 får Quakeworld att fånga musen.

5.3 Quake II

5.3.1 När jag försöker köra Quake II med GL renderaren, misslyckas det med meddelandet ”LoadLibrary(”ref gl.so”) failed: Unable to resolve symbol”

Om du omedelbart före ”Unable to resolve symbol” raden har ett meddelande i stil med ”can't resolve symbol 'fxMesaCreateContext'”, så har inte ditt Mesa bibliotek glide support inkompilerat. Se sektion 3.7 (GL renderaren) i installationssektionen för Quake II för installations information om Mesa och glide.

5.3.2 start av Quake II ger felmeddelandet LoadLibrary("ref XXX.so") failed: No such file
       or directory

• /etc/quake2.conf innehåller inte korrekt sökväg till din Quake II katalog. Den här filen ska innehålla en rad som anger Quake II katalogen.

• If /etc/quake2.conf innehåller rätt sökväg, försök att ta bort filen och återskapa den för hand. Vissa versioner av Quake II för Linux innkluderar en felaktigt formatterad quake2.conf fil.

• Har du SVGAlib installerat? Undersök /lib, /usr/lib och /usr/local/lib och leta efter filen libvga.so.1.X.X, där Xen är några siffror. Hittar du ingenting, måste du ladda hem och installera SVGAlib för att köra Quake II utanför X.

• Om renreraren i fråga är ref gl.so, kan det hända att Mesa inte är korrekt installerat. Har du kopierat libMesaGL.so.2.6 till en bibliotekskatalog som installationsinstruktionerna sade åt dig.

• Om renderaren i fråga är ref gl.so, har du installerat glide biblioteken?

5.3.3 När jag ändrar brightness under GL renderaren, och trycker på ”apply”, händer det ingenting.

Skriv vid restart i konsolen för att låta ändringarna träda i kraft.

5.3.4 Anmärkning på 3.17 distributionen

I skrivande stund, är den senaste Quake II versionen 3.19. Om du av någon anledning kör version 3.17 istället, kan följande information vara av intresse för dig.

Två text filer (quake2.conf och fixperms.sh) i 3.17 distributionen sparades av misstag i MS-DOS CR/LF text-fil format istället för unix LF format. Detta innebär att det är en extra vagnretur vid slutet av varje rad i dessa filer och de kommer inte att fungera som de ska förrän du fixar dem.

Vi kör dem genom tr(1) för att ta bort alla vagnreturer:

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

5.3.5 När jag hör Quake II med +set vid ref glx i fullskärmsläge från X, kan jag inte använda musen eller tangentbordet. ++

Kör GLX quake2 med +set windowed mouse 1 valet. GLX Quake2 körs i ett fönster, även om det verkar som om det tar upp hela skärmen. Om du rör musen medan fönsterhanteraren är i följa-musen-läge, kommer du antagligen att flytta musen utanför fönstret, och Quake II kommer att sluta reagera på mus och tangentbords indata. +set windowed mouse 1 får Quake II att exklusivt ta hand om musen.

5.3.6 Varför kan jag inte ändra en del av SVGA lägena som finns i Quake II Video menyn? **

SVGAlib vet antagligen inte hur det ska skapa dessa lägen med ditt grafikkort. När Quake II startar med SVGA renreraren (ref soft.so), skriver den ut en lista på alla lägen som SVGAlib säger finns tillgängliga:

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

Dessa är de enda lägen som du framgångsrikt kommer att kunna växla mellan från Video menyn. Om t.ex., 512*384 inte finns i listan, kommer det inte gå att välja det läget från Video menyn.

SVGAlib låter dig definiera nya lägen för vissa chipsets i libvga.config, om du har tur kan du skapa dina egna video lägen på detta sätt. Se dokumentationen för SVGAlib för detaljer.

6 Tips & Trick

6.1 Att köra X och GL versionerna utan setuid

Om du endast kör X och GL versionerna av Quake, QuakeWolrd eller Quake II, behöver du inte köra dem med rooträttigheter. SVGA är det enda läget som måste köras som root. X versionerna behöver endast tillgång till /dev/dsp, ljudenheten. GL versionerna behöver tillgång till både 3Dfx kortet och /dev/dsp.

/dev/dsp måste vara läs och skrivbar av Quake. De flesta distributioner ger den rättigheterna 662 (rw-rw--w- /dev/dsp. På de flesta system är möjligheten att läsa från ljudenheten inget allvarligt säkerhetsproblem. Om den här lösningen inte är acceptabel för ditt system, skapa en grupp som äger /dev/dsp och låt dina Quakespelare tillhöra den gruppen.

Du behöver drivrutinen för /dev/3dfx som kan hämtas från Daryll Strauss’ glide sida (http://glide. xxedgexx.com/3DfxRPMS.html) för att köra glide applicationer (som GLQuake) utan rooträttigheter. Ladda ner Device3Dfx.xxx.rpm paketet och installera enligt instruktionerna på webbsidan. Efter att du installerat drivrutinen, se till att /dev/3dfx har rättigheterna 666 (chmod 666 /dev/3dfx).

När /dev/dsp och /dev/3dfx är korrekt konfigurerade, kan du ta bort setuidbitten från dina Quake/QW/Q2 binärer. Ge bara (som root) kommandot chmod 0755 XXXXX, där XXXXX antingen är glquake, quake.x11,

eller quake2.

Om du har spelat som root innan du gjort dessa ändringar, kommer många av dina Quakefiler (t.ex. sparade spel) vara ägda av root och inte vara åtkomliga för vanliga användare, så kom ihåg att ändra filernas ägare innan du försöker spela utan att vara root.

6.2 Att köra SVGA och GL spel från X**

GLX Quakeworld och Quake II klienterna är rena X applikationer, men eftersom den använder Mesa istället för 3Dfx mini-drivrutinen, är de långsammare än lib3dfxgl.so versionerna. Därför kanske du föredrar att starta så här från X istället för att använda GLX klienterna.

Följande är baserat på ett ”2 cent tip” av Joey Hess (joey@kite.ml.org) från Linux Gazette. Originalet

finns på http://www.ssc.com/lg/issue20/lg\_tips20.html\#squake

Ja, det är möjligt att köra Quake spelen från X om du är root, men sådant beteende är styggt, och du riskerar att krasha Quake och tappa konsolen. Med lite arbete kan du göra det möjligt för en vanlig användare att köra SVGA och GL Quake från X OCH automatiskt växla tillbaka till X när programmet avslutas, vare sig det avslutas normalt eller ej.

Notis: när jag säger ”Quake” i texten nedan, menar jag egentligen ”quake, glquake, squake, qwcl, glqwcl, qwcl.x11 eller quake2”.

• Först, måste du ha open(1) paketen av Jon Tombs. Detta är en uppsättning mycket små program som låter dig växla mellan virtuella konsoler och starta program på dem. Ladda hem open från

http://sunsite.unc.edu/pub/Linux/utils/console/. Du borde inte behöva göra mycket mer än

ett make;make install för att kompilera och installera det. När det väl är installerat, måste du göra open och switchto binärerna setuid root. Gör såhär:

cd /usr/local/bin
chown root open switchto
chmod 4755 open switchto

• Spara sedan följande kod till en fil och döp den till getvc.c:

/* getvc.c
* Prints the number of the current VC to stdout. Most of this code
* was ripped from the open program, and this code is GPL'd
*
* 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 */

Kompilera och installera det någonstans i din $PATH:

gcc getvc.c -o getvc
strip getvc
mv getvc /usr/local/bin

• Skapa nu ett skript och kalla det runvc:

     #!/bin/sh
     # Run something on a VC, from X, and switch back to X when done.
     # GPL Joey Hess, Thu, 10 Jul 1997 23:27:08 -0400
     exec open -s -- sh -c "$* ; chvt `getvc`"

Gör det exekverbart och lägg det någonstans i din $PATH:

          chmod 755 runvc
          mv runvc /usr/local/bin

Nu kan du använda runvc kommandot för att starta Quake. Använd din vanliga kommandorad men lägg till ett runvc i början:

          runvc ./quake2 +set vid_ref gl +connect quake.foo.com

Du kommer automatiskt att växla till en VC, köra Quake och sedan växla tillbaka till X när Quake är färdigt.

6.3 Att hålla musen innanför fönstret i X

Från readme.linux filen i Quake II:

Musen kommer inte automatiskt att ’knytas’ till Quake2 fönstret. För att få Quake2 att fånga musen, välj ’Windowed Mouse’ från video menyn, eller skriv ’ windowed mouse 0’ vid konsolen. För att göra motsatsen, släppa musen, kan du binda tangenterna till att fånga och släppa musen i konsolen så här: bind i ” windowed mouse 1” bind o ” windowed mouse 0” Sen kommer ”i” att fånga musen och ”o” kommer att släppa den.

6.4 3Dfx ”tweak” inställningar fungerar även under Linux

Du kanske har sett eller hört talas om olika sätt att ”tweaka” Quakes OpenGL beteende genom att sätta olika omgivningsvariabler. Dessa variabler fungerar lika bra under Linux. Du måste bara sätta dem en aning annorlunda. Om en Dos/Windows ”tweak” guide säger:

     SET SST_GRXCLK=59

Får du göra så här under Linux:

     export SST_GRXCLK=59

6.5 Fattig Mans Server Bläddrare

Joe S. (jszabo@eden.rutgers.edu) föreslår:
          ett trick jag använder med qstat:
          Jag skapar en fil med mina favorit servrar, sedan skriver jag
          qstat -f /C/quake2/file.txt | less

tryck Ctrl-z för att suspendera, kopiera sedan ip adressen eller värdnamnet med gpm till en kommandorad så här:

          ./quake2 +connect expert.eqclans.com

Sen kan jag använda fg för att gå tillbaka till listan senare...

6.6 Att använda lib3dfxgl.so med Quake I **

Du kan använda 3Dfx mini-drivrutinen (lib3dfxgl.so) från Quakeworld eller Quake II även med glquake. Kopiera bara glqwcl.3dfxgl eller quake2.3dfxgl skripten till en ny fil, låt säga glquake.3dfxgl. Editera sedan glquake.3dfxgl skriptet so det kör glquake istället för glqwcl. Samma restriktioner för att köra som root gäller här, liksom skillnaderna mellan att köra under glibc och libc5. Se 2.9.3 (Quakeworld) eller 3.7.4 (Quake II) sektionerna för mera information om lib3dfxgl.so.

7 Administrativa

7.1 Nya Versioner av Detta Dokument

Nya versioner av detta dokument kommer med jämna mellanrum att postas till comp.os.linux.answers och rec.games.computer.quake.misc. De kommer även att laddas upp till olika WWW och FTP sajter,

som LDPhemsidan.

Nya versioner av detta dokument kommer med jämna mellanrum att postas till New versions of this document

will be periodically posted to rec.games.computer.quake.misc och comp.os.linux.misc.

Den senaste versionen av Linux Quake HOWTO kan alltid hittas på följande sajter:

   • http://www.linuxquake.com/
   • http://webpages.mr.net/bobz/
   • http://www.linuxgames.com/quake

7.2 Andra Format av Detta Dokument

Detta dokument finns tillgängligt i en mängd olika format. Många fler än nödvändigt faktiskt. Du kan finna

dem på: http://www.linuxquake.com/howto/other-formats.
   • ASCIItext
   • ASCIItextmedbackspace-overstrikes , lämpligt för man(1)

• HTML uppackat och klart för att kopieras till din websajt

• Postscript

• PRC anpassat för Aportis Doc på din Palm Pilot

• SGML
• LaTeX
• Allaovanst\aa{}endeiettbekv\"amtpaket

7.3 Distributions Policy

Copyright (c) 1998, Bob Zimbinski, Brett A. Thomas och Mike Hallock. Detta dokument får distribueras

under termerna i LDP licensen på sunsite.unc.edu/LDP/COPYRIGHT.html.

Denna HOWTO är fri dokumentation; du kan redistribuera den och/eller modifiera den under termerna i LDP licensen. Detta dokument distribueras i förhoppning att det kommer att vara användbart, men utan någon garanti; till och med utan garantin som följer handelsvaror eller anpassning för ett visst ändamål. Även om detta dokument skulle döda din hund, är det inte vårt fel.

Se LDP licensen för mera detaljer.

7.4 Revisions Historia

De sektioner av detta dokument som uppdaterades i den senaste revisionen har ett ** efter sektionsrubriken. Sektioner som uppdaterades i revisionen omedelbart före den senaste är markderade med ++.

Nedan följer en fullständig revisionshistoria av detta dokument. Det är inte menat att vara användbart för någon annan än författarna.

$Log: Quake-HOWTO.sgml,v $
Revision 1.0.1.14  1998/10/05 19:54:17  bobz
Tog bort den sedan länge döda LinQuake sidan från listan över Linux Quake sajter
Tog bort renaissoft.com länken
Smärre ordförändringar genomgående
Lade till länk till svgalib libc binären
Adderade info om q2 demot
Uppdaterade q2 installations info för 3.19 releasen
flyttade sektionen om 3.17 textfilsproblemen till sektionen felsökning
Lade till delen om lib3dfxgl.so till QW sektionen
Lade till delen om GLX klienten till QW sektionen
Lade till delen om lib3dfxgl.so till Q2 sektionen
Lade till delen om GLX klienten till Q2 sektionen
Uppdaterade "långsammare än windows" FAQ
Tog bort föråldrat TS tips angående glibc & q2
Tog bort föråldrat TS tips angående att spela med CD monterad
Ändrade tipset om att köra glquake med lib3dfxgl.so
Lade till instruktioner för Q2 mission pack 2
Lade till pekare till svgalib libc5 binären
Lade till FAQ om svgalib lägen i Q2
Lade till Cheapo proxy till mjukvaru sektionen
Lade till screen FAQ

Lade till qgraph till mjukvarusektionen
Bestämde att löftet om en 3Dfx tweak sektion i nästa uppdatering var en lögn
Revision 1.0.1.13  1998/09/02 01:35:18  bobz
Fixade några trasiga url länkar
Återställde <author> taggen
Lade till en bekräftelse
Lade till en påminnelse till icke root tipset
Lade till qlog listningen
Revision 1.0.1.12  1998/08/30 21:35:23  bobz
Uppdaterade QuakeWorld installations sektionen för 2.30 releasen
Uppdaterade QW fil listan
Uppdaterade Quake 1.01 installations info via email förslaget
Lade till QW 2.30 caveat till sektionen "Glibc övervägningar"
UpPdaterade linux vs. windows hastighet sektionen för den nya 3dfx miniporten
Lade till glqwcl versioner FAQ
Lade till felsöknings tips om fönster fokus och glx
Lade till en mening om /dev/3dfx fil rättigheter
Gjorde runvc skript användningen klarare
Lade till tips om att använda mini-drivrutinen med Quake & Quake II
Revision 1.0.1.11  1998/08/15 19:28:49  bobz
Lade till glibc i Felsökning/FAQ sektionen
Flyttade icke-setuid info till Tips & Trick sektionen
Flyttade rcs log till Revisions Historie sektionen
Ändrade distributions info en aning tills LDP vaknar till liv
Ändrade referenser från quake.medina.net till www.linuxquake.com
Ändrade linuxgames.com till en lista med platser för nuvarande version
Ändrade 3dfx Howto pekaren
Flyttade förklaringar om (** och ++) till intro sektionen där de kommer att läsas
Nämnde zoid's GL drivrutins port i Win vs Linux FAQ
Fixade Tacksägelser och URL i q2getty
Revision 1.0.1.10  1998/08/07 19:07:02  bobz
Ändrade XQF url
Lade till kommentarer till  sektionen revisions historia
Började göra ändrings sektioner
Lade till OS Överväganden till felsöknings sektionen
Lade till rcon till sektionen Övrig Mjukvara
Lade till ICE till sektionen Övrig Mjukvara
Revision 1.0.1.9  1998/08/04 21:06:22  bobz
Uppdaterade Bekräftelser
Lade till diskussion kring Quake säkerhet
Lade till QIPX till "Relaterad Mjukvara"
Lade till ts ämnet om -noudp
Revision 1.0.1.8  1998/08/03 22:09:28  bobz
Uppdaterade och strukturerade om sektionen q2 mods

Mindre ändringar av gpm felsökning
Ändrade info om sound ts
Ändrade info om intellimouse ts
Revision 1.0.1.7  1998/08/03 04:55:21  mikeh
Lade till "Att spela" sektionen till Q2 Mods & Tillägg.
Lade till "Intelimouse" sektionen till Felsökning
Lade till RedHat sndconfig delen till Felsökning
Fixade några mellanslags problem, och ett felmeddelande
Revision 1.0.1.6  1998/08/03 02:01:13  bobz
Ändrade abstract.
Revision 1.0.1.5  1998/07/31 16:07:11  bobz
Nämnde gpm -k i mus felsökning
Nämnde 'sensitivity' i mus lagg felsökning
Lade till tipset qstat|less
Lade till "/dev/dsp not configured" till felsökning
Formulerade om delar av kompilera mod sektionen
Lade till lite om att köra server side mods
Korrigerade versions # i q2 mission pack 1
Uppdaterade bekräftelse sektionen
Revision 1.0.1.4  1998/07/30 21:08:46  bobz
Fixade ett problem med radbrytningar i <sect> taggar
Revision 1.0.1.3  1998/07/30 17:40:29  bobz
Fixade trasig länk till Latex versionen.
Revision 1.0.1.2  1998/07/30 15:46:40  bobz
test uppdatering.
Revision 1.0.1.1  1998/07/30 15:43:59  bobz
Ändrade versions numrering.
Revision 1.10  1998/07/30 13:51:24  bobz
Mindre versions ändringar
Revision 1.9  1998/07/29 20:42:03  bobz
Ändrade några server länkar
Revision 1.8  1998/07/29 17:37:15  bobz
Lade till en Quake II model viewer till sektionen Andra Program
Revision 1.7  1998/07/29 16:02:23  bobz
Lade till några relativa länkar i andra format för att göra det mer portabelt
Revision 1.6  1998/07/29 15:18:12  bobz
Versions och datum stämpling

Revision 1.5  1998/07/29 14:52:03  bobz
Lade till taggar för automatisk datumstämpling
Revision 1.4  1998/07/29 13:17:51  bobz
Ändrade captured.com's web adress på webmasterns begäran
Revision 1.3  1998/07/29 02:11:02  bobz
Hoppsan.  Gjorde "Andra format" till <sect> istället för <sect1>.
Revision 1.2  1998/07/29 01:55:41  bobz
Oops.  Raderade doctype taggen...
Revision 1.1  1998/07/29 01:48:34  bobz
Lade till sektionen Andra Format.
Ändrade Tacksägelser
Lade till ftp.medina.net till listan över ftp sajter
Revision 1.0 1998/07/28
Första officiella versionen
Revision 0.9 1998/07/25
Omstrukturering, omskrivning och tillägg av Bob Zimbinski.
Revision 0.01 1998/06/16
Första För-Release versionen v0.01 av Brett A. Thomas ochMike Hallock.