Linux Quake HOWTO Bob Zimbinski (bobz@mr.net), Brett A. Thomas (quark@baz.com), e Mike Hallock (mikeh@medina.net) v1.0.1.15, 30 August 1998 Questo documento illustra come installare ed usare Quake, QuakeWorld e QuakeII e come risolvere i problemi correlati, su un sistema Intel Linux. ______________________________________________________________________ Indice Generale 1. Introduzione 1.1 Feedback, commenti, correzioni 1.2 Ringraziamenti ** 1.3 Altre fonti di informazioni 1.3.1 Informazioni specifiche su Quake per Linux ** 1.3.2 Informazioni su Quake in generale 1.3.3 Informazioni sui giochi per Linux 2. Quake/Quakeworld 2.1 Requisiti minimi 2.2 Installare Quake 2.2.1 Scaricare i file necessari ** 2.2.2 Creazione della directory di installazione ++ 2.2.3 Installazione dal CD di Quake ++ 2.2.4 Installazione da DOS/Windows a Linux 2.2.5 Installazione della versione shareware 2.3 Aggiungere i binari per Linux 2.4 Impostare i permessi 2.5 X11 Quake 2.6 SVGAlib Quake 2.7 GLQuake 2.7.1 SVGAlib 2.7.2 Glide 2.7.3 Mesa 2.8 Opzioni da linea di comando specifiche di Linux 2.9 QuakeWorld ** 2.9.1 Installazione dei pacchetti RPM ++ 2.9.2 Installazione dei pacchetti tar.gz ++ 2.9.3 Utilizzare QuakeWorld ++ 2.10 Server 2.11 Moduli ed aggiunte 2.11.1 Capture the flag (acchiappabandiera) 2.11.2 Pacchetti missione ** 2.11.3 Strumenti per Quake 3. Quake II 3.1 Prerequisiti 3.2 Installazione di Quake II 3.2.1 Scaricare i file necessari** 3.2.2 Creazione della directory di installazione 3.2.3 Installare dal CD 3.2.4 Installazione da Windows a Linux 3.2.5 Installazione della versione demo ** 3.3 Aggiungere i binari per Linux ** 3.3.1 Installare i pacchetti RPM ** 3.3.2 Installare i pacchetti tar.gz ** 3.4 Impostare i permessi ** 3.4.1 Quake2.conf ** 3.5 Il renderer X 3.6 Il renderer SVGAlib 3.7 Il renderer OpenGL 3.7.1 SVGAlib 3.7.2 Glide 3.7.3 Mesa 3.7.4 lib3dfxgl.so ** 3.8 Il renderer GLX ** 3.9 Opzioni da linea di comando specifiche di Linux 3.10 Server Quake II 3.10.1 Server "in ascolto" 3.10.2 Server dedicati 3.10.3 Altre fonti di informazioni sui server 3.11 Moduli e aggiunte 3.11.1 Moduli dal lato client 3.11.1.1 Capture the Flag (acchiappabandiera) 3.11.2 Moduli dal lato server 3.11.3 Sorgenti del gioco 3.11.4 Pacchetti missione ** 4. Software correlato ++ 4.1 QStat 4.2 XQF 4.3 QuickSpy 4.4 QPlug per Linux 4.5 qkHacklib 4.6 GiMd2Viewer 4.7 QIPX 4.8 Ice 4.9 Q2getty 4.10 rcon 4.11 qlog ++ 4.12 Cheapo ** 4.13 qgraph ** 5. Risoluzione dei problemi/FAQ 5.1 Generalità 5.1.1 Considerazioni sulla differenza tra i sistemi operativi 5.1.2 Considerazioni su Glibc, RedHat 5.x, Debian 2 ** 5.1.3 Il mouse non funziona o sembra rispondere a caso. 5.1.4 Il mio Microsoft Intellimouse o il mio Logitech MouseMan+ non funziona. 5.1.5 Il mio mouse risponde in ritardo ed è molto più lento che sotto Windows. 5.1.6 Ho una Voodoo2, e quando provo ad usare il renderer gl, questo riporta che non ho una scheda Voodoo installata. 5.1.7 Quando gioco con una delle versione di Quake sotto SVGAlib o GL e premo Ctrl-C, il gioco esce e talvolta lascia la console inutilizzabile. 5.1.8 A volte quando Quake/Quake II esce non in modo corretto, lascia la console inutilizzabile. 5.1.9 squake/quake2 non parte e dice "svgalib: cannot get I/O permissions" 5.1.10 A volte, dopo avero giocato a una delle versioni di Quake su X, non funziona la ripetizione dei tasti. 5.1.11 Quake/Quake II dice "/dev/dsp : device not configured" 5.1.12 Quake/Quake II per GL girano più lenti sotto Linux che sotto Windows. ** 5.1.13 Come posso far partire un server e scollegarmi, e poi tornarci più tardi? ** 5.2 Quake/QuakeWorld 5.2.1 Quake muore all'avvio con un segmentation fault. 5.2.2 Che differenza c'è tra glqwcl, glqwcl.3dfxgl e glqwcl.glx? ++ 5.2.3 Quando uso glqwcl.glx a tutto schermo da X, non riesco ad usare il mouse o la tastiera. ++ 5.3 Quake II 5.3.1 Quando provo a usare Quake II con il renderer GL, non funziona, e dice: "LoadLibrary("ref_gl.so") failed: Unable to resolve symbol" 5.3.2 Quake II muore con l'errore LoadLibrary("ref_XXX.so") failed: No such file or directory 5.3.3 Quando aggiusto la luminosità mentre uso il renderer GL e premo "apply", non succede niente! 5.3.4 Note sulla distribuzione 3.17 5.3.5 Quando uso Quake II con l'opzione +set vid_ref glx a tutto schermo da X, non riesco ad usare il mouse o la tastiera. ++ 5.3.6 Perché non posso passare ad alcune delle modalità SVGA che sono nel menù Video di Quake II? ** 6. Tips & Tricks 6.1 Utilizzare i giochi per X e GL senza setuid 6.2 Usare le versioni SVGA e GL da X** 6.3 Mantenere il mouse dentro la finestra in X 6.4 Le impostazioni "trucchettose " di 3Dfx funzionano anche in Linux 6.5 Il browser del server del poveraccio 6.6 Usare le lib3dfxgl.so per Quake I ** 7. Administrivia 7.1 Nuove versioni di questo documento 7.2 Altri formati di questo documento 7.3 Policy di distribuzione 7.4 Storia delle revisioni ______________________________________________________________________ 11.. IInnttrroodduuzziioonnee 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 ++. 11..11.. FFeeeeddbbaacckk,, ccoommmmeennttii,, ccoorrrreezziioonnii Questo documento di certo nnoonn 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. 11..22.. RRiinnggrraazziiaammeennttii **** 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: · John Carmack e il resto della id Software per questi giochi eccezionali. · Dave 'Zoid' Kirsch (zoid@idsoftware.com) per il porting per Linux. · Dave Taylor (ddt@crack.com) per aver cominciato questo strano affare del porting di Linux. · Daryll Strauss (daryll@harlot.rb.ca.us) per il porting di glide per Linux. · Brian Paul (brianp@elastic.avid.com) per la libreria grafica Mesa. · David Bucciarelli (tech.hmw@plus.it) per il driver Mesa/glide. Grazie alle seguenti persone per il loro contributo a questo HOWTO: · Mike Brunson (brunson@l3.net) per il suggerimento sul vid_restart. · Joey Hess (joey@kite.ml.org) per le informazioni su come fare girare i giochi svga e gl da X. · Joe S. (jszabo@eden.rutgers.edu) per un enorme pila di suggerimenti · Brad Lambert (bradl@dial.pipex.com) per la nota su -noudp. · agx (gguenthe@iris.rz.uni-konstanz.de) per le informazioni sull'installazione di Quake e per averci fatto notare QIPX. · Derrik Pates (dmp8309@silver.sdsmt.edu) per avermi fatto pensare alla sicurezza. · Michael Dwyer (michael_dwyer@mwiworks.com) per le idee sulle "considerazioni sui SO". · Derek Simkowiak (dereks@kd-dev.com) per la procedura di installazione da CD di Quake I · sunstorm (sunstorm@glasscity.net) informazioni sul Quake Mission Pack 2. · Neil Marshall (marshall@pssnet.com) per informazioni sugli schermi. 11..33.. AAllttrree ffoonnttii ddii iinnffoorrmmaazziioonnii 11..33..11.. IInnffoorrmmaazziioonnii ssppeecciiffiicchhee ssuu QQuuaakkee ppeerr LLiinnuuxx **** · LQ:Linux Quake & Utilites http://www.linuxquake.com/. · Linux Quake Page http://captured.com/threewave/linux/ · QuakeWorld.net http://www.quakeworld.net 11..33..22.. IInnffoorrmmaazziioonnii ssuu QQuuaakkee iinn ggeenneerraallee · id Software http://www.idsoftware.com · PlanetQuake http://www.planetquake.com · QuakeWorld Central http://qwcentral.stomped.com · 3Dfx's GL Quake FAQ (piuttosto obsolete) http://www.3dfx.com/game_dev/quake_faq.html · Farenheit 176 Console Command Listing http://www.planetquake.com/f176 · rec.games.computer.quake.* newsgroups 11..33..33.. IInnffoorrmmaazziioonnii ssuuii ggiioocchhii ppeerr LLiinnuuxx · LinuxGames http://www.linuxgames.com/ · The Linux Game Tome http://www.cs.washington.edu/homes/tlau/tome/linux-game.html 22.. QQuuaakkee//QQuuaakkeewwoorrlldd 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. 22..11.. RReeqquuiissiittii mmiinniimmii Come minimo avrete bisogno di: · Un Pentium 90 o superiore (raccomandato un 133) · 16 MB di RAM (raccomandati 24) · Il CD-ROM di Quake oo la versione shareware (quake106.zip) · Linux con il kernel 2.0.24 o successiva · libc 5.2.18 o successiva · Uno dei seguenti: · X11R5 o successivo (per xquake) · SVGAlib 1.2.0 o successiva (per squake e glquake) · 30-80 megabyte di spazio libero su disco (a seconda del tipo di installazione) · Accesso come root nella macchina su cui installate Opzionali: · Una scheda audio supportata · Una scheda grafica accelerata 3Dfx VooDoo Graphics o VooDoo2 3D · Mesa 2.6 o successiva (per glquake) 22..22.. IInnssttaallllaarree QQuuaakkee 22..22..11.. SSccaarriiccaarree ii ffiillee nneecceessssaarrii**** 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: · ftp.cdrom.com/pub/idgames/idstuff (California, USA) · ftp.gamesnet.net/idsoftware (California, USA) · ftp.linuxquake.com/lqstuff (Michigan, USA) · ftp.stomped.com/pub/mirror/idstuff (Minnesota, USA) · mirrors.telepac.pt/pub/idgames (Lisbona, Portogallo) · download.netvision.net.il/pub/mirrors/idsoftware (Haifa, Israele) I file di Quake nominati in questa sezione sono: · Distribuzione Shareware di Quake per Windows ftp://ftp.idsoftware.com/idstuff/quake/quake106.zip · Binario di Quake per X11 ftp://ftp.idsoftware.com/idstuff/unsup/unix/quake.x11-1.0-i386-unknown- linux2.0.tar.gz · Binario di Quake per SVGAlib ftp://ftp.idsoftware.com/idstuff/unsup/squake-1.1-i386-unknown- linux2.0.tar.gz · Binario di Quake per OpenGL/Mesa ftp://ftp.idsoftware.com/idstuff/unsup/unix/glquake-0.97-i386-unknown- linux2.0.tar.gz · Client di QuakeWorld per Linux (in ciascun pacchetto ci sono i client per X11, SVGAlib e GL) · pacchetto tar.gz per libc5 ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-i386-unknown- linux2.0.tar.gz · pacchetto tar.gz per glibc ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-glibc- i386-unknown-linux2.0.tar.gz · pacchetto rpm per libc5 ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-1.i386.rpm · pacchetto rpm per glibc ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-glibc-1.i386.rpm · Server di QuakeWorld per Linux · pacchetto tar.gz per libc5 ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-i386-unknown- linux2.0.tar.gz · pacchetto tar.gz per glibc ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-glibc- i386-unknown-linux2.0.tar.gz · pacchetto rpm per libc5 ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-1.i386.rpm · pacchetto rpm per glibc ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-glibc-1.i386.rpm · Pacchetto client di Capture the Flag ftp://ftp.cdrom.com/pub/quake/planetquake/threewave/ctf/client/3wctfc.zip Altro software nominato: · utilità di archiviazione lha ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z. · librerie grafiche SVGAlib http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.tar.gz · binari delle SVGAlib per libc5 http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar.gz · librerie di runtime Glide http://glide.xxedgexx.com/3DfxRPMS.html 22..22..22.. CCrreeaazziioonnee ddeellllaa ddiirreeccttoorryy ddii iinnssttaallllaazziioonnee ++++ 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. NNoottaa ppeerr ggllii uutteennttii RReeddHHaatt.. 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 22..22..33.. IInnssttaallllaazziioonnee ddaall CCDD ddii QQuuaakkee ++++ 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 · Se sul CD avete un file 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. · Concatenate i due file resource dal CD in un singolo file sull'hard disk: cat /mnt/cdrom/quake101.1 /mnt/cdrom/quake101.2 > resource.1 · Continuate ora al prossimo paragrafo, ma quando mi riferisco a /mnt/cdrom/resource.1, al suo posto usate /usr/local/games/quake/resource.1. · È ora il momento di estrarre i file di Quake. Il file 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 * · Se avete fatto l'installazione da un CD versione 1.01, ora dovete sovrascrivere il file 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''". 22..22..44.. IInnssttaallllaazziioonnee ddaa DDOOSS//WWiinnddoowwss aa LLiinnuuxx 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 · Se volete copiare i file dalla partizione DOS/Windows, fate qualcosa del genere: cp /win95/games/quake/id1/*.pak id1 · Per creare i link, fate: 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''". 22..22..55.. IInnssttaallllaazziioonnee ddeellllaa vveerrssiioonnee sshhaarreewwaarree 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 llhhaa((11)). 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. 22..33.. AAggggiiuunnggeerree ii bbiinnaarrii ppeerr LLiinnuuxx Decidete quale dei tre tipi di Quake volete installare: · X11 Quake vi fa usare Quake in una finestra del desktop di X. È il modo meno eccitante di usarlo, ma è un buon modo per provare l'installazione. · Squake è il client di Quake per SVGAlib. Gira a schermo pieno sulla console di testo. · GLQUake è il client di Quake per OpenGL, l'Unico Modo per giocare a Quake se avete una scheda accelerata 3Dfx. 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 22..44.. IImmppoossttaarree ii ppeerrmmeessssii 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 _d_e_v_e 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. 22..55.. XX1111 QQuuaakkee 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''. 22..66.. SSVVGGAAlliibb QQuuaakkee 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 ddeevvee 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. 22..77.. GGLLQQuuaakkee 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. 22..77..11.. SSVVGGAAlliibb glquake usa le SVGAlib per ricevere input dal mouse e dalla tastiera, quindi dovrete configurarle come illustrato nella sezione ``SVGAlib Quake''. 22..77..22.. GGlliiddee 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. NNOOTTAA:: uussaattee qquueessttoo tteesstt ddaa uunnaa ccoonnssoollee vviirrttuuaallee,, _n_o_n XX!! È 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. 22..77..33.. MMeessaa 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: · Eliminare la precedente installazione delle Mesa. Se avevate prima installato le 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* · Se le nuove Mesa hanno un numero di versione principale maggiore di 2, dovete crearne un link con il nome 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 22..88.. OOppzziioonnii ddaa lliinneeaa ddii ccoommaannddoo ssppeecciiffiicchhee ddii LLiinnuuxx 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. --mmeemm _n_u_m Specifica la memoria in megabyte da allocare (il default è 8MB, che dovrebbe essere sufficiente nella maggior parte dei casi). --nnoossttddoouutt Non mandare output nello stdout. Usate questa opzione se non volete che tutto l'output della console sia mandato sul terminale. --mmddeevv _d_e_v_i_c_e Il dispositivo del mouse, il default è /dev/mouse --mmrraattee _s_p_e_e_d Il baud rate del mouse, il default è 1200 --ccddddeevv _d_e_v_i_c_e Il dispositivo del CD, il default è /dev/cdrom --mmooddee _n_u_m Per usare le modalità video indicate (solo per squake) --nnookkddbb Non inizializzare la tastiera --ssnnddbbiittss _8 _o _1_6 Imposta la dimensione in bit del campionamento sonoro. Il default è 16, se supportato --ssnnddssppeeeedd _s_p_e_e_d Imposta la velocità del suono. I valori normali sono 8000, 11025, 22051 e 44100. Il default è 11025. --ssnnddmmoonnoo Imposta il suono mono --ssnnddsstteerreeoo Imposta il suono stereo (è il default, se supportato) 22..99.. QQuuaakkeeWWoorrlldd **** 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 mag­ gioranza 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 ripren­ deva 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 sup­ porto 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: · libc5 tar.gz · glibc tar.gz · libc5 rpm · glibc rpm 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. 22..99..11.. IInnssttaallllaazziioonnee ddeeii ppaacccchheettttii RRPPMM ++++ 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 22..99..22.. IInnssttaallllaazziioonnee ddeeii ppaacccchheettttii ttaarr..ggzz ++++ 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. 22..99..33.. UUttiilliizzzzaarree QQuuaakkeeWWoorrlldd ++++ 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. · lliibb33ddffxxggll..ssoo ** 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 nnoonn ddeevvee eesssseerree sseettuuiidd, 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. · ggllqqwwccll..ggllxx ** 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 _m_o_l_t_o 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. 22..1100.. SSeerrvveerr 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. 22..1111.. MMoodduullii eedd aaggggiiuunnttee 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. 22..1111..11.. CCaappttuurree tthhee ffllaagg ((aacccchhiiaappppaabbaannddiieerraa)) 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. 22..1111..22.. PPaacccchheettttii mmiissssiioonnee **** La Activision ha rilasciato due pacchetti aggiuntivi di livelli extra per Quake, SSccoouurrggee ooff AArrmmaaggoonn e DDiissssoolluuttiioonn ooff EEtteerrnniittyy. · PPaacccchheettttoo mmiissssiioonnee 11:: TThhee SSccoouurrggee ooff AArrmmaaggoonn Assumendo che il vostro CD sia montato su /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 · PPaacccchheettttoo mmiissssiioonnee 22:: DDiissssoolluuttiioonn ooff EEtteerrnniittyy Installare il secondo pacchetto missione richiede una procedura molto simile al primo, ma sostituite la parola _h_i_p_n_o_t_i_c con _r_o_g_u_e, e saltate il passo config.cfg, dato che quest'ultimo non è incluso nel CD del pacchetto missione 2. 22..1111..33.. SSttrruummeennttii ppeerr QQuuaakkee Qualcuno vuole contribuire con delle informazioni su qcc, bsp e tutto il resto? 33.. QQuuaakkee IIII 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. 33..11.. PPrreerreeqquuiissiittii Come minimo avrete bisogno di: · Un Pentium 90 o superiore (raccomandato il 133) · 16 MB di RAM (raccomandati 24) · Il CD-ROM di Quake 2 oo la versione demo (q2-314-demo-x86.exe) · Linux con kernel versione 2.0.24 o successiva · libc 5.2.18 o successiva · Uno dei seguenti: · un server X11 che supporti le estensioni di memoria condivise MITSM. Sono supportati gli schermi a 8 e 16 bit (per il renderer X). · SVGAlib 1.2.10 o successiva (per i renderer SVGA e GL) · 25-400 Mb di spazio disco libero (a seconda di come fate l'installazione) · Accesso all'account di root della macchina su cui state installando. Opzionali: · Una scheda audio supportata · Una scheda grafica accelerata 3Dfx Voodoo Graphics o Voodoo2 o Voodoo Rush 3D. · Le librerie grafiche 3Dfx installate (per il renderer GL) · Le Mesa 2.6 o successive (per il renderer GL) 33..22.. IInnssttaallllaazziioonnee ddii QQuuaakkee IIII 33..22..11.. SSccaarriiccaarree ii ffiillee nneecceessssaarrii**** 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: · ftp.cdrom.com/pub/idgames/idstuff (California, USA) · ftp.gamesnet.net/idsoftware (California, USA) · ftp.stomped.com/pub/mirror/idstuff (Minnesota, USA) · mirrors.telepac.pt/pub/idgames (Lisbon, Portogallo) · download.netvision.net.il/pub/mirrors/idsoftware (Haifa, Israele) I file di Quake II nominati in questa sezione sono: · I binari di Quake II per Linux · il pacchetto tar.gz per libc5 ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.19a- i386-unknown-linux2.0.tar.gz · il pacchetto tar.gz per glibc ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.19a-glibc- i386-unknown-linux2.0.tar.gz · il pacchetto rpm per libc5 ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.19a-2.i386.rpm · il pacchetto rpm per glibc ftp.idsoftware.com/idstuff/quake2/unix/quake2-3.19a- glibc-2.i386.rpm · La versione demo di Quake II per Windows ftp://ftp.idsoftware.com/idstuff/quake2/q2-314-demo-x86.exe · Il sorgente di Quake II ftp://ftp.idsoftware.com/idstuff/quake2/source/q2source-3.14.shar.Z · Acchiappabandiera per Quake II ftp://ftp.idsoftware.com/idstuff/quake2/ctf/102.zip Altro software nominato: · le librerie grafiche SVGAlib http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.tar.gz · i binari di SVGAlib per libc5 http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar.gz · le librerie a runtime Glide http://glide.xxedgexx.com/3DfxRPMS.html · la libreria grafica Mesa 3D http://www.ssec.wisc.edu/~brianp/Mesa.html · l'utilità di decompressione unzip http://sunsite.unc.edu/pub/Linux/utils/compress/unzip-5.31.tar.gz 33..22..22.. CCrreeaazziioonnee ddeellllaa ddiirreeccttoorryy ddii iinnssttaallllaazziioonnee 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 33..22..33.. IInnssttaallllaarree ddaall CCDD 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. · IInnssttaallllaazziioonnee ccoommpplleettaa Il metodo di installazione più semplice è l'installazione "completa", che copia tutto il contenuto del CD nel disco fisso; richiede circa 350 Mb, e viene fatta con i seguenti comandi: 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 · IInnssttaallllaazziioonnee ppaarrzziiaallee Se 450 Mb sono troppo da dedicare a Quake II, potete saltare l'installazione delle scene filmate e fare un collegamento al CD-ROM; ciò riducerà lo spazio necessario di circa 200 Mb: 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. 33..22..44.. IInnssttaallllaazziioonnee ddaa WWiinnddoowwss aa LLiinnuuxx 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. · Se volete copiare i file dalla partizione Windows, fate così: cd /usr/local/games/quake2 cp -r /win95/games/quake2/baseq2 . · Per creare dei collegamenti ai file di Quake II per Windows, fate: 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 instal­ lazione Windows. Se per voi va bene, modificate la partizione /etc/fstab in modo che la partizione Windows venga montata con le opzioni _u_m_a_s_k_=_0_0_2_,_g_i_d_=_X_X_X, 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''". 33..22..55.. IInnssttaallllaazziioonnee ddeellllaa vveerrssiioonnee ddeemmoo **** 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 uunnzziipp((11)), 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. 33..33.. AAggggiiuunnggeerree ii bbiinnaarrii ppeerr LLiinnuuxx**** Ci sono quattro pacchetti di Quake II per Linux disponibili: · un pacchetto tar.gz per libc5 · un pacchetto tar.gz per glibc · un pacchetto rpm per libc5 · un pacchetto rpm per glibc 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. 33..33..11.. IInnssttaallllaarree ii ppaacccchheettttii RRPPMM **** 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 33..33..22.. IInnssttaallllaarree ii ppaacccchheettttii ttaarr..ggzz **** 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 33..44.. IImmppoossttaarree ii ppeerrmmeessssii **** 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. 33..44..11.. QQuuaakkee22..ccoonnff **** 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 33..55.. IIll rreennddeerreerr XX 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''. 33..66.. IIll rreennddeerreerr SSVVGGAAlliibb 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 ddeevvee 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. 33..77.. IIll rreennddeerreerr OOppeennGGLL 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. 33..77..11.. SSVVGGAAlliibb Quake II usa le SVGAlib per ricevere input dal mouse e dalla tastiera, quindi dovrete configurarle come illustrato nella sezione ``Renderer SVGAlib''. 33..77..22.. GGlliiddee 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. NNOOTTAA:: uussaattee qquueessttoo tteesstt ddaa uunnaa ccoonnssoollee vviirrttuuaallee,, _n_o_n XX!! È 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. 33..77..33.. MMeessaa 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: · Eliminare la precedente installazione delle Mesa. Se avevate prima installato le 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* · Se le nuove Mesa hanno un numero di versione principale maggiore di 2, dovete crearne un link con il nome 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 33..77..44.. lliibb33ddffxxggll..ssoo **** 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 nnoonn ddeevvee eesssseerree sseettuuiidd, 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. 33..88.. IIll rreennddeerreerr GGLLXX **** 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 _m_o_l_t_o 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. 33..99.. OOppzziioonnii ddaa lliinneeaa ddii ccoommaannddoo ssppeecciiffiicchhee ddii LLiinnuuxx 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 ccdd__ddeevv _d_e_v_i_c_e Nome del device del CD-ROM nnooccddaauuddiioo _v_a_l_o_r_e Disabilita il CD audio se _v_a_l_o_r_e è diverso da zero. ssnnddbbiittss _n_u_m Imposta la dimensione in bit del campionamento sonoro. Il default è 16. ssnnddssppeeeedd _n_u_m 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. ssnnddcchhaannnneellss _n_u_m Indica suono stereo o mono. Il default è 2 (stereo). Usate 1 per il mono. nnoossttddoouutt _v_a_l_o_r_e Non mandare nessun output allo stdout. Usate questa opzione se non volete che l'output di console sia mandato sul terminale. 33..1100.. SSeerrvveerr QQuuaakkee IIII 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. 33..1100..11.. SSeerrvveerr ""iinn aassccoollttoo"" Si può inizializzare un server "in ascolto" di Quake II dall'interno del gioco, usando il menù _M_u_l_t_i_p_l_a_y_e_r. 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 _M_u_l_t_i_p_l_a_y_e_r. Da lì dovrebbe essere piuttosto auto-esplicativo. 33..1100..22.. SSeerrvveerr ddeeddiiccaattii 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. ffrraagglliimmiitt Numero di frag richiesti prima che la mappa cambi ttiimmeelliimmiitt Tempo in minuti che deve passare prima che la mappa cambi hhoossttnnaammee 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. mmaaxxcclliieennttss 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). 33..1100..33.. AAllttrree ffoonnttii ddii iinnffoorrmmaazziioonnii ssuuii sseerrvveerr · La FAQ per i server di Quake II hanno una guida passo-passo per impostare un server di Quake II sotto Linux: http://www.bluesnews.com/faqs/q2s-faq.html · Grant Cornelius Reticulus Copernicus Sperry (flubber@xmission.com) ha dei file di configurazione base per i server di Quake II e degli script di avvio a http://www.atomicage.com:80/quake/server/server_cfg/. 33..1111.. MMoodduullii ee aaggggiiuunnttee 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. 33..1111..11.. MMoodduullii ddaall llaattoo cclliieenntt 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 _m_o_d_-_d_i_r 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 33..1111..11..11.. CCaappttuurree tthhee FFllaagg ((aacccchhiiaappppaabbaannddiieerraa)) 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. 33..1111..22.. MMoodduullii ddaall llaattoo sseerrvveerr 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 proce­ dura esatta varia da modulo a modulo, naturalmente. Controllate la documentazione del modulo stesso per avere dettagli specifici. 33..1111..33.. SSoorrggeennttii ddeell ggiiooccoo 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. 33..1111..44.. PPaacccchheettttii mmiissssiioonnee **** · PPaacccchheettttoo mmiissssiioonnee 11:: TThhee RReecckkoonniinngg The Reckoning richiede la versione 3.15 o una successiva. Avrete bisogno almeno di 95 Mb per un'installazione minima. Vi servono altri 90 Mb se volete installare anche le sequenze video. Assumendo che il CD sia montato su /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 · PPaacccchheettttoo mmiissssiioonnee 22:: GGrroouunndd ZZeerroo Richiede Quake II versione 3.17 o successiva. Avrete bisogno di almeno 120 Mb per un'installazione minima. Altri 115 Mb vi servono se volete installare anche le sequenze video. Assumendo che il CD sia montato su /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 44.. SSooffttwwaarree ccoorrrreellaattoo ++++ 44..11.. QQSSttaatt 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: · Supporta Windows 95, NT, e la maggior parte degli Unix · Comprende il codice sorgente in C ed un binario per Windows. · Supporta i server del vecchio Quake (NetQuake), QuakeWorld, Hexen II, e Quake II · Può mostrare tutte le statistiche disponibili, comprese le informazioni sui giocatori e le regole del server · Template di output per la generazione automatica di HTML · Modalità di visualizzazione raw per l'integrazione con i generatori di pagine HTML · Cache dei nomi host built-in · Ordina per tempo di ping, giochi, o entrambi · Più opzioni di quante ne potreste immaginare 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. 44..22.. XXQQFF 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. 44..33.. QQuuiicckkSSppyy 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/. 44..44.. QQPPlluugg ppeerr LLiinnuuxx 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. 44..55.. qqkkHHaacckklliibb 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. · Si può passare dinamicamente tra il rendering a tutto schermo e quello dentro una finestra semplicemente premendo il tasto TAB (per usare questa caratteristica il server X deve essere inizializzato in modalità 16 bpp) · Si può usare Ctrl-C nella shell o uccidere il processo di Quake senza problemi · si può abilitare/disabilitare il `grabbing' da mouse e da tastiera premendo F11/F12 · si può iconizzare e mettere in pausa Quake premendo F10 (non utilizzerà più cicli di CPU). Potete riavviare il tutto con un doppio click nell'icona "****" · si può utilizzare Quake con un qualsiasi driver Mesa (ad esempio con il driver X11, ma dovete ricompilare le Mesa senza il driver Voodoo) · potete usare Quake in qualsiasi macchina Linux ed avere l'output dell'hardware accelerato su un box SGI (ok, è una caratteristica un po' esotica e teorica, ma è un esempio di quanto potente possa essere un'applicazione per GLX/OpenGL) Ho provato qkHacklib e funziona benissimo per Quake sul mio sistema. In Quake II, comunque, la risposta del mouse diventa _v_e_r_a_m_e_n_t_e 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. 44..66.. GGiiMMdd22VViieewweerr 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/. 44..77.. QQIIPPXX 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. 44..88.. IIccee 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/. 44..99.. QQ22ggeettttyy 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. 44..1100.. rrccoonn 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. 44..1111.. qqlloogg ++++ 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/. 44..1122.. CChheeaappoo **** 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/. 44..1133.. qqggrraapphh **** 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. 55.. RRiissoolluuzziioonnee ddeeii pprroobblleemmii//FFAAQQ 55..11.. GGeenneerraalliittàà 55..11..11.. CCoonnssiiddeerraazziioonnii ssuullllaa ddiiffffeerreennzzaa ttrraa ii ssiisstteemmii ooppeerraattiivvii · DDiissttiinnzziioonnee ttrraa mmaaiiuussccoollee ee mmiinnuussccoollee - In DOS e Windows le maiuscole non sono importanti: 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 ___________________________________________________________________ · DDeelliimmiittaattoorrii ddeeii ppeerrccoorrssii - DOS e Windows usano il backslash "\" 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 "\". · CCaarraatttteerrii ddii ffiinnee lliinneeaa - Sotto DOS/Windows, ciascuna linea di un file di testo finisce con un carattere di carriage return (CR) e un carattere di linefeed (LF). I file di testo in Unix hanno solo il linefeed. L'uso di file di testo di DOS/Win in Unix può causare molti problemi strani a Quake. Usando un file 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 55..11..22.. CCoonnssiiddeerraazziioonnii ssuu GGlliibbcc,, RReeddHHaatt 55..xx,, DDeebbiiaann 22**** 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: · Sia la RedHat 5 che la Debian 2 hanno dei pacchetti di compatibilità per libc5 che permettono di usare applicazioni basate su libc5. Assicuratevi di aver installato questi pacchetti. Entrambe le distribuzioni hanno messo le librerie basate su libc5 nella directory /usr/i486-linux-libc5/lib. · Assicuratevi che Quake usi le librerie corrette. Create uno script come quello qui sotto che faccia puntare la variabile $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 $* ___________________________________________________________________ · Se dovete compilare una libreria come la SVGAlib o le Mesa per usarle con Quake, deve essere compilata con le libc5. Semplicemente compilare le nuove librerie seguendo le istruzioni di installazione vi darà una libreria linkata alle librerie di default, glibc. Assicuratevi che la nuova libreria sia linkata solo con la libc5 ed altre librerie ad essa linkate, in modo che sia compatibile con Quake. Controllate la documentazione della vostra distribuzione per avere delle informazioni su come linkare a librerie non di default. 55..11..33.. IIll mmoouussee nnoonn ffuunnzziioonnaa oo sseemmbbrraa rriissppoonnddeerree aa ccaassoo.. · gpm funziona? gpm è un programma che permette di fare taglia e incolla con il mouse sulle console virtuali. Moltre distribuzioni lo abilitano per default. Potrebbe interferire con Quake. Controllate se sta girando con il seguente comando: 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. · Il mouse è definito correttamente nel file 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. 55..11..44.. IIll mmiioo MMiiccrroossoofftt IInntteelllliimmoouussee oo iill mmiioo LLooggiitteecchh MMoouusseeMMaann++ nnoonn ffuunnzziioonnaa.. 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. 55..11..55.. IIll mmiioo mmoouussee rriissppoonnddee iinn rriittaarrddoo eedd èè mmoollttoo ppiiùù lleennttoo cchhee ssoottttoo WWiinnddoowwss.. · Per molti basta aumentare il valore di 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. · Dall'aggiornamento di Zoid del .plan del 1/7/98: Se il renderer GL è lento nel mostrare i video (se sembra che la velocità di successione dei frame sembra essere ral­ lentato dal movimento del mouse) digitate "gl_finish 1" sulla console. Questa opzione forza l'aggiornamento ogni frame. · L'ultima versione delle SVGAlib (1.3.0) fornisce moltissimi parametri nel file 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. 55..11..66.. HHoo uunnaa VVooooddoooo22,, ee qquuaannddoo pprroovvoo aadd uussaarree iill rreennddeerreerr ggll,, qquueessttoo rriippoorrttaa cchhee nnoonn hhoo uunnaa sscchheeddaa VVooooddoooo iinnssttaallllaattaa.. Ci sono versioni diverse della Glide per le schede Voodoo e Voodoo 2. Assicuratevi di aver montato quella giusta. 55..11..77.. QQuuaannddoo ggiiooccoo ccoonn uunnaa ddeellllee vveerrssiioonnee ddii QQuuaakkee ssoottttoo SSVVGGAAlliibb oo GGLL ee pprreemmoo CCttrrll--CC,, iill ggiiooccoo eessccee ee ttaallvvoollttaa llaasscciiaa llaa ccoonnssoollee iinnuuttii­­ lliizzzzaabbiillee.. 55..11..88.. AA vvoollttee qquuaannddoo QQuuaakkee//QQuuaakkee IIII eessccee nnoonn iinn mmooddoo ccoorrrreettttoo,, llaass­­ cciiaa llaa ccoonnssoollee iinnuuttiilliizzzzaabbiillee.. 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 ______________________________________________________________________ 55..11..99.. ssqquuaakkee//qquuaakkee22 nnoonn ppaarrttee ee ddiiccee "" ssvvggaalliibb:: ccaannnnoott ggeett II//OO ppeerr­­ mmiissssiioonnss"" 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. 55..11..1100.. AA vvoollttee,, ddooppoo aavveerroo ggiiooccaattoo aa uunnaa ddeellllee vveerrssiioonnii ddii QQuuaakkee ssuu XX,, nnoonn ffuunnzziioonnaa llaa rriippeettiizziioonnee ddeeii ttaassttii.. 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. 55..11..1111.. QQuuaakkee//QQuuaakkee IIII ddiiccee ""//ddeevv//ddsspp :: ddeevviiccee nnoott ccoonnffiigguurreedd"" 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 ssnnddccoonnffiigg((88)). 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. 55..11..1122.. QQuuaakkee//QQuuaakkee IIII ppeerr GGLL ggiirraannoo ppiiùù lleennttii ssoottttoo LLiinnuuxx cchhee ssoottttoo WWiinnddoowwss.. **** 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 _s_i_g_n_i_f_i_c_a_t_i_v_o (10 fps sul mio sistema) GL Quake. Per informazioni più dettagliate leggete http://glide.xxedgexx.com/MTRR.html. 55..11..1133.. CCoommee ppoossssoo ffaarr ppaarrttiirree uunn sseerrvveerr ee ssccoolllleeggaarrmmii,, ee ppooii ttoorrnnaarrccii ppiiùù ttaarrddii?? **** ssccrreeeenn((11)) è 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 ssccrreeeenn((11)). 55..22.. QQuuaakkee//QQuuaakkeeWWoorrlldd 55..22..11.. QQuuaakkee mmuuoorree aallll''aavvvviioo ccoonn uunn sseeggmmeennttaattiioonn ffaauulltt.. 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. 55..22..22.. CChhee ddiiffffeerreennzzaa cc''èè ttrraa ggllqqwwccll ,, ggllqqwwccll..33ddffxxggll ee ggllqqwwccll..ggllxx ?? ++++ · 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. 55..22..33.. QQuuaannddoo uussoo ggllqqwwccll..ggllxx aa ttuuttttoo sscchheerrmmoo ddaa XX,, nnoonn rriieessccoo aadd uussaarree iill mmoouussee oo llaa ttaassttiieerraa.. ++++ 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. 55..33.. QQuuaakkee IIII 55..33..11.. QQuuaannddoo pprroovvoo aa uussaarree QQuuaakkee IIII ccoonn iill rreennddeerreerr GGLL,, nnoonn ffuunn­­ zziioonnaa,, ee ddiiccee:: ""LLooaaddLLiibbrraarryy((""rreeff__ggll..ssoo"")) ffaaiilleedd:: UUnnaabbllee ttoo rreessoollvvee ssyymmbbooll"" 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. 55..33..22.. QQuuaakkee IIII mmuuoorree ccoonn ll''eerrrroorree LLooaaddLLiibbrraarryy((""rreeff__XXXXXX..ssoo"")) ffaaiilleedd:: NNoo ssuucchh ffiillee oorr ddiirreeccttoorryy · /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. · Se /etc/quake2.conf _c_o_n_t_i_e_n_e 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. · Avete le SVGAlib installate? Controllate in /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. · Se il renderer in questione è 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? · Se il renderer in questione è ref_gl.so, avete installato le librerie glide? 55..33..33.. QQuuaannddoo aaggggiiuussttoo llaa lluummiinnoossiittàà mmeennttrree uussoo iill rreennddeerreerr GGLL ee pprreemmoo ""aappppllyy"",, nnoonn ssuucccceeddee nniieennttee!! Digitate vid_restart nella console per fare attivare le modifiche. 55..33..44.. NNoottee ssuullllaa ddiissttrriibbuuzziioonnee 33..1177 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 ttrr((11)) per togliere i CR. for i in fixperms.sh quake2.conf do mv $i $i.bak tr -d '\r' < $i.bak > $i done 55..33..55.. QQuuaannddoo uussoo QQuuaakkee IIII ccoonn ll''ooppzziioonnee ++sseett vviidd__rreeff ggllxx aa ttuuttttoo sscchheerrmmoo ddaa XX,, nnoonn rriieessccoo aadd uussaarree iill mmoouussee oo llaa ttaassttiieerraa.. ++++ 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. 55..33..66.. PPeerrcchhéé nnoonn ppoossssoo ppaassssaarree aadd aallccuunnee ddeellllee mmooddaalliittàà SSVVGGAA cchhee ssoonnoo nneell mmeennùù VViiddeeoo ddii QQuuaakkee IIII?? **** 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. 66.. TTiippss && TTrriicckkss 66..11.. UUttiilliizzzzaarree ii ggiioocchhii ppeerr XX ee GGLL sseennzzaa sseettuuiidd 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. 66..22.. UUssaarree llee vveerrssiioonnii SSVVGGAA ee GGLL ddaa XX**** 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". · Per prima cosa vi serve il pacchetto ooppeenn((11)) di Jon Tombs. Si tratta di due programmi molto piccoli che vi permettono di passare tra le console virtuali e farci girare dei programmi. Scaricateli da http://sunsite.unc.edu/pub/Linux/utils/console/. Non dovrete fare molto più che 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 · Poi salvate il codice qui sotto nel file 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 #include 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 */ ___________________________________________________________________ Compilatelo ed installatelo da qualche parte nel $PATH: gcc getvc.c -o getvc strip getvc mv getvc /usr/local/bin · Ora create lo script 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`" ___________________________________________________________________ Rendetelo eseguibile e mettetelo da qualche parte nel $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! 66..33.. MMaanntteenneerree iill mmoouussee ddeennttrroo llaa ffiinneessttrraa iinn XX 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à. 66..44.. LLee iimmppoossttaazziioonnii ""ttrruucccchheettttoossee "" ddii 33DDffxx ffuunnzziioonnaannoo aanncchhee iinn LLiinnuuxx 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 66..55.. IIll bbrroowwsseerr ddeell sseerrvveerr ddeell ppoovveerraacccciioo 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... 66..66.. UUssaarree llee lliibb33ddffxxggll..ssoo ppeerr QQuuaakkee II**** 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. 77.. AAddmmiinniissttrriivviiaa 77..11.. NNuuoovvee vveerrssiioonnii ddii qquueessttoo ddooccuummeennttoo 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: · http://www.linuxquake.com/ · http://webpages.mr.net/bobz/ · http://www.linuxgames.com/quake 77..22.. AAllttrrii ffoorrmmaattii ddii qquueessttoo ddooccuummeennttoo 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. · testo ASCII · testo ASCII con backspace-overstrikes per poter essere visualizzato com mmaann((11)) · HTML già zippato e pronto per essere inserito nel vostro sito web · Postscript · PRC per poter essere visualizzato sul Palm Pilot con Aportis Doc · SGML · LaTeX · Tutto quello elencato sopra, in un solo pacchetto 77..33.. PPoolliiccyy ddii ddiissttrriibbuuzziioonnee 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 _s_e_n_z_a _a_l_c_u_n_a _g_a_r_a_n_z_i_a; senza neanche la garanzia implicita di essere _v_e_n_d_i_b_i_l_e o _a_d_a_t_t_o _a_d _u_n _p_a_r_t_i_c_o_l_a_r_e _s_c_o_p_o. Beh, anche se questo documento _v_i _u_c_c_i_d_e _i_l _c_a_n_e, non è colpa mia. Vedere la licenza LDP per ulteriori dettagli. 77..44.. SSttoorriiaa ddeellllee rreevviissiioonnii 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 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 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 instead of a . 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. ______________________________________________________________________