Avanti Indietro Indice

2. Quake/Quakeworld

Per installare Quake sul vostro sistema Linux dovete avere una qualche forma della distribuzione ufficiale di Quake della id, o il CD-ROM per dos/Windows comprato in un negozio, o la versione shareware scaricata dalla rete (vedere sotto per i dettagli su come procurarvi la versione shareware). In alternativa, se avete Quake installato su una macchina DOS/Windows, potete usare i file rilevanti da quella installazione.

2.1 Requisiti minimi

Come minimo avrete bisogno di:

Opzionali:

2.2 Installare Quake

Scaricare i file necessari **

Tutti i file necessari per Linux Quake sono disponibili sul sito ftp della id Software, ftp.idsoftware.com. Questo sito può essere carico alle volte, quindi è meglio usare uno di questi mirror:

I file di Quake nominati in questa sezione sono:

Altro software nominato:

Creazione della directory di installazione ++

La prima cosa che dovete fare è decidere dove installare Quake. Molte persone lo mettono in /usr/games/quake. Gli amministratori di sistema anali come me scelgono di installare tutto quello che non fa parte della distribuzione standard sotto /usr/local, quindi per me Quake va in /usr/local/games/quake. Se scegliete di installarlo da qualche altra parte, sostituite il percorso appropriato dove io indico /usr/local/games/quake.

Nota per gli utenti RedHat. Se volete installare QuakeWorld dai pacchetti rpm, dovreste probabilmente installare Quake in /usr/local/games/quake, dato che gli rpm si installano in questa directory per default.

Quindi andate avanti e create la directory in cui volete installare Quake, ed entrateci con cd. Il resto di queste istruzioni assumeranno che questa sia la vostra directory corrente.

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

Installazione dal CD di Quake ++

Se si sta per installare dal CD-ROM di Quake, allora si legga questa sezoine, altrimenti si è liberissimi si saltarla.

Ci sono almeno due versioni del CD di Quake in circolazione. Io ne ho una abbastanza vecchia che ha la versione 1.01 di Quake, e ne ho visti altri che contengono la versione 1.06. Avete la 1.01 se dentro ci sono file che si chiamano quake101.1 e quake101.2. Se al loro posto vedete un file che si chiama resource.1, avete un CD più nuovo.

Montate ora il vostro CD di Quake, e determinate quale versione avete. Nell'esempio riportato qui sotto, sostituite /dev/cdrom e /mnt/cdrom con il file di device ed il punto di mount propri del vostro sistema:

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

E questo è quanto per installare dal CD. Potete saltare direttamente alla sezione " Installazione dei file binari di Quake per Linux".

Installazione da DOS/Windows a Linux

Se avete Quake installato sotto Windows o DOS su un'altra macchina, potete trasferire i file da quake\id1\ al sistema Linux usando FTP o in qualche altro modo. Tenete presente che i nomi dei file nel vostro sistema Linux devono essere in minuscolo per poter essere usati, quindi dovrete probabilmente rinominare i file dopo il trasferimento. Notate anche che potrebbe essere necessario cancellare l'installazione in DOS/Windows per restare in regola con i termini della licenza della id. Non è colpa mia se fate qualcosa di illegale.

Se DOS/Windows e Linux sono sulla stessa macchina avete due possibilità: copiare i file dalla partizione DOS/Windows alla partizione Linux, o fare un link. Le due cose sono equivalenti; potete semplicemente risparmiare circa 50 megabyte di spazio disco se fate un link invece di una copia.

Qualsiasi cosa abbiate scelto, per prima cosa passate nella directory di Quake e createne una nuova di nome id1:

     cd /usr/local/games/quake
     mkdir id1
     

Sostituite /win95/games/quake con il percorso corretto per la partizione DOS/Windows e per la directory di installazione di Quake.

I file dei dati di Quake sono ora installati. Andate avanti fino a " Installazione dei binari di Quake per Linux".

Installazione della versione shareware

