Nästa Föregående Innehållsförteckning

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

Valfritt:

2.2 Att Installera Quake

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:

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

Annan omnämnd mjukvara:

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
     

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
     

Det var hela CD installations proceduren. Du kan hoppa till sektionen " Installera Linux Binärerna" nu.

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
     

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 " Installera Linux Binärerna".

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

Ladda hem paketen du vill ha (se sektion 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. 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 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 fil sektionen ovan.

Om du har en RedHat 5.x eller annan glibc-baserad Linux distribution, se 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
     

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.

SVGAlib

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

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.

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

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

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

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

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 Att köra X och GL spel utan setuid nedan.

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 Relaterad Mjukvara för info om några fräcka front ends till QuakeWorld som gör det lätt att hitta servrar.

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.

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.

Mission Packs (Uppdrags Paket) **

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

Quake Verktyg

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


Nästa Föregående Innehållsförteckning