bobz@mr.net
), Brett A. Thomas (quark@baz.com
), e Mike Hallock (mikeh@medina.net
)Quake, QuakeWorld e Quake II sono giochi di azione in 3D tremendamente famosi, sviluppati dalla id Software.
Se non li conoscete, ci sono posti migliori di questo HOWTO dove impararne le basi. Guardate la sezione Altre fonti di informazione per averne una lista.
Questo documento assume che abbiate Linux funzionante, e in alcuni casi anche il sistema X Window. X non è indispensabile, ma è un buon modo per provare un'installazione base. Se non avete X, potete tranquillamente saltare tutti i riferimenti ad esso.
Le sezioni di questo documento che sono state aggiornate nell'ultima versione hanno un ** prima del titolo. Le sezioni aggiornate nella versione precedente hanno un ++.
Questo documento di certo non contiene tutto quello che si deve sapere sul Linux Quake. Con il vostro aiuto, però, possiamo portarlo sempre più vicino a quell'ideale. Vorremmo che questo HOWTO fosse il più completo ed accurato possibile, quindi se trovate errori od omissioni, fatecele sapere. Le domande, i commenti e le correzioni dovrebbero essere inviati a Bob Zimbinski ( bobz@mr.net) o a Mike Hallock ( mikeh@medina.net). Le critiche costruttive sono ben accette, i flame no.
La versione originale di questo documento è stata scritta da Brett A.Thomas (quark@baz.com) e da Mike Hallock (mikeh@medina.net). Bob Zimbinski (bobz@mr.net) ha riscritto ed espanso il documento originale.
Dei ringraziamenti speciali vanno alle seguenti persone, per averci portato Quake per Linux:
Grazie alle seguenti persone per il loro contributo a questo HOWTO:
-noudp
.
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.
Come minimo avrete bisogno di:
Opzionali:
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:
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
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
resource.1
, andate avanti al
punto successivo. Per i CD versione 1.01 dovrete scaricare il pacchetto
Quake shareware per aggiornare i file .pak
dopo l'installazione.
L'operazione viene spiegata nell'ultimo punto di questa sezione.
cat /mnt/cdrom/quake101.1 /mnt/cdrom/quake101.2 > resource.1
/mnt/cdrom/resource.1
, al suo posto usate
/usr/local/games/quake/resource.1
.resource.1
sul CD è in realtà un archivio lha (un formato di compressione di
archivi come zip o tar). Per estrarlo useremo il comando lha
. Se non
lo avete installato sul vostro sistema, lo potete scaricare da
ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z.
lha e /mnt/cdrom/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 *
id1/pak0.pak
con quello della versione
shareware. Installate la versione shareware come descritto in
Installazione della versione shareware, ma fatelo in una directory temporanea, in modo da non dover sovrascrivere
i veri file di Quake. Quando avete installato i file shareware, copiate
il file id1/pak0.pak
dalla directory temporanea in
/usr/local/games/quake/id1
, dopodiché potete
cancellare la directory con i file shareware.
E questo è quanto per installare dal CD. Potete saltare direttamente alla sezione " Installazione dei file binari di Quake per 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
cp /win95/games/quake/id1/*.pak id1
cd id1
ln -s /win95/games/quake/id1/*.pak .
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".
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.
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
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.
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.
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.
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.
glquake usa le SVGAlib per ricevere input dal mouse e dalla tastiera, quindi dovrete configurarle come illustrato nella sezione SVGAlib Quake.
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.
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:
libMesaGL.so.2.6
come descritto sopra, le dovete
eliminare, o Quake potrebbe non usare le nuove versioni.
cd /usr/local/lib/
rm -f libMesaGL.so.2*
libMesaGL.so.2
:
cd /usr/local/lib/
ln -s /dovunque/siano/libMesaGL.so.3.0 libMesaGL.so.2
ldconfig
Ora passate ad una console virtuale (CTRL+ALT+F1) ed avviate glquake.
cd /usr/local/games/quake
./glquake
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.
Specifica la memoria in megabyte da allocare (il default è 8MB, che dovrebbe essere sufficiente nella maggior parte dei casi).
Non mandare output nello stdout. Usate questa opzione se non volete che tutto l'output della console sia mandato sul terminale.
Il dispositivo del mouse, il default è /dev/mouse
Il baud rate del mouse, il default è 1200
Il dispositivo del CD, il default è /dev/cdrom
Per usare le modalità video indicate (solo per squake)
Non inizializzare la tastiera
Imposta la dimensione in bit del campionamento sonoro. Il default è 16, se supportato
Imposta la velocità del suono. I valori normali sono 8000, 11025, 22051 e 44100. Il default è 11025.
Imposta il suono mono
Imposta il suono stereo (è il default, se supportato)
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.
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
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.
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.
Con la versione 2.30 di QuakeWorld è disponibile un'alternativa alle
librerie Mesa. lib3dfxgl.so
è un mini driver GL ottimizzato
per Quake che fornisce una framerate leggermente migliore delle Mesa.
Si tratta del porting di un driver che la 3Dfx ha sviluppato per Quake
sotto Windows, ed apparentemente ancora non tutte le sue caratteristiche
funzionano bene; quindi speriamo che la sua validità aumenti nel tempo.
Come le Mesa, lib3dfxgl.so
ha bisogno delle Glide per accedere
alla scheda 3Dfx. Il pacchetto di QuakeWorkd contiene uno script,
glqwcl.3dfxgl
per usare QuakeWorld su sistemi glibc con questa
libreria. Il prossimo paragrafo spiega come usare QuakeWorld con la
lib3dfxgl.so
su un sistema libc5. Su un sistema glibc, per
fare funzionare lo script, l'eseguibile glqwcl
non deve
essere setuid, e non va usato da root. glqwcl
caricherà
silenziosamente le Mesa invece delle lib3dfxgl.so
se si fa
girare con i permessi di root. Queste richieste implicano che abbiate
installato il driver /dev/3dfx
.
Sui sistemi basati sulle libc5 dovrete creare un link simbolico a lib3dfxgl.so
che si chiami libMesaGL.so.2
, così:
cd /usr/local/games/quake
ln -sf lib3dfxgl.so libMesaGL.so.2
e poi fare partire QuakeWorld da uno script che dica a
$LD_LIBRARY_PATH
di guardare nella directory corrente:
#!/bin/sh LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./glqwcl $*
Potete vedere quale driver viene caricato guardando l'output nella console quando QuakeWorld parte, così:
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
Se GL_VENDOR
dice Brian Paul
invece di
3Dfx Interactive Inc.
, vuol dire che viene ancora usato Mesa
invece del driver miniport.
glqwcl.glx
viene linkato con le librerie OpenGL standard invece
che con Mesa. Questo permette a QuakeWorld di girare su hardware
supportato da altre implementazioni delle Mesa. In questo momento non conosco
nessuna implementazione che supporti hardware diverso dalle 3Dfx, ma questo
modo di agire assicura che quando apparissero ci si potrebbe giocare a
QuakeWorld.
QuakeWorld è un'applicazione GLX, e come tale deve essere usata da dentro X.
Potete usare questo client con le Mesa/3Dfx se installate le Mesa e le Glide
come illustrato nella sezione precedente, e poi impostate la variabile
d'ambiente $MESA_GLX_FX
al valore "fullscreen" prima e dopo il
comando quake2
:
export MESA_GLX_FX=fullscreen
./glqwcl.glx +_windowed_mouse 1
Perché usare l'opzione +_windowed_mouse 1
? Ricordate che
questa è un'applicazione di X che usa la scheda 3Dfx. Anche se il display
occupa tutto lo schermo, QuakeWorld sta sempre girando dentro una finestra.
Ciò significa che se non siete molto attenti, potreste spostare il
puntatore del mouse fuori della finestra di QuakeWorld, e QuakeWorld
smetterebbe di rispondere all'input dal mouse e dalla tastiera.
+_windowed_mouse 1
elimina questo problema dicendo a
glqwcl.glx
di agganciare il mouse e non farlo muovere
all'esterno della finestra.
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.
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.
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.
La Activision ha rilasciato due pacchetti aggiuntivi di livelli extra per Quake, Scourge of Armagon e Dissolution of Eternity.
/mnt/cdrom
e che Quake sia
installato in /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
Usate il pacchetto missione così:
cd /usr/local/games/quake
./quake.x11 -game hipnotic
config.cfg
, dato che quest'ultimo non è
incluso nel CD del pacchetto missione 2.
Qualcuno vuole contribuire con delle informazioni su qcc, bsp e tutto il resto?
Per installare Quake II sul vostro sistema Linux vi serve un qualche tipo della distribuzione ufficiale di Quake II della id: o il CD-ROM per Windows comprato dal vostro negozio di software preferito, o la versione demo scaricata dalla rete. Vedere Scaricare i file necessari per avere dettagli sulla versione demo. Alternativamente, se avete già Quake installato su una macchina Windows, potete usare i file che vi interessano da quella installazione.
Come minimo avrete bisogno di:
Opzionali:
Tutti i file necessari per Quake II per Linux sono disponibili nel sito ftp della id Software, ftp.idsoftware.com. Questo sito può essere spesso congestionato. Quindi potete usare uno dei mirror:
I file di Quake II nominati in questa sezione sono:
Altro software nominato:
La prima cosa che dovete fare è decidere dove volete installare Quake II. Molti
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 II va
in /usr/local/games/quake2
. Se scegliete di installarlo da qualche
altra parte, sostituite il percorso appropriato dove io indico
/usr/local/games/quake2
.
Quindi andate avanti e create la directory in cui installerete Quake II, ed entrateci. Il resto di queste istruzioni assumeranno che questa sia la vostra directory corrente.
mkdir /usr/local/games/quake2
cd /usr/local/games/quake2
Inserite il CD di Quake II nel drive, e montatelo:
mount -t iso9660 /dev/cdrom /mnt/cdrom
Se il vostro CDROM normalmente è montato altrove, sostituite la sua posizione
al posto di /mnt/cdrom
. Se non siete sicuri di dove sia montato il
CDROM, controllate la documentazione della vostra particolare distribuzione.
cd /usr/local/games/quake2
cp -r /mnt/cdrom/Install/Data/* .
Ci saranno un sacco di inutili file per Windows in giro, che potrete
tranquillamente cancellare:
rm -f /usr/local/quake2/*.dll
rm -f /usr/local/quake2/quake2.exe
rm -f /usr/local/quake2/baseq2/gamex386.dll
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
Da notare che ciò non significa che dovete montare il CD di Quake II
ogni volta che volete giocare. Se il gioco non riesce a caricare i
video, semplicemente non li fa vedere.
Se avete Quake II installato sotto Windows su un'altra macchina, potete
trasferire i file da quake2\baseq2
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 Windows per
restare in regola con i termini della licenza della id. Non è colpa mia
se fate qualcosa di illegale.
Se Windows e Linux sono sulla stessa macchina avete due possibilità: copiare i file dalla partizione Windows alla partizione Linux, o fare un link. Le due cose sono equivalenti; potete semplicemente risparmiare molto spazio disco se fate un link invece di una copia.
Come al solito, sostituite /win95/games/quake2
nel seguente esempio
con il percorso corretto per la partizione Windows e per l'installazione
di Quake II.
cd /usr/local/games/quake2
cp -r /win95/games/quake2/baseq2 .
cd /usr/local/games/quake2
ln -s /win95/games/quake2/baseq2 .
Questo secondo metodo richiede che la partizione Windows da cui state
facendo il link sia scrivibile dagli utenti, il che può non essere vero
per tutti i sistemi. Rendendo la partizione Windows scrivibile, date
a tutti gli utenti la possibilità di distruggere l'intera installazione
Windows. Se per voi va bene, modificate la partizione /etc/fstab
in modo che la partizione Windows venga montata con le opzioni
umask=002,gid=XXX, dove XXX è l'id del gruppo "utenti".
Per sapere quale è, guardate in /etc/group
. Quando avete
aggiornato fstab
, smontate e rimontate la partizione Windows,
ed avete fatto.Avete finito di installare i file di dati di Quake II. Passate all'" Installazione dei binari per Linux".
La id Software ha una versione demo gratuita di Quake II sul suo sito ftp. È un download di 40 megabyte. Questa demo comprende tutte le caratteristiche della versione completa, compresa la possibilità di giocare con più giocatori, ma ha solo tre livelli, quindi può essere difficile trovare un server per giocarci.
Vedere la sezione Scaricare i file necessari più avanti, per sapere dove trovare il demo di Quake II. Scaricatela e mettetela nella directory di Quake II.
La distribuzione demo è un file zip autoscompattante (o per lo meno si scompatta automaticamente in altri sistemi operativi). Potete estrarla usando il comando unzip(1), che dovrebbe essere incluso nella maggior parte delle distribuzioni moderne. Se non l'avete, lo potete scaricare dal sito elencato nella sezione Scaricare i file necessari.
Entrate nella directory di Quake II ed estraete l'archivio:
cd /usr/local/games/quake2
unzip q2-314-demo-x86.exe
Ora dovete cancellare alcune cose e spostarne altre:
rm -rf Splash Setup.exe
mv Install/Data/baseq2 .
mv Install/Data/DOCS docs
rm -rf Install
rm -f baseq2/gamex86.dll
La demo di Quake II ora è installata. Dovete solo aggiungere i binari per Linux.
Ci sono quattro pacchetti di Quake II per Linux disponibili:
Installatene solo uno. Ciascuno contiene gli stessi file, sono soltanto linkati contro diverse librerie. Gli utenti di RedHat 5.1 devono scegliere il pacchetto rpm per glibc. Chi usa un sistema glibc senza supporto per rpm deve usare il pacchetto tar per glibc. L'rpm per libc5 è per chi ha una distribuzione RedHat precedente alla 5.0 o un'altra distribuzione che usa il formato rpm per i pacchetti. Il pacchetto tar.gz per libc5 è per la Slackware e per tutti gli altri.
Vedere la sezione Scaricare i file necessari per sapere dove trovare i file di Quake II per Linux.
L'installazione dei pacchetti rpm dovrebbe essere semplicissima:
su root
rpm -Uvh quake2-xxxxx.i386.rpm
Rpm si potrà lamentare che non trova libglide2x.so
. La libreria
Glide è necessaria solo se avete una scheda 3Dfx e volete usare Quake II
in modalità GL. Se non pensate di utilizzare la modalità GL, potete
superare la dipendenza dalle Glide con l'opzione --nodeps
:
su root
rpm -Uvh quake2-xxxxx.i386.rpm --nodeps
Per installarli, scompattate con tar i file nella directory di Quake II. Fatelo come root, in modo da impostare i permessi corretti sui file.
cd /usr/local/games/quake
su root
tar -xzf qwcl2.21-i386-unknown-linux2.0.tar.gz
Se avete usato rpm
o tar
da root quando avete installato
il pacchetto di Quake II sul sistema, i permessi sui file dovrebbero essere
corretti. L'eseguibile quake2
deve essere stato installato setuid
root per poter fargli accedere ai dispositivi grafici del sistema. Per
questioni di sicurezza, le librerie di rendering ref_*.so
sono
impostate in modo da appartenere a root e da essere scrivibili solo a lui. Se
le librerie non sono di root, o sono scrivibili a tutti, quake2
non
partirà.
Se volete usare Quake II solo con i renderer GL o X, il file quake2
non ha bisogno di essere setuid root. Vedere
Utilizzare le versioni X e GL senza setuid nella sezione Tips and
Tricks per avere informazioni su come utilizzare Quake II senza permessi di
root.
Per ragioni di sicurezza, esiste un file quake2.conf
, che dice a
Quake II dove trovare le librerie di rendering di cui ha
bisogno (ref_*.so
). Contiene solo una linea, che dovrebbe essere
il percorso per la vostra installazione di Quake II. Quake II cerca questo file
in /etc
. Se avete installato Quake II da un file .rpm
,
questo file sarà stato installato automaticamente. Se l'avete installato
da un pacchetto .tar
, dovete crearlo così:
su root
cd /usr/local/games/quake2
pwd > /etc/quake2.conf
chmod 644 /etc/quake2.conf
Quake II dovrebbe essere pronto a girare sotto X. Provate:
cd /usr/local/games/quake2
./quake2 +set vid_ref softx
Se va tutto bene, dopo una buona pausa dovrebbe comparire una piccola finestra di Quake II con il demo che ci gira dentro. Dovreste sentire degli effetti sonori, e forse della musica, se il CD è montato. Se una di queste cose non funziona, controllate la sezione Risoluzione dei problemi.
Se volete usare i renderer ref_soft o ref_gl vi serve la SVGAlib installata e configurata (Quake II usa le SVGAlib per processare l'input da tastiera e da mouse, in caso vi stiate chiedendo a cosa serve per il renderer GL). La SVGAlib è compresa nella maggior parte delle distribuzioni, e deve essere configurata correttamente prima di poter usare Quake II fuori da X.
libvga.config
è il file di configurazione di SVGAlib. Sulla maggior
parte dei sistemi lo troverete in /etc
o in /etc/vga
.
Assicutatevi che le impostazioni del mouse, del monitor e della scheda video in questo file siano corretti per il vostro sistema. Per avere altri dettagli controllate 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 glibs, 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 Quake II da una console virtuale se usate i renderer ref_soft o ref_gl. 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/quake2
./quake2
Utilizzare i giochi SVGA e GL da X nella sezione dei Tips & Tricks più avanti spiega come lanciare Quake II per SVGA e GL da X senza passare manualmente ad una console virtuale.
Il Quake per le OpenGL hardware-accelerate è Quake come Dio comanda. Non c'è possibile sostituto, e una volta provato non si torna indietro.
Per usare Quake II in modalità GL, 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 quake2
. Le seguenti
sezioni copriranno brevemente i passi da seguire per farlo.
Il Linux 3Dfx HOWTO di Bernd Kreimeier ( bk@gamers.org) ( http://www.gamers.org/dEngine/xf3D/howto/3Dfx-HOWTO.html) è una buona fonte di 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.
Quake II usa le SVGAlib per ricevere input dal mouse e dalla tastiera, quindi dovrete configurarle come illustrato nella sezione Renderer SVGAlib.
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. Ricoldatevelo: è 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.
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 Quake II. Tutto quello che dovete fare è spostarle nel posto giusto:
cd /usr/local/games/quake2
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:
libMesaGL.so.2.6
come descritto sopra, le dovete
eliminare, o Quake II potrebbe non usare le nuove versioni.
cd /usr/local/lib/
rm -f libMesaGL.so.2*
libMesaGL.so.2
:
cd /usr/local/lib/
ln -s /wherever/you/installed/it/libMesaGL.so.3.0 libMesaGL.so.2
ldconfig
Ora passate ad una console virtuale (CTRL+ALT+F1) ed avviate Quake II:
cd /usr/local/games/quake2
./quake2 +set vid_ref gl
Con Quake II versione 3.19 è disponibile un'alternativa alla libreria Mesa.
lib3dfxgl.so
è un mini driver GL ottimizzato per Quake che fornisce
una framerate leggermente migliore delle Mesa.
Si tratta del porting di un driver che la 3Dfx ha sviluppato per Quake
sotto Windows, ed apparentemente ancora non tutte le sue caratteristiche
funzionano bene; quindi speriamo che la sua validità aumenti nel tempo.
Come le Mesa, lib3dfxgl.so
ha bisogno delle Glide per accedere
alla scheda 3Dfx. Il pacchetto di Quake II contiene uno script,
glqwcl.3dfxgl
per usare Quake II su sistemi glibc con questa
libreria. Il prossimo paragrafo spiega come usare Quake II con la
lib3dfxgl.so
su un sistema libc5. Su un sistema glibc, per
fare funzionare lo script, l'eseguibile glqwcl
non deve
essere setuid, e non va usato da root. glqwcl
caricherà
silenziosamente le Mesa invece delle lib3dfxgl.so
se si fa
girare con i permessi di root. Queste richieste implicano che abbiate
installato il driver /dev/3dfx
se gira con permessi di root.
Questa richiesta di non essere root implica che abbiate installato il
driver /dev/3dfx
.
Sui sistemi basati sulle libc5, si applica la richiesta di non essere
root riportata sopra, ma dovrete anche creare un link simbolico a
lib3dfxgl.so
che si chiami libMesaGL.so.2
, così:
cd /usr/local/games/quake
ln -sf lib3dfxgl.so libMesaGL.so.2
e poi fare partire Quake II da uno script che dica a
$LD_LIBRARY_PATH
di guardare nella directory corrente:
#!/bin/sh LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./quake2 +set vid_ref gl $*
Potete vedere quale driver viene caricato guardando l'output nella console quando Quake II parte, così:
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
Se GL_VENDOR
dice Brian Paul
invece di
3Dfx Interactive Inc.
, vuol dire che viene ancora usato Mesa
invece del driver miniport.
ref_glx.so
è linkato con le librerie OpenGL standard invece che
con le Mesa. Questo permette a Quake II di girare su altro hardware
3D che sia supportato da altre implementazioni OpenGL. Al momento non
conosco altre implementazioni OpenGL che supportino hardware diversi dalle
3Dfx, ma questo renderer assicura che quando apparissero ci si potrebbe
giocare a Quake II.
Quake II è un'applicazione GLX, e come tale deve essere usata da dentro X.
Potete usare questo client con le Mesa/3Dfx se installate le Mesa e le Glide
come illustrato nella sezione precedente, e poi impostate la variabile
d'ambiente $MESA_GLX_FX
al valore "fullscreen" prima e dopo il
comando quake2
:
export MESA_GLX_FX=fullscreen
./quake2 +set vid_ref glx +set _windowed_mouse 1
Perché usare l'opzione +_windowed_mouse 1
? Ricordate che
questa è un'applicazione di X che usa la scheda 3Dfx. Anche se il display
occupa tutto lo schermo, Quake II sta sempre girando dentro una finestra.
Ciò significa che se non siete molto attenti, potreste spostare il
puntatore del mouse fuori della finestra di Quake II, e Quake II
smetterebbe di rispondere all'input dal mouse e dalla tastiera.
+_windowed_mouse 1
elimina questo problema dicendo a
glqwcl.glx
di agganciare il mouse e non farlo muovere
all'esterno della finestra.
Questa sezione ricopre le opzioni da linea di comando specifiche della versione di Quake II per Linux. Ci sono molte altre opzioni per Quake II, 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.
Le seguenti sono in realtà cvar (variabili client) che potete impostare sulla
console di Q2, ma ha più senso darle da linea di comando.
Impostatele con +set
dalla linea di comando, così:
./quake2 +set cd_dev /dev/hdc
Nome del device del CD-ROM
Disabilita il CD audio se valore è diverso da zero.
Imposta la dimensione in bit del campionamento sonoro. Il default è 16.
Imposta la velocità del suono. I valori normali sono 8000, 11025, 22051 e 44100. Il default è 11025. Se impostato a zero, il driver del suono cerca di usare le velocità in questo ordine: 11025, 22051, 44100, 8000.
Indica suono stereo o mono. Il default è 2 (stereo). Usate 1 per il mono.
Non mandare nessun output allo stdout. Usate questa opzione se non volete che l'output di console sia mandato sul terminale.
La forza di Linux come server internet lo rende una piattaforma perfetta per far girare un server di Quake II per internet. Questa sezione tratterà le basi e gli aspetti specifici di Linux dell'impostazione di un server di Quake II. Informazioni più dettagliate su come utilizzare i server di Quake II sono disponibili altrove (vedere la sezione Altre fonti di informazioni nella prima parte di questo documento.
Si può inizializzare un server "in ascolto" di Quake II dall'interno del gioco, usando il menù Multiplayer. In questo modo si può ospitare un gioco e parteciparvi allo stesso tempo.
Per iniziare un server "in ascolto", inizializzare Quake II, aprite il menù di Quake II con il tasto Esc, e scegliete la voce Multiplayer. Da lì dovrebbe essere piuttosto auto-esplicativo.
Per un server di Quake II permanente ed autonomo che giri senza un'attenzione costante, usare il server in ascolto non è pratico. Quake II ha una modalità server dedicato più adatta a questo tipo di utilizzo. Il server dedicato viene avviato da linea di comando e usa meno risorse di sistema di un server "in ascolto" perché non inizializza la parte grafica del client.
Per inizializzare un server dedicato, usate l'opzione da linea di comando
+set dedicated 1
. Potete impostare dei parametri aggiuntivi sia
da linea di comando sia da un file di configurazione che va impostato dalla
linea di comando con +exec
. Il file di configurazione dovrebbe essere
nella directory baseq2
.
Qui sotto sono elencate alcune opzioni comuni per i server. Per impostarle
sulla linea di comando, date +set fraglimit 30
. Le opzioni vengono
impostate nello stesso modo anche nel file di configurazione, solo che non
serve il +
prima di set
. Per invocare il file di
configurazione fate così: +exec server.cfg
.
Numero di frag richiesti prima che la mappa cambi
Tempo in minuti che deve passare prima che la mappa cambi
Il nome del vostro server di Quake II. Si tratta di una stringa arbitratia, e non ha niente a che fare con il nome di host DNS.
Il massimo numero di giocatori che si può connettere contemporaneamente al server.
Per avere tante informazioni sulla console e sulla linea di comando di Quake II quante ne basterebbero per soffocare un cavallo, guardate su Farenheit 176 ( http://www.planetquake.com/f176).
Le modifiche a Quake II come Capture the Flag (acchiappabandiera),
Jailbreak e Lithium II sono
estensioni molto popolari del gioco originale di Quake II. Alcuni moduli
risiedono interamente nel server (Lithium), ed altri richiedono delle
modifiche al client (CTF). Per i moduli solo su server, potete semplicemente
connettervi e giocare. I moduli dal lato client vi richiedono di installare dei
file aggiuntivi nella directory di quake2
prima di giocare.
Generalmente, l'installazione di un modulo dal lato client consiste semplicemente nello scaricare il pacchetto client e spacchettarlo nella directory di Quake II, ma dovreste riferirvi alla documentazione del modulo per i dettagli specifici. Può essere necessario scaricare un pacchetto specifico per Linux in aggiunta al pacchetto client principale (per Windows). Tenete pure presente che non tutti i moduli possono essere disponibili per Linux.
I pacchetti dei moduli dal lato client di solito contengono un nuovo file
gamei386.so
e uno o più file .pak
, oltre, forse, ad altri
file. Questi nuovi file verranno installati in una sottodirectory della
directory di Quake II. Usate +set game mod-dir
sulla linea
di comando per usare il modulo. Rocket Arena 2, ad esempio, si installa in
una directory arena
. Per giocare a RA2, inizializzate il client
così:
./quake2 +set game arena
Dato che questa è la variazione più famosa di Quake II a più giocatori, ho incluso delle istruzioni specifiche per installare questo modulo. Capture the flag per Quake II è disponibile dal sito ftp della id. Scaricatelo, poi installatelo così:
cd /usr/local/games/quake2
mkdir ctf
cd ctf
unzip -L /wherever/you/put/it/q2ctf102.zip
Per giocare a CFT inizializzate Quake II con +set game ctf
.
Usare un modulo di Quake II su un server non è molto diverso da usarne uno
dal lato client. In genere dovrete installare i file gamei386.so
e
server.cfg
in una nuova sottodirectory, ed inizializzare il server
con
./quake2 +set game XXXX +set dedicated 1 +exec server.cfg
dove XXXX è il nome della nuova sottodirectory del modulo. La procedura
esatta varia da modulo a modulo, naturalmente. Controllate la documentazione
del modulo stesso per avere dettagli specifici.
L'intero gioco, con l'eccezione del motore, risiede in una libreria condivisa,
gamei386.so
. I moduli di Quake II vengono creati cambiando il
contenuto di questo file. Il sorgente C è disponibile gratuitamente (section
Scaricare i file necessari più sopra), e possono
essere scaricati e modificati.
Dopo che avrete scaricato il sorgente, ecco come cominciare:
cd /usr/local/games/quake2
mkdir mymod
cd mymod
gunzip /dove/lo/mettete/q2source-3.14.shar.Z
sh /dove/lo/mettete/q2source-3.14.shar
Vi si presenterà un po' di legalese a cui dovete rispondere yes
, e
i sorgenti vengono estratti. Per compilare un nuovo file gamei386.so
da questi ultimi basta un semplice make
. Con questa libreria appena
compilata potete giocare a Quake dando:
cd /usr/local/games/quake2
./quake2 +set game mymod
Non è ancora troppo esaltante, dato che quello che avete appena compilato
è identico al gamei386.so
"normale", ma questa dovrebbe essere una
buona informazione con gli aspiranti autori di moduli.
/mnt/cdrom
e che Quake II sia installato in
/usr/local/games/quake2
:
cd /usr/local/games/quake2
cp -r /mnt/cdrom/Data/all/* xatrix/
rm -f xatrix/gamex86.dll
Se volete installare le sequenze video:
cp -r /mnt/cdrom/Data/max/xatrix/video xatrix
Giocate a The Reckoning così:
cd /usr/local/games/quake2
./quake2 +set game xatrix
/mnt/cdrom
e che Quake II sia installato in
/usr/local/games/quake2
:
cd /usr/local/games/quake2
cp -r /mnt/cdrom/Data/all/* rogue/
rm -f rogue/gamex86.dll
Se volete installare le sequenze video:
cp -r /mnt/cdrom/Data/max/rogue/video rogue
Giocate a Ground Zero così:
cd /usr/local/games/quake2
./quake2 +set game rogue
Qstat è un programma basato sulla linea di comando che rende lo stato dei server Quake, QuakeWorld e Quake 2 su internet, creato da Steve Jankowski mailto:steve@activesw.com.
Ecco il riassunto delle caratteristiche dalla homepage di QStat:
Qstat è uno strumento indispensabile se volete giocare in rete. Sono stati scritti anche molti front-end per qstat. Alcuni di essi sono elencati più avanti in questa sezione.
Potete scaricare la versione più recente di qstat dalla sua homepage ( http://www.activesw.com/people/steve/qstat.html.
XQF è un front-end grafico a QStat che usa il toolkit GTK; è il miglior browser per i server di QuakeWorld/Quake2 che esista al momento, e Roman Pozlevich ( roma@botik.ru) sta ancora mandando fuori nuove revisioni al ritmo di circa una al mese.
Se conoscete GameSpy per la piattaforma Windows, questo è il programma che più gli assomiglia per Linux.
La homepage di XQF si trova a http://www.linuxgames.com/xqf.
QuickSpy è un browser per i server di QuakeWorld a base testuale; è un'altro front-end a QStat e funziona piuttosto bene. Se non usate X e non avete Quake II, è una possibilità che vi può bastare. Attenzione, però, non è più in sviluppo.
Potete scaricare QuickSpy da http://diana.ecs.soton.ac.uk/~rht96r/quake/quickspy/.
Qplug è un plugin per Netscape che riceve e mostra le informazioni sui server di QuakeWorld e Quake II inserite in una pagina web. Una versione Windows per Qplug è in giro già da un po' di tempo. L'autore, Olivier Debon ( odebon@club-internet.fr) ha scritto la versione per Linux da zero senza aver mai nemmeno visto la versione per Windows.
Qplut per Linux è disponibile a http://www.geocities.com/TimesSquare/Labyrinth/5084/qplug.html.
David Bucciarelli ( tech.hmw@plus.it), autore dei driver 3Dfx per Mesa, ha scritto la libreria qkHack, che tenta di emulare tutte le funzioni SVGAlib/fxMesa usate da Quake e Quake II. Questo eliminerebbe la necessità di avere la SVGAlib quando si usa glquake o Quake II con la ref_gl. Altre caratteristiche prese dal README di qkHacklib.
Ho provato qkHacklib e funziona benissimo per Quake sul mio sistema. In Quake II, comunque, la risposta del mouse diventa veramente lenta. Altri hanno riportato però un successo completo, quindi provatelo se vi pare che vi possa essere utile.
La pagina web di qkHacklib di David Bucciarelli è http://www-hmw.caribel.pisa.it/fxmesa/fxqkhack.html.
GiMd2Viewer è un modello di Quake II scritto per le Gtk e le OpenGL da Lionel Ulmer ( bbrox@mygale.org). Carica modelli e textures sia da file semplici che da file .PAK. Anima anche i modelli (con interpolazione dei frame).
Questo programma è ancora sotto sviluppo e non l'ho ancora provato, ma pare piuttosto carino. Cercatelo su http://www.mygale.org/~bbrox/GiMd2Viewer/.
QIPX è un insieme di programmi che permettono ai client di Quake per Linux (usando il TCP/IP) di connettersi a client Quake per DOS (usando IPX). Penso che sia utile se giocate a netquake su una LAN. QIPX è disponibile a http://www.geocities.com/SiliconValley/Park/6083/qipx.html.
Ice è un editor di mappe per Quake per UN*X, creato da C.J. Beyer e John Watson. Non ho usato questo programma, né so a che stadio di sviluppo sia. La homepage è a http://styx.phy.vanderbilt.edu/~ice/.
Q2getty è un clone di mingetty di Mike Gleason ( mgleason@ncftp.com) che permette di usare e fare respawn automaticamente di un programma (come un server di Quake) su una console virtuale; è disponibile nella sezione dei file su http://www.ncftpd.com/unixstuff/q2getty.html.
Rcon è un paio di strumenti che permettono l'amministrazione remota di un server di Quake II usando il protocollo RCON. Michael Dwyer ( michael_dwyer@mwiworks.com) ne è l'autore. Rcon 1.1 è disponibile su http://sunsite.unc.edu/pub/Linux/games/quake/rcon-1.1.tar.gz.
Qlog è un parser per i log dei server di QuakeWorld/Quake II distribuito sotto GPL, che genera delle statistiche globali sui giocatori. L'autore è Craig Knudsen ( cknudsen@radix.net). La homepage di qlog è http://www.radix.net/~cknudsen/qlog/.
Cheapo è un proxy che può essere usato per fare il routing del traffico di una rete di QuakeWorld. Oltre a ciò, il proxy può modificare i dati ed ha caratteristiche per migliorare il gioco. Ci si può connettere a cheapo come se fosse un server di QuakeWorld, e poi dargli comandi che facciano il forward ad un server reale. Il proxy può anche essere usato su una macchina che faccia da firewall incapace di gestire il traffico di Quake, in modo che le macchine all'interno del firewall possano essere usate per giocare. La homepage di Cheapo è http://www.saunalahti.fi/~softech/.
QGraph (Quake Graph) è un'utility per aiutare la gestione dei DeathMatch di Quake, i tornei ed i giochi di QuakeWorld. QGraph è un programma che si connette (attraverso una LAN o Internet) ad un server di Quake, Quake II, QuakeWorld o Hexen 2, e mostra i dati in tempo reale del gioco corrente su quel server. La homepage di QGraph è http://www.frag.com/qgraph.
BASE1.TXT
è la stessa cosa di base1.txt
. Sotto Linux
e gli altri Unix, le maiuscole SONO importanti: MOTD.TXT
e
motd.txt
sono due file diversi; questo può portare a dei
problemi con i modelli dei giocatori ed i file della pelle se sono
installati con i nomi di file con delle lettere maiuscole.
players/male/santa.PCX
deve essere rinominato in
santa.pcx
per poter funzionare sotto Linux. Lo script
fixskins.sh
incluso in QuakeWorld converte tutti i nomi dei file
di una directory in lettere minuscole. Per comodità viene riportato
qui sotto:
#!/bin/sh for x in *; do y=`echo $x | tr '[A-Z]' '[a-z]'` if [ $x != $y ]; then mv $x $y fi done
\
" per separare gli elementi dei percorsi. In Unix, il
backslash è un carattere di escape. Se usate dei percorsi nei vostri file
di configurazione (o nel codice dei moduli, o da qualsiasi altra parte)
assicuratevi di usare "/
" e non "\
".
quake2.conf
non
correttamente formattato dal pacchetto di Quake2 3.17, ad esempio, dà
l'errore "LoadLibrary("ref_XXX.so") failed: No such file or
directory
". LMCTF-TE riporta un'eccezione di floating point.
Se avete un problema che non riuscite a spiegare, provate a rimuovere
i CR dai file di testo:
mv file.txt file.bak; tr -d '\r' < file.bak > file.txt
Le seguenti considerazioni si applicano solo ai binari per Quake I
(squake
, glquake
, e quake.x11
). QuakeWorld e
Quake II sono disponibili in entrambe le versioni, libc5 e glibc,
rispettivamente dalle versioni 2.30 e 3.19.
Gli eseguibili di Quake sono compilati con la libc5. Le distribuzioni più recenti, come la RedHat 5.1 e la Debian 2.0, usano come libreria C di default la glibc, che non è compatibile. Se usate Quake su un sistema glibc dovete fare attenzione ad alcune cose:
/usr/i486-linux-libc5/lib
.$LD_LIBRARY_PATH
alla directory delle vostre librerie di
compatibilità prima di usare Quake.
#!/bin/sh export LD_LIBRARY_PATH=/usr/i486-linux-libc5/lib ./quake2 +set vid_ref gl $*
ps aux | grep gpm
Se avete dell'output come
root 6115 0.0 0.4 832 316 ? S 17:54 0:00 gpm -t PS/2
gpm sta girando, ed interferisce con Quake. Date gpm -k
(da root)
per ucciderlo. Se non lo fa (gpm -k
non sempre funziona sul
mio sistema), uccidetelo con il comando killall gpm
.
Se non usate mai gpm, potreste voler evitare che parta all'avvio.
Controllate la documentazione della vostra distribuzione per avere
informazioni su come farlo.
libvga.config
?
Questo file in genere si trova in /etc
o in /etc/vga
.
Apritelo e controllate se c'è una linea simile a
mouse Microsoft
Sul mio sistema è la prima opzione del file. Assicuratevi che il tipo
di mouse sia quello giusto per il vostro hardware.La SVGAlib, che gestisce l'input del mouse per i Quake/QW/Q2 SVGA e GL,
non supporta direttamente l'Intellimouse fino alla versione 1.3.0. Se
avete una versione della SVGAlib precedente alla 1.3.0 dovreste
aggiornarla, e poi usare il tipo di mouse IntelliMouse
(per i mouse seriali) o IMPS2
(per i mouse PS/2) nel file
libvga.config
.
sensitivity
nella console di gioco cura il problema.
Impostare la sensitivity
a mano nella console o in un file
.cfg
vi permette di aumentare la sensibilità del mouse più dello
slider nel menù delle opzioni; ad esempio sensitivity 15
.
Se il renderer GL è lento nel mostrare i video (se sembra che la velocità di successione dei frame sembra essere rallentato dal movimento del mouse) digitate "gl_finish 1" sulla console. Questa opzione forza l'aggiornamento ogni frame.
libvga.config
per personalizzare
il comportamento del mouse. Con le impostazioni giuste dovrebbe essere
possibile far comportare il mouse come volete. Sul mio sistema,
cambiare mouse_accel_type
al valore normal
(il default
è power
) mi ha dato i risultati che volevo. Non ho giocato con
le altre impostazioni, e non pretendo di sapere come funzionano.Ci sono versioni diverse della Glide per le schede Voodoo e Voodoo 2. Assicuratevi di aver montato quella giusta.
Sì, non è carino. La SVGAlib cattura il Ctrl-C e decide cosa farci invece di farlo gestire a Quake. Non conosco nessun modo per evitarlo, tranne modificando la SVGAlib.
Se usate Quake da uno script che resetti la tastiera e il terminale, come questo qui sotto, avrete meno possibilità di finire con il terminale incasinato se succede.
#!/bin/sh ./quake2 $* kbd_mode -a reset
svgalib: cannot get I/O permissions"
Gli eseguibili di Quake devono girare come root, quindi dovete o farli girare come root o renderli setuid root. Controllate le istruzioni di installazione in questo documento per avere dettagli sull'argomento.
Per una qualche ragione, la versione per X11 di Quake disabilita la ripetizione dei tasti mentre sta girando; se per qualche motivo il programma esce in maniera non normale, questa non viene riattivata. Fate
xset r on
per riabilitarla.
L'hardware del suono non è configurato correttamente. Forse vi manca solo un
insmod sound
, o forse dovrete ricompilare il kernel. Gli utenti
RedHat possono provare a richiamare il programma sndconfig(8).
Controllate la documentazione della vostra distribuzione di Linux e/o il Linux
Sound HOWTO per avere altre informazioni su come configurare il suono sul
vostro sistema.
Il miniport per Windows della GL per 3Dfx è ottimizzato pesantemente per quello che fa Quake II. Mesa, d'altra parte, è più generale e meno ottimizzata. Come risultato Quake II sotto Linux gira più lentamente che sotto Windows. Non è una limitazione di Linux, ma una dei driver.
Con le uscite più recenti di QuakeWorld e Quake II, il miniport per 3Dfx citato prima è disponibile anche per Linux. Anche se non porta la performance di Quake per Linux allo stesso livello di quella di Windows, è un altro passo nella direzione giusta.
Oltre a questo, per gli utenti di Pentium Pro e Pentium II, ci sono alcuni trucchi che si possono fare con il buffering della memoria - l'ultimo device driver per 3Dfx ha il supporto per farlo automaticamente. Abilitare gli MTRR può velocizzare in modo significativo (10 fps sul mio sistema) GL Quake. Per informazioni più dettagliate leggete http://glide.xxedgexx.com/MTRR.html.
screen(1) è un'utility valida per questo genere di cose. Vi permette di creare molti schermi virtuali in una singola tty e di passare tra uno di essi ed un altro. Screen è compreso nella maggior parte delle distribuzioni, ma lo potete scaricare da ftp://prep.ai.mit.edu/pub/gnu o da qualsiasi mirror GNU.
Inizializzate screen digitando il comando screen
, poi
create una nuova finestra premendo CTRL-A CTRL-C. Non vedrete molto
mentre fate tutto ciò, ma state tranquilli, qualcosa sta succedendo.
Inizializzate il server di QuakeWorld:
/usr/local/games/quake/qwsv
Ora aprite una nuova finestra di screen con CTRL-A CTRL-C ed inizializzate il server di Quake II:
/usr/local/games/quake2/quake2 +set dedicated 1
Potete passare avanti ed indietro tra i server premendo CTRL-A CTRL-N.
Premete CTRL-A CTRL-D per uscire dal programma. Screen ed i suoi server stanno ancora girando, ma non sono più visibili nella finestra del terminale. Ora potete scollegarvi ed i processi continueranno a girare normalmente.
Usate screen -r
per ricollegarvi al processo di screen precedente
ed accedere di nuovo ai server.
Questo è tutto. Per avere altre informazioni leggete la pagina man di screen(1).
In genere questo significa che il setup di rete non è corretto. Provate
a fare partire Quake con l'opzione -noudp
e vedete se l'errore si
ripete. Se funziona, controllate il file /etc/hosts
e verificate che
ci sia una voce per la vostra macchina. Usate 127.0.0.1 come indirizzo IP se
avete un accesso via modem che vi assegna un indirizzo diverso ogni volta che
vi collegate.
glqwcl
, glqwcl.3dfxgl
e glqwcl.glx
? ++
glqwcl
è il client standard di QuakeWorld per GL
che avete visto nelle versioni precedenti; è linkato con la
libMesaGL.so.2.glqwcl.3dfxgl
è uno script che avvia
glqwcl
dopo aver precaricato la libreria del miniport 3Dfx GL,
lib3dfxgl.so
. Precaricare la libreria del miniport fa usare
le funzioni della GL invece che quelle della Mesa. Dato che il miniport
della GL è ottimizzato per Quake, è una buona cosa. glqwcl.glx
è linkato con le librerie OpenGL
standard invece che con le Mesa; questo permette a Quake di girare su
altro hardware 3D supportato da altre implementazioni di OpenGL. Questa è
un'applicazione X, e quindi deve essere usata da dentro X.glqwcl.glx
a tutto schermo da X, non riesco ad usare il mouse o la tastiera. ++Usate glqwcl.glx
con l'opzione +_windowed_mouse 1
.
QuakeWorld GLX gira in una finestra anche se sembra a tutto schermo. Se
spostate il mouse mentre il Window Manager è in modalità focus-follow-mouse,
probabilmente lo sposterete fuori della finestra, e allora Quake smette di
rispondere all'input del mouse e della tastiera. +_windowed_mouse 1
fa gestire in esclusiva il mouse a QuakeWorld.
Se subito prima della linea di "Unable to resolve symbol" avete dei messaggi
come "can't resolve symbol 'fxMesaCreateContext'
", la libreria Mesa
che avete installato non ha compilato il supporto per le glide. Vedere la
sezione
Il renderer GL nella sezione
sull'installazione di Quake per avere delle informazioni su come installare
le Mesa e glide.
LoadLibrary("ref_XXX.so") failed: No such file or directory
/etc/quake2.conf
non ha il percorso giusto per la
directory di Quake II. Questo file dovrebbe contenere una linea con la
directory in cui risiede Quake II.
/etc/quake2.conf
contiene il percorso per la
directory, provate a rimuovere il file ed a ricrearlo a mano. Alcune
versioni di Quake II per Linux includevano un file quake2.conf
formattato male.
/lib
,
/usr/lib
e /usr/local/lib
, se c'è il file
libvga.so.1.X.X
, in cui al posto delle X ci sono dei numeri.
Se non lo trovate, dovete prendere ed installare la SVGAlib per poter
usare Quake II fuori di X.
ref_gl.so
, forse non avete
installato correttamente le Mesa. Avete copiato libMesaGL.so.2.6
nella directory delle librerie come scritto nelle istruzioni di
installazione?
ref_gl.so
, avete installato
le librerie glide?Digitate vid_restart
nella console per fare attivare le modifiche.
Nel momento in cui sto scrivendo, la versione di Quake II più recente è la 3.19. Se per qualche ragione state usando la versione 3.17, vi potrebbero essere utili le seguenti informazioni.
Due file di testo (quake2.conf
e fixperms.sh
) della versione
3.17 sono stati salvati inavvertitamente nel formato di testo MS-DOS CR/LF
invece che nel formato Unix LF, cioè alla fine di ciascuna linea di questi
file c'è un carattere di carriage return in più, e non funzioneranno bene
finché non risolverete questo problema.
Usate tr(1) per togliere i CR.
for i in fixperms.sh quake2.conf
do
mv $i $i.bak
tr -d '\r' < $i.bak > $i
done
+set vid_ref glx
a tutto schermo da X, non riesco ad usare il mouse o la tastiera. ++Usate quake2
GLX con l'opzione +set _windowed_mouse 1
.
Quake2 GLX gira in una finestra anche se sembra prendere tutto lo schermo.
Se spostate il mouse mentre il window manager è in modalità focus-follow-mouse,
è possibile che spostiate il puntatore fuori della finestra, e allora Quake II
non risponderà più all'input del mouse e della tastiera. L'opzione
+set _windowed_mouse 1
fa usare solo a Quake II l'input del mouse.
La SVGAlib probabilmente non sa come ricreare le modalità sulla vostra
scheda. Quando Quake II parte con il renderer SVGA (ref_soft.so
),
stampa un elenco di tutti i modi che la SVGAlib ha disponibili:
------- 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
mode 1280: 1024 1075253220
Questi sono i soli modi tra cui potete passare con successo dal menù
Video. Se ad esempio 512x384 non è sulla lista, sceglierlo dal menù video
non funziona.
La SVGAlib vi fa definire delle nuove modalità video per alcuni chipset
in libvga.config
, in modo che possiate creare da soli le vostre
modalità video. Controllate la documentazione della SVGAlib per
altri dettagli su questo argomento.
Se usate solo le versioni X e GL di Quake, QuakeWorld o Quake II, non avete
bisogno di usarle con permessi di root. La SVGA è l'unica modalità in cui
serve. Le versioni da X hanno bisogno solo dell'accesso a /dev/dsp
,
il dispositivo per il suono, alle versioni GL serve anche accesso alla scheda
3Dfx.
/dev/dsp
deve essere leggibile e scrivibile da Quake. La maggior
parte delle distribuzioni gli danno per default i permessi 662
(rw-rw--w-
). La soluzione più semplice è di fare chmod 666 /dev/dsp
. Sulla maggior parte dei sistemi la possibilità di leggere dal
device del suono non darà un buco di sicurezza significativo. Se per voi questo
approccio non è accettabile, create un gruppo a cui farete appartenere
/dev/dsp
, e rendete i giocatori di Quake membri di questo gruppo.
Per utilizzare le applicazioni glide (come GLQuake) non da root vi serve il
driver /dev/3dfx
dalla pagina di glide di Daryll Strauss
(
http://glide.xxedgexx.com/3DfxRPMS.html).
Scaricate il pacchetto Device3Dfx.xxx.rpm
ed installatelo seguendo
le istruzioni sulla pagina web. Dopo aver installato il driver, assicuratevi
che /dev/3dfx
ha permessi 666 (chmod 666 /dev/3dfx
).
Quando /dev/dsp
e /dev/3dfx
sono impostati correttamente,
potete rimuovere il bit setuid dagli eseguibili di Quake/QW/Q2. Da root fate
chmod 0755 XXXXX
, dove XXXXX è glquake
quake.x11
, o quake2
.
Se avete giocato da root prima di fare queste modifiche, molti dei file di Quake (come i file di salvataggio) potrebbero appartenere all'utente root, e quindi possono essere inaccessibili ad un utente normale, quindi ricordatevi di modificare il proprietario dei file prima di provare a giocare non da root.
I client di QuakeWorld e Quake II per GLX sono applicazioni X native,
ma dato che usano le Mesa invece che il mini-driver 3Dfx, sono più lenti
delle versioni lib3dfxgl.so
. Per questa ragione forse preferirete
ancora questo modo di inizializzare i giochi da X usando i client GLX.
La parte seguente è basata su uno dei 2 Cent Tip di Joey Hess della Linux Gazette ( joey@kite.ml.org). L'originale si trova su http://www.ssc.com/lg/issue20/lg_tips20.html#squake.
Sì, è possibile usare Quake da X se siete root, ma non è un buon comportamento, e rischiate che Quake crashi e lascino la console che non risponde. Con un po' di lavoro potete fare in modo di poter giocare come utente normale usando i Quake SVGA e GL da X E passare automaticamente a X quando il programma finisce, sia che usciate normalmente che non lo facciate.
Nota: quando dico "Quake" nel testo qui sotto, voglio dire "quake, glquake squake, qwcl, glqwcl, qwcl.x11 o quake2".
make;make install
per compilarli ed installarli.
Una volta installati, dovrete rendere gli eseguibili open
e
switchto
setuid root. Fate così:
cd /usr/local/bin
chown root open switchto
chmod 4755 open switchto
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 */
$PATH
:
gcc getvc.c -o getvc
strip getvc
mv getvc /usr/local/bin
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`"
$PATH
:
chmod 755 runvc
mv runvc /usr/local/bin
Ora potete usare il comando runvc
per cominciare a giocare a
Quake. Continuate ad usare qualsiasi linea di comando che usate per il
gioco, ma metteteci all'inizio runvc
:
runvc ./quake2 +set vid_ref gl +connect quake.foo.com
Passerete automaticamente ad una console virtuale, giocherete a Quake
e poi quando ha finito passerete di nuovo a X!Dal file readme.linux
di Quake II:
Per default, il mouse non sarà "legato" alla finestra di Quake2. Per farglielo catturare, selezionate "Windowed Mouse" dal menù video, o digitate '_windowed_mouse 0' sulla console. Fate il contrario per lasciarlo. Potete creare una scorciatoia da tastiera per catturare e lasciare il mouse così: bind i "_windowed_mouse 1" bind o "_windowed_mouse 0" In questo modo "i" catturerà il mouse e "o" lo rilascerà.
Potreste avere sentito parlare o visto modi di modificare la performance delle OpenGL di Quake impostando diverse variabili d'ambiente. Queste variabili sono valide nello stesso modo sotto Linux, soltanto si impostano in un modo leggermente diverso. Se una guida per Windows/DOS vi dice di fare:
SET SST_GRXCLK=59
Sotto Linux dovete fare così:
export SST_GRXCLK=59
Joe S. ( jszabo@eden.rutgers.edu) suggerisce:
un trucco che faccio con qstat:
Faccio un file con i miei server preferiti, poi fate
qstat -f /C/quake2/file.txt | less
premete Ctrl-z per sospendere, poi copiate gli indirizzi IP o i nomi degli host con gpm sulla linea di comando, così:
./quake2 +connect expert.eqclans.com
Poi potete usare fg per tornare alla lista più tardi...
lib3dfxgl.so
per Quake I
**Potete usare il mini-driver 3Dfx (lib3dfxgl.so
) da
Quakeworld o da Quake II anche con glquake
. Copiate semplicemente
gli script glqwcl.3dfxgl
o quake2.3dfxgl
in un nuovo
file, ad esempio glquake.3dfxgl
; poi copiate lo script
glquake.3dfxgl
in modo che usi glquake
invece di
glqwcl
.
Anche in questo caso si applicano le stesse restrizioni per l'uso da root,
come anche le differenze tra libc5 e glibc.
Vedere le sezioni
Quakeworld o
Quake II per avere altre informazioni su
lib3dfxgl.so
.
Le nuove versioni di questo documento verranno postate periodicamente in comp.os.linux.answers e in rec.games.computer.quake.misc. Saranno anche inserite nei vari siti WWW e FTP, compresa la home page di LDP.
Le nuove versioni di questo documento saranno periodicamente postate in rec.games.computer.quake.misc e in comp.os.linux.misc.
L'ultima versione del Linux Quake HOWTO può sempre essere trovata nei seguenti siti:
Questo documento è disponibile in una gran varietà di formati diversi; molti più di quanto servono, in realtà. Li potete trovare in http://www.linuxquake.com/howto/other-formats.
Copyright (c) 1998, di Bob Zimbinski, Brett A. Thomas e Mike Hallock. Questo documento può essere distribuito sotto i termini descritti nella licenza LDP a sunsite.unc.edu/LDP/COPYRIGHT.html.
Questo HOWTO è documentazione libera, e può essere ridistribuita e/o modificata sotto i termini della licenza LDP. Questo documento viene distribuito con la speranza che serva, ma senza alcuna garanzia; senza neanche la garanzia implicita di essere vendibile o adatto ad un particolare scopo. Beh, anche se questo documento vi uccide il cane, non è colpa mia.
Vedere la licenza LDP per ulteriori dettagli.
Le sezioni di questo documento che sono state aggiornate nell'ultima revisione hanno un ** dopo il titolo. Le sezioni aggiornate nella revisione precedente sono contrassegnate da ++.
Qui sotto è riportata la storia completa delle revisioni di questo documento. Non è stata concepita per essere utile a nessuno, tranne che agli autori (per questo non viene tradotta :-) n.d.t.) .
$Log: Quake-HOWTO.sgml,v $ Revision 1.0.1.15 1998/10/05 21:09:42 bobz Fixed a few typos and spelling errors that I missed last time around Revision 1.0.1.14 1998/10/05 19:54:17 bobz Removed the long-dead LinQuake page from list of Linux Quake sites Removed renaissoft.com link Minor wording changes throughout Added link to svgalib libc5 binary Added info about q2 demo Updated q2 installation info for the 3.19 release moved section about 3.17 textfile problems to the troubleshooting section Added part about lib3dfxgl.so to QW section Added part about GLX client to QW section Added part about lib3dfxgl.so to Q2 section Added part about GLX client to Q2 section Updated "slower than windows" FAQ Removed obsolete TS tip about glibc & q2 Removed obsolete TS tip about playing w/CD mounted Changed tip about running glquake with lib3dfxgl.so Added instructions for Q2 mission pack 2 Added pointer to svgalib libc5 binary Added FAQ about svgalib modes in Q2 Added Cheapo proxy to software section Added screen FAQ Added qgraph to software sectoin Decided I was lying when I promised a 3Dfx tweak section in the next update Revision 1.0.1.13 1998/09/02 01:35:18 bobz Fixed some broken url links Restored <author> tag added an acknowledgement added a reminder to the non-root tip added qlog listing Revision 1.0.1.12 1998/08/30 21:35:23 bobz Updated QuakeWorld install section for 2.30 release Updated QW file list Updated Quake 1.01 install info per email suggestion Added QW 2.30 caveat to "Glibc considerations" section Updated linux vs. windows speed section for new 3dfx miniport Added glqwcl versions FAQ Added troubleshooting tip about windows focus and glx Added a sentence about /dev/3dfx permissions Made runvc script usage clearer Added tip about using mini-driver with Quake & QuakeII Revision 1.0.1.11 1998/08/15 19:28:49 bobz Added glibc topic in Troubleshooting/FAQ section Moved non-setuid info to Tips & Tricks section Moved rcs log into Revision Hist section Changed distribution info a little until LDP wakes up Changed references to quake.medina.net to www.linuxquake.com Added linuxgames.com to list of places to get current version Changed 3dfx Howto pointer Moved explanation of change markings (** and ++) to intro section where they'll be noticed Mentioned zoid's GL driver port in the Win vs Linux FAQ Fixed credit and URL in q2getty Revision 1.0.1.10 1998/08/07 19:07:02 bobz Changed XQF url Added comments to the revision history section Started marking changed sections Added OS Considerations to troubleshooting section Added rcon to Other Software section Added ICE to Other Software section Revision 1.0.1.9 1998/08/04 21:06:22 bobz Updated Acknowledgements Added discussion of Quake security Added QIPX to "Related Software" Added ts topic about -noudp Revision 1.0.1.8 1998/08/03 22:09:28 bobz Updated and restructured the q2 mods section Minor change to gpm troubleshooting info Changed sound ts info Changed intellimouse ts info Revision 1.0.1.7 1998/08/03 04:55:21 mikeh Added "Playing" section of Q2 Mods & Addons section. Added "Intelimouse" section of Troubleshooting section Added RedHat sndconfig part to Troubleshooting section Fixed a few spacing problems, and one error message Revision 1.0.1.6 1998/08/03 02:01:13 bobz Changed abstract. Revision 1.0.1.5 1998/07/31 16:07:11 bobz Added gpm -k mention in mouse troubleshooting mentioned 'sensitivity' in mouse lag troubleshooting Added qstat|less tip Added "/dev/dsp not configured" to troubleshooting Slightly reworded part of the mod compiling section Added bit about running mods server side corrected required version # in q2 mission pack 1 Updated acknowledgements section Revision 1.0.1.4 1998/07/30 21:08:46 bobz Fixed a problem with broken lines in <sect> tags Revision 1.0.1.3 1998/07/30 17:40:29 bobz Fixed broken link to Latex version. Revision 1.0.1.2 1998/07/30 15:46:40 bobz Test update. Revision 1.0.1.1 1998/07/30 15:43:59 bobz Changed version numbering scheme. Revision 1.10 1998/07/30 13:51:24 bobz Minor version reporting change Revision 1.9 1998/07/29 20:42:03 bobz Added some server links Revision 1.8 1998/07/29 17:37:15 bobz Added a Quake II model viewer to the Other Programs section Revision 1.7 1998/07/29 16:02:23 bobz Added some relative links in Other Formats to make it more portable. Revision 1.6 1998/07/29 15:18:12 bobz Version and date stamps back to the way they were Revision 1.5 1998/07/29 14:52:03 bobz Added tags for automatic timestamping Revision 1.4 1998/07/29 13:17:51 bobz Changed captured.com's web address per webmaster's request Revision 1.3 1998/07/29 02:11:02 bobz Ooops again. Made "Other formats" a <sect> instead of a <sect1>. Revision 1.2 1998/07/29 01:55:41 bobz Oops. I deleted the doctype tag... Revision 1.1 1998/07/29 01:48:34 bobz Added Other Formats section. Changed acknowledgments slightly Added ftp.medina.net to list of ftp sites. Revision 1.0 1998/07/28 First publicly released version Revision 0.9 1998/07/25 Restructured,rewritten and expanded by Bob Zimbinski. Revision 0.01 1998/06/16 First Pre-Release version v0.01by Brett A. Thomas and Mike Hallock.