La versione shareware di Quake con un solo episodio si può scaricare gratuitamente dal sito ftp della id. Ha tutte le caratteristiche della versione completa, con un paio di limitazioni: non ci si può giocare a Quakeworld, e non si possono usare livelli personalizzati o modificati.

Installare la versione shareware di Quake non è molto diverso da installare da CD.

Vedere la sezione Scaricare i file necessari per sapere da dove prendere la distribuzione shareware. Scaricatela ed estraetela nella directory di Quake:

     cd /usr/local/games/quake
     unzip -L /dove/la/vuoi/mettere/quake106.zip
     

Ora, tra l'altro, avete un file che si chiama resource.1 che in realtà è un archivio lha (lha è un formato di compressione ed archiviazione di file come zip o tar). Per estrarlo si usa il comando lha(1). Se non ce l'avete installato, lo potete prendere da ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z.

     lha e resource.1
     

Quando avete fatto con lha, la directory di Quake dovrà contenere molti nuovi file. Dovrà essere creata anche una directory id1/. I file in questa directory sono i soli importanti per Quake per Linux, quindi potete tranquillamente cancellare tutto il resto. Se è la prima volta che usate Quake, o anche in caso contrario, potreste voler tenere i file *.txt. Sul mio sistema, butto tutti i readme che si accumulano dentro una directory doc/; quindi:

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

Ora siete pronti ad installare i binari per Linux.

2.3 Aggiungere i binari per Linux

Decidete quale dei tre tipi di Quake volete installare:

Scaricate i pacchetti che vi servono (vedere la sezione Scaricare i file necessari) ed estraeteli nella directory di Quake, così:

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

2.4 Impostare i permessi

I server di Quake e QuakeWorld possono essere usati da qualsiasi utente. I client di Quake, invece, hanno bisogno di accesso alle schede sonore e grafiche, cosa che richiede privilegi che i normali utenti non hanno. Un (brutto) modo di superare questo problema è di usare Quake da root. Ai bravi amministratori di sistema si accapponerà la pelle pensando ad una cosa del genere. Una soluzione più accettabile è rendere i binari di Quake setuid root; in questo modo Quake può essere usato da qualsiasi utente, mantenendo i privilegi di accesso alla scheda sonora e grafica. Anche il setuid presenta dei rischi di sicurezza. Un utente furbo potrebbe sfruttare un buco di sicurezza in Quake per ottenere accesso di root al vostro sistema. Ovviamente, se non usate un sistema multiutente, questo può non importarvi.

squake è l'unico client di Quake che deve essere usato con i permessi di root. Con un po' di fatica, potete fare in modo di poter usare i client X e GL senza setuid. Usare i client X e GL senza permessi di root nella sezione Tips and Tricks vi spiega come fare.

Se volete usare squake, rendetelo setuid root con i seguenti comandi:

     chown root squake
     chmod 4755 squake
     

Se avete deciso che è ok usare quake.x11 e glquake setuid root sul vostro sistema, potete ripetere i comandi qui sopra anche per quei binari.

2.5 X11 Quake

Se avete installato il client X11, questo è un buon momento per provarlo. Per glquake e squake c'è bisogno di configurare altre cose, ma quake.x11 dovrebbe essere pronto.

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

Se tutto va bene dovrebbe apparire una piccola finestra di Quake con la prima demo. Dovreste poter sentire anche degli effetti sonori e, se il CD è montato, anche della musica. Se qualcosa di queste non accade, controllate la sezione Risoluzione dei problemi.

2.6 SVGAlib Quake

