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

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

Valfritt:

3.2 Att Installera Quake II

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:

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

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.

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.

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

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

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 Quake II filerna.

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
     

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

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 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 fil sektionen ovan.

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

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.

SVGAlib

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

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.

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

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

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

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 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 Andra Informations källor för mer detaljerad information.

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.

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

Andra Server Informations Källor

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.

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.

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.

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

Mission Packs **


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