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.