Sia squake che glquake hanno bisogno della SVGAlib (glquake usa la SVGAlib per gestire l'input da tastiera e da mouse, se ve lo state chiedendo). La SVGAlib è compresa nella maggior parte delle distribuzioni di Linux moderne, e deve essere configurata correttamente per poter utilizzare squake o glquake.

libvga.config è il file di configurazione della SVGAlib. Sulla maggior parte dei sistemi lo troverete nelle directory /etc o /etc/vga. Assicuratevi che il mouse, il monitor e la scheda video vi siano impostati in maniera corretta per il vostro sistema. Per avere altri dettagli consultate la documentazione della SVGAlib.

Se non l'avete già, scaricatela dal sito indicato nella sezione dei file più sopra. Se avete la RedHat 5.x o un'altra distribuzione di Linux basata su glib, guardate le considerazioni su Glibc, RedHat 5.x, Debian 2 nella sezione Risoluzione dei problemi/FAQ per avere delle informazioni importanti su come compilare le librerie per poterle usare con Quake. A http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar.gz è disponibile un binario delle SVGAlib precompilato con le libc5 per chi non ha voglia di ricompilare il tutto.

Dovreste usare squake da una console virtuale. Non funzionerà da X, a meno che non siate root quando lo avviate, e utilizzare un gioco come root è una cosa da evitare. Quindi, se siete in X, fate CTRL+ALT+F1, fate il login e poi

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

Utilizzare i giochi SVGA e GL da X nella sezione dei Tips & Tricks più avanti spiega come lanciare Quake per SVGA e GL da X senza passare manualmente ad una console virtuale.

2.7 GLQuake

Il Quake per le OpenGL accelerate via hardware è Quake come Dio comanda. Non c'è possibile sostituto, e una volta provato non si torna indietro.

Per usare glquake, vi serve una scheda 3D con i chipset grafici Voodoo, Voodoo2 o Voodoo Rush. Ci sono delle procedure particolari da seguire se avete una scheda Vodoo Rush, ma non ve le posso illustrare perché, francamente, non saprei quello che direi. Una versione futura di questo HOWTO coprirà anche i problemi del Rush (se qualcuno ne vuole scrivere, sarò contento di inserire il pezzo qui).

Le librerie SVGAlib, Glide e Mesa devono essere tutte installate e configurate correttamente sul sistema, per poter usare glquake. Le seguenti sezioni copriranno brevemente i passi da seguire per farlo.

Il ( bk@gamers.org) Linux 3Dfx HOWTO ( http://www.gamers.org/dEngine/xf3D/howto/3Dfx-HOWTO.html) di Bernd Kreimeier è un buon posto dove cercare altre informazioni.

Il newsgroup 3dfx.glide.linux sul news server della 3dfx (news.3dfx.com) è un'altra buona fonte di informazioni sull'intersezione di Linux, glide, Mesa e Quake.

SVGAlib

glquake usa le SVGAlib per ricevere input dal mouse e dalla tastiera, quindi dovrete configurarle come illustrato nella sezione SVGAlib Quake.

Glide

Glide è una libreria che fornisce un'API per programmare le schede 3Dfx. Se volete che le librerie grafiche Mesa usino la vostra scheda 3Dfx, le dovete avere.

Potete trovare l'ultima versione delle glide su http://glide.xxedgexx.com/3DfxRPMS.html. Scegliete il (i) pacchetti appropriati per il vostro sistema, ed installateli seguendo le istruzioni che trovate sulla pagina web.

Notate che a meno che non scarichiate il pacchetto dei device driver per 3Dfx oltre alla libreria Glide, potrete utilizzare solo le applicazioni Glide (come GLQuake) come root. Installate il modulo /dev/3dfx e potrete usare GLQuake come utente normale.

Una volta che avete installato glide, provate il programma di test che lo accompagna. Ricordatevelo: è un buon modo di resettare il display se un'applicazione di glide (come GLQuake) crasha e lascia lo schermo spento. NOTA: usate questo test da una console virtuale, non X! È possibile che l'applicazione di test perda il fuoco della tastiera e del mouse in X, e a quel punto non avreste modo di chiuderlo.


     /usr/local/glide/bin/test3Dfx
     

Il vostro schermo dovrebbe diventare blu e chiedervi di premere un tasto qualsiasi. Dopo che avrete premuto il tasto dovreste tornare al prompt. 3dfx.glide.linux sul news server della 3dfx (news.3dfx.com) è un'ottima fonte di informazioni per problemi specifici di glide per Linux.

Mesa

Una volta installato glide, dovrete installare Mesa, un'implementazione free di OpenGL di Brial Paul (brianp@elastic.avid.com). Fortunatamente, non dovrete cercare lontano, perché le Mesa 2.6 sono incluse con i binari di QLQuake e QuakeWorld. Tutto quello che dovete fare è spostarle nel posto giusto:

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

Se volete aggiornare le Mesa ad una versione più recente (al momento in cui scrivo le Mesa 3.0 sono le più aggiornate), potete scaricarle da ftp://iris.ssec.wisc.edu/pub/Mesa Se avete RedHat 5.x o un'altra distribuzione basata sulle glibc, guardate le considerazioni su glibc, RedHat 5.x, Debian 2 nella sezione Risoluzione dei problemi/FAQ per avere informazioni importanti sulla compilazione delle librerie per Quake.

Dopo aver compilato il tutto seguendo le istruzioni, dovrete fare due cose:

Ora passate ad una console virtuale (CTRL+ALT+F1) ed avviate glquake.

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

2.8 Opzioni da linea di comando specifiche di Linux

Questa sezione ricopre le opzioni da linea di comando specifiche della versione di Quake per Linux. Ci sono molte altre opzioni per Quake, ma vanno al di là di questo HOWTO. Controllate su alcuni dei siti elencati nella sezione Informazioni generali su Quake per questo tipo di informazioni.

-mem num

Specifica la memoria in megabyte da allocare (il default è 8MB, che dovrebbe essere sufficiente nella maggior parte dei casi).

-nostdout

Non mandare output nello stdout. Usate questa opzione se non volete che tutto l'output della console sia mandato sul terminale.

-mdev device

Il dispositivo del mouse, il default è /dev/mouse

-mrate speed

Il baud rate del mouse, il default è 1200

-cddev device

Il dispositivo del CD, il default è /dev/cdrom

-mode num

Per usare le modalità video indicate (solo per squake)

-nokdb

Non inizializzare la tastiera

-sndbits 8 o 16

Imposta la dimensione in bit del campionamento sonoro. Il default è 16, se supportato

-sndspeed speed

Imposta la velocità del suono. I valori normali sono 8000, 11025, 22051 e 44100. Il default è 11025.

-sndmono

Imposta il suono mono

-sndstereo

Imposta il suono stereo (è il default, se supportato)

2.9 QuakeWorld **

http://www.quakeworld.net spiega tutto meglio di quanto possa farlo io:

QuakeWorld è una versione di Quake multi-giocatore specifica per Internet. Mentre la versione originale di Quake può essere giocata su Internet, chi giocava via modem - la maggioranza dei giocatori - avevano una soddisfazione minore. Per gli utenti si prospettavano un lag eccessivo, cioè azioni che avvenivano molto dopo che le si faceva, la perdita di pacchetti, in cui il gioco si fermava e riprendeva diversi secondi dopo, e varie altre difficoltà. Dopo aver realizzato che molte persone giocavano a Quake su Internet, e quanti altri avrebbero voluto ma non potevano perché il gioco non era soddisfacente, John Carmack della id Software decise di creare una versione di Quake ottimizzata per il giocatore medio su Internet via modem. La versione specifica via Internet fa solo una cosa, cioè giocare a deathmatch su una rete TCP/IP come Internet. Non ha supporto per il gioco singolo, e non si può fare niente senza connettersi ad un servizio speciale.

Per giocare a QuakeWorld vi serve la versione registrata, completa o commerciale di Quake, ed un client QuakeWorld per Linux. I client di QuakeWorld sono degli stessi tipi (X11, SVGAlib e Mesa) del Quake normale, ma sono tutti impacchettati insieme in un singolo pacchetto, quindi avete bisogno di scaricare un file solo. Dovete però scegliere tra quattro pacchetti:

Installate solo uno di questi pacchetti: ciascuno contiene gli stessi file, sono solo linkati con librerie diverse. Gli utenti di RedHat 5.x possono scegliere il pacchetto rpm glibc. Chi ha un sistema basato su glibc senza supporto rpm dovrebbe usare il pacchetto glibc tar. L'rpm libc5 è per le distribuzioni RedHat precedenti alla 5.0 e per altre distribuzioni che usano il formato rpm. Il pacchetto tar.gz libc5 è per la Slackware e per tutti gli altri.

Vedere la sezione Scaricare i file necessari per sapere dove trovare i file di QuakeWorld per Linux.

I prerequisiti e la configurazione di questi binari sono gli stessi che per Quake, quindi riferitevi alle sezioni precedenti per avere aiuto su come impostare le SVGAlib o le glide/Mesa.

Installazione dei pacchetti RPM ++

Per installare i pacchetti rpm dovrebbe essere sufficiente

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

qwcl, glqwcl e glqwcl.glx saranno installate setuid root in modo che possano accedere ai dispositivi grafici del sistema. I client X e GL possono essere usati senza privilegi di root se seguite le istruzioni in Utilizzare i giochi per X e GL senza setuid più avanti.

L'rpm può lamentarsi che non trova libglide2x.so. La libreria glide è necessaria solo se avete una scheda 3Dfx e volete usare QuakeWorld in modalità GL (glqwcl). Se non volete usare la modalità GL, potete superare le dipendenze di glide con l'opzione --nodeps:

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

Installazione dei pacchetti tar.gz ++

Per installare, fate untar del file nella directory di Quake. Fatelo come root, in modo da impostare i corretti permessi dei file:

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

qwcl, glqwcl e glqwcl.glx saranno installati setuid root in modo che possano accedere i dispositivi grafici sul vostro sistema. I client GL e X possono essere utilizzati senza privilegi di root se seguite le istruzioni in Utilizzare i giochi per X e GL senza setuid più avanti.

Utilizzare QuakeWorld ++

Una volta installato QuakeWorld insieme ai file di Quake, potete farlo partire con:

     ./qwcl +connect some.server.address
     

Vedere la sezione Software correlato per le informazioni su qualche front end per QuakeWorld che rende più facile trovare i server.

2.10 Server

La maggior parte, se non tutte, le informazioni su come fare girare un server QW su DOS o Windows sono applicabili nello stesso modo ad un server Linux.

Per inizializzare un server di QuakeWorld, digitate semplicemente:

     ./qwsv
     

Il manuale ufficiale del server di QuakeWorld risiede in http://qwcentral.stomped.com.

2.11 Moduli ed aggiunte

Una delle cose più belle dei giochi di Quake è che gli autori li hanno resi facilmente estensibili. Gli utenti finali possono creare i propri livelli, aggiungere nuove armi o mostri, o anche cambiare completamente le regole del gioco.

Capture the flag (acchiappabandiera)

Questa è la mia variazione favorita sia di Quake che di Quake2. Invece di girare intorno ed uccidere tutti quelli che incontrate (che ha i suoi meriti, non capite male!), l'acchiappabandiera è un gioco a squadre e molto più strategico. Dave 'Zoid' Kirsch, maintainer dei porting di Quake per Linux, ha creato questo modulo.

Tutto quello che volete sapere del modulo per l'acchiappabandiera (CTF) si trova in http://captured.com/threewave/ Per giocare vi serve ftp://ftp.cdrom.com/pub/quake/planetquake/threewave/ctf/client/3wctfc.zip. Per installare la parte client di CTF, create una directory con nome ctf nella vostra directory di Quake, e scompattatevi il file 3wctfc.zip. Il file readme.txt che lo accompagna è pieno zeppo di informazioni utili.

     cd /usr/local/games/quake
     mkdir ctf
     cd ctf
     unzip -L /dovunque/l'abbiate/messo/3wctfc.zip
     

Per le informazioni su come utilizzare un server CTF vedere le pagine web menzionate qui sopra.

Pacchetti missione **

La Activision ha rilasciato due pacchetti aggiuntivi di livelli extra per Quake, Scourge of Armagon e Dissolution of Eternity.

Strumenti per Quake

Qualcuno vuole contribuire con delle informazioni su qcc, bsp e tutto il resto?


Avanti Indietro Indice