QuakeWorld zegt het beter dan ik zou kunnen:"QuakeWorld is een Internet multi-player specifieke versie van Quake.
Ondanks dat de originele versie van Quake over het Internet gespeeld kan
worden, hadden modem gebruikers - de meerderheid van de spelers, minder dan
een voldoening gevend spel. Symptomen zoals buitensporig achterblijven -
acties die in werkelijkheid veel later plaatsvonden dan wanneer
je ze deed; verlies van pakketjes -
het spel zou blijven hangen en verscheidene seconden later verdergaan;
en diverse andere moeilijkheden
plaagde de gebruikers. Nadat hij realiseerde hoeveel mensen Quake op het
internet speelde en hoeveel dit wilde, maar dit niet konden te wijten aan
het ongenoegen bij het spel, besloot John Carmack van id Software
een versie Quake te maken die voor de gemiddelde modem Internet speler
werd geoptimaliseerd. Deze Internet specifieke versie doet slechts 1 ding,
deathmatch spelen via een TCP/IP netwerk zoals het Internet.
Het geeft geen ondersteuning voor solo spel, en je kunt er niets mee
zonder verbinding naar een speciale server."Je hebt de volledige, geregistreerde of de in de detailhandel
verkrijgbare versie van Quake nodig om
QuakeWorld te kunnen spelen, en een Linux QuakeWorld client.
QuakeWorld clients zijn er in dezelfde soorten
(X11, SVGAlib en Mesa) als de gewone Quake, maar ze zijn allen in
één package gebundeld, dus je hoeft alleen
één bestand te downloaden.
Je hebt echter vier packages om uit te kiezen:
een libc5 tar.gz packageeen glibc tar.gz packageeen libc5 rpm packageeen glibc rpm packageInstalleer slechts één van deze packages.
Elk bevat dezelfde bestanden, ze worden slechts gekoppeld met
verschillende libraries.
Redhat 5.x gebruikers zouden moeten kiezen voor het glibc rpm package.
Gebruikers van op glibc gebaseerde systemen zonder rpm ondersteuning zouden
het glibc tar packages moeten gebruiken. De libc5 rpm is voor Redhat
distributies van voor 5.0 en andere distributies die gebruik maken van het
rpm package formaat.
De libc5 tar.gz package is voor Slackware en alle anderen.Zie de sectie
voor de lokatie van de Linux Quakeworld bestanden.De voorvereisten en configuratie voor deze binaries zijn hetzelfde als
voor Quake, dus raadpleeg de voorgaande secties voor hulp bij het
instellen van SVGAlib voor glide/Mesa.
Installeren van de RPM packages Installatie van de rpm packages zou zo simpel moeten zijn als:su root
rpm -Uvh qwcl-xxxxx.i386.rpmqwcl, glqwcl en glqwcl.glx zullen setuid
root worden geïnstalleerd zodat ze de grafische devices op je
systeem kunnen benaderen.
De X- en GL-clients kunnen zonder rootprivileges worden gedraaid als je
de volgende instructies in
hieronder opvolgt.Het kan zijn dat rpm een melding geeft dat het libglide2x.so
niet kan vinden. De library Glide
is alleen nodig als je een 3Dfx kaart hebt en Quakeworld in GL-mode
(glqwcl) wilt draaien. Als je niet van
plan bent om de GL-mode te gebruiken, kun je de afhankelijkheid van glide
overschrijven met de --nodeps optie:su root
rpm -Uvh qwcl-xxxxx.i386.rpm --nodeps
Installeren van de tar.gz packages Untar gewoon het bestand in je Quake directory om het te installeren. Doe
dit als root zodat de juiste bestandspermissies worden ingesteld:cd /usr/local/games/quake
su root
tar -xzf qwcl2.21-i386-unknown-linux2.0.tar.gzqwcl, glqwcl en glqwcl.glx zullen setuid
root worden geïnstalleerd zodat ze de grafische devices op
je systeem kunnen benaderen.
De GL- en X-clients kunnen zonder rootprivileges worden gedraaid als
je de instructies
in
hieronder opvolgt.
Draaien van QuakeWorld Zodra QuakeWorld te midden van je Quake bestanden is geïnstalleerd,
kun je het opstarten met:
./qwcl +connect some.server.addressZie de sectie voor
info over een aantal front-ends voor QuakeWorld die het makkelijk maken
servers te vinden.lib3dfxgl.so
Met Quakeworld versie 2.30, is er een alternatief voor de library Mesa
beschikbaar. lib3dfxgl.so is een mini-GL driver geoptimaliseerd
voor Quake die in wat betere herhalingsfrequenties voorziet dan Mesa.
Dit is een port van een driver die 3Dfx voor Quake onder Windows
ontwikkelde, en blijkbaar werken nog niet alle mogelijkheden correct.
Dus hopelijk kunnen we verwachten dat zijn performance met de tijd zal
verbeteren.Net als Mesa, vereist lib3dfxgl.so Glide om toegang te kunnen
krijgen tot je 3Dfx kaart.
Met de Quakeworld packages wordt een script meegeleverd,
glqwcl.3dfxgl voor het draaien van Quakeworld met deze
library op glibc systemen. De volgende paragraaf legt uit hoe je
Quakeworld met lib3dfxgl.so op een libc5 systeem draait.
Om dit script werkend te krijgen op een glibc systeem
moet het uitvoerbare bestand glqwcl
niet setuid zijn, noch zou je het als root moeten draaien.
glqwcl zal in stilte Mesa laden in plaats van
lib3dfxgl.so als het met root permissies wordt opgestart. Deze
niet-root vereiste gaat er vanuit dat je de /dev/3dfx
hebt geïnstalleerd.Op een libc5 systeem, zul je als volgt een symbolische koppeling naar
lib3dfxgl.so met de naam libMesaGL.so.2 aan moeten maken:
cd /usr/local/games/quake
ln -sf lib3dfxgl.so libMesaGL.so.2
Start vervolgens Quakeworld vanuit het script waarin
$LD_LIBRARY_PATH aangeeft in de huidige directory te kijken:
#!/bin/sh
LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./glqwcl $*Je kunt zien welke driver wordt geladen door de uitvoer op je console
te bekijken op het moment dat QuakeWorld start: GL_VENDOR: 3Dfx Interactive Inc.
GL_RENDERER: 3Dfx Interactive Voodoo^2(tm)
GL_VERSION: 1.1
GL_EXTENSIONS: 3DFX_set_global_palette WGL_EXT_swap_control GL_EXT_paletted_texture GL_EXT_shared_texture_palette GL_SGIS_multitextureAls GL_VENDOR Brian Paul aangeeft in plaats van
3Dfx Interactive Inc., dan wil dat zeggen dat Mesa nog steeds
wordt gebruikt in plaats van de miniport-driver.glqwcl.glx ++
glqwcl.glx is verbonden met de standaard OpenGL-libraries
in plaats van met Mesa. Dit staat Quakeworld toe op andere 3D hardware
te draaien die door andere OpenGL-implementaties wordt ondersteund.
Voor dit moment, ben ik niet bekend met enige OpenGL-implementaties
die andere hardware dan 3Dfx ondersteunen, maar deze renderer
geeft de waarborg dat als ze verschijnen, we in staat zullen zijn
om er Quakeworld mee te spelen.Gebruik van de GLX-interface verwijdert ook GL Quake II's afhankelijkheid
van SVGAlib voor de toetsenbord- en muisinvoer.Dit is een GLX-applicatie en moet als zodanig vanuit X worden uitgevoerd.Je kunt deze client met Mesa/3Dfx gebruiken als je Mesa en Glide
installeert zoals uitgelegd in de voorgaande sectie,
stel vervolgens de omgevingsvariabele
$MESA_GLX_FX in op "fullscreen" voordat je quake2 opstart:export MESA_GLX_FX=fullscreen
./glqwcl.glx +_windowed_mouse 1Waarom de optie +_windowed_mouse 1? Denk eraan dat dit een
X-applicatie is, die gebruik maakt van je 3Dfx-kaart.
Zelfs al neemt het beeld je hele scherm in beslag,
Quakeworld draait nog steeds in een venster.
Dit betekent dat als je niet
zeer voorzichtig bent, je de muisaanwijzer buiten het Quakeworld
venster zou kunnen verplaatsen en Quakeworld zal plotseling niet meer
reageren op muis- en toetsenbordinvoer.
+_windowed_mouse 1 voorkomt dit probleem door
glqwcl.glx de muis ver voor te zijn en het niet toe te staan
dat het zich buiten het venster begeeft.