<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <TITLE>Linux Quake HOWTO: Quake/Quakeworld</TITLE> <LINK HREF="Quake-HOWTO-3.html" REL=next> <LINK HREF="Quake-HOWTO-1.html" REL=previous> <LINK HREF="Quake-HOWTO.html#toc2" REL=contents> </HEAD> <BODY> <A HREF="Quake-HOWTO-3.html">Avanti</A> <A HREF="Quake-HOWTO-1.html">Indietro</A> <A HREF="Quake-HOWTO.html#toc2">Indice</A> <HR> <H2><A NAME="s2">2. Quake/Quakeworld</A></H2> <P> 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 <A HREF="#quake-shareware">sotto</A> 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. <P> <H2><A NAME="ss2.1">2.1 Requisiti minimi</A> </H2> <P>Come minimo avrete bisogno di: <P> <UL> <LI>Un Pentium 90 o superiore (raccomandato un 133) </LI> <LI>16 MB di RAM (raccomandati 24) </LI> <LI>Il CD-ROM di Quake <B>o</B> la versione shareware (quake106.zip) </LI> <LI>Linux con il kernel 2.0.24 o successiva </LI> <LI>libc 5.2.18 o successiva </LI> <LI>Uno dei seguenti: <UL> <LI>X11R5 o successivo (per xquake)</LI> <LI>SVGAlib 1.2.0 o successiva (per squake e glquake)</LI> </UL> </LI> <LI>30-80 megabyte di spazio libero su disco (a seconda del tipo di installazione) </LI> <LI>Accesso come root nella macchina su cui installate </LI> </UL> <P> <P>Opzionali: <UL> <LI>Una scheda audio supportata </LI> <LI>Una scheda grafica accelerata 3Dfx VooDoo Graphics o VooDoo2 3D </LI> <LI>Mesa 2.6 o successiva (per glquake) </LI> </UL> <P> <H2><A NAME="ss2.2">2.2 Installare Quake</A> </H2> <P> <P> <H3><A NAME="quake-files"></A> Scaricare i file necessari **</H3> <P>Tutti i file necessari per Linux Quake sono disponibili sul sito ftp della id Software, <A HREF="ftp://ftp.idsoftware.com">ftp.idsoftware.com</A>. Questo sito può essere carico alle volte, quindi è meglio usare uno di questi mirror: <UL> <LI> <A HREF="ftp://ftp.cdrom.com/pub/idgames/idstuff">ftp.cdrom.com/pub/idgames/idstuff</A> (California, USA) </LI> <LI> <A HREF="ftp://ftp.gamesnet.net/idsoftware">ftp.gamesnet.net/idsoftware</A> (California, USA) </LI> <LI> <A HREF="ftp://ftp.linuxquake.com/lqstuff">ftp.linuxquake.com/lqstuff</A> (Michigan, USA) </LI> <LI> <A HREF="ftp://ftp.stomped.com/pub/mirror/idstuff">ftp.stomped.com/pub/mirror/idstuff</A> (Minnesota, USA) </LI> <LI> <A HREF="ftp://mirrors.telepac.pt/pub/idgames">mirrors.telepac.pt/pub/idgames</A> (Lisbona, Portogallo) </LI> <LI> <A HREF="ftp://download.netvision.net.il/pub/mirrors/idsoftware">download.netvision.net.il/pub/mirrors/idsoftware</A> (Haifa, Israele) </LI> </UL> <P>I file di Quake nominati in questa sezione sono: <UL> <LI>Distribuzione Shareware di Quake per Windows <A NAME="quake-shareware"></A> <A HREF="ftp://ftp.idsoftware.com/idstuff/quake/quake106.zip">ftp://ftp.idsoftware.com/idstuff/quake/quake106.zip</A> </LI> <LI>Binario di Quake per X11 <A NAME="quake-x11-binary"></A> <A HREF="ftp://ftp.idsoftware.com/idstuff/unsup/unix/quake.x11-1.0-i386-unknown-linux2.0.tar.gz">ftp://ftp.idsoftware.com/idstuff/unsup/unix/quake.x11-1.0-i386-unknown-linux2.0.tar.gz</A> </LI> <LI>Binario di Quake per SVGAlib <A NAME="quake-svga-binary"></A> <A HREF="ftp://ftp.idsoftware.com/idstuff/unsup/squake-1.1-i386-unknown-linux2.0.tar.gz">ftp://ftp.idsoftware.com/idstuff/unsup/squake-1.1-i386-unknown-linux2.0.tar.gz</A> </LI> <LI>Binario di Quake per OpenGL/Mesa <A NAME="quake-gl-binary"></A> <A HREF="ftp://ftp.idsoftware.com/idstuff/unsup/unix/glquake-0.97-i386-unknown-linux2.0.tar.gz">ftp://ftp.idsoftware.com/idstuff/unsup/unix/glquake-0.97-i386-unknown-linux2.0.tar.gz</A> </LI> <LI>Client di QuakeWorld per Linux (in ciascun pacchetto ci sono i client per X11, SVGAlib e GL) <A NAME="qwcl"></A> <UL> <LI>pacchetto tar.gz per libc5 <A HREF="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-i386-unknown-linux2.0.tar.gz">ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-i386-unknown-linux2.0.tar.gz</A> </LI> <LI>pacchetto tar.gz per glibc <A HREF="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-glibc-i386-unknown-linux2.0.tar.gz">ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-glibc-i386-unknown-linux2.0.tar.gz</A> </LI> <LI>pacchetto rpm per libc5 <A HREF="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-1.i386.rpm">ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-1.i386.rpm</A> </LI> <LI>pacchetto rpm per glibc <A HREF="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-glibc-1.i386.rpm">ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwcl-2.30-glibc-1.i386.rpm</A> </LI> </UL> </LI> <LI>Server di QuakeWorld per Linux <UL> <LI>pacchetto tar.gz per libc5 <A HREF="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-i386-unknown-linux2.0.tar.gz">ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-i386-unknown-linux2.0.tar.gz</A> </LI> <LI>pacchetto tar.gz per glibc <A HREF="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-glibc-i386-unknown-linux2.0.tar.gz">ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-glibc-i386-unknown-linux2.0.tar.gz</A> </LI> <LI>pacchetto rpm per libc5 <A HREF="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-1.i386.rpm">ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-1.i386.rpm</A> </LI> <LI>pacchetto rpm per glibc <A HREF="ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-glibc-1.i386.rpm">ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/qwsv-2.30-glibc-1.i386.rpm</A> </LI> </UL> </LI> <LI>Pacchetto client di Capture the Flag <A HREF="ftp://ftp.cdrom.com/pub/quake/planetquake/threewave/ctf/client/3wctfc.zip">ftp://ftp.cdrom.com/pub/quake/planetquake/threewave/ctf/client/3wctfc.zip</A> </LI> </UL> <P>Altro software nominato: <UL> <LI>utilità di archiviazione lha <A HREF="ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z">ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z</A>. </LI> <LI>librerie grafiche SVGAlib <A HREF="http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.tar.gz">http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.tar.gz</A> </LI> <LI>binari delle SVGAlib per libc5 <A HREF="http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar.gz">http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar.gz</A> </LI> <LI>librerie di runtime Glide <A HREF="http://glide.xxedgexx.com/3DfxRPMS.html">http://glide.xxedgexx.com/3DfxRPMS.html</A> </LI> </UL> <P> <P> <H3>Creazione della directory di installazione ++</H3> <P>La prima cosa che dovete fare è decidere dove installare Quake. Molte persone lo mettono in <CODE>/usr/games/quake</CODE>. Gli amministratori di sistema anali come me scelgono di installare tutto quello che non fa parte della distribuzione standard sotto <CODE>/usr/local</CODE>, quindi per me Quake va in <CODE>/usr/local/games/quake</CODE>. Se scegliete di installarlo da qualche altra parte, sostituite il percorso appropriato dove io indico <CODE>/usr/local/games/quake</CODE>. <P><B>Nota per gli utenti RedHat.</B> Se volete installare QuakeWorld dai pacchetti <CODE>rpm</CODE>, dovreste probabilmente installare Quake in <CODE>/usr/local/games/quake</CODE>, dato che gli <CODE>rpm</CODE> si installano in questa directory per default. <P>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. <P> <BLOCKQUOTE><CODE> <PRE> mkdir /usr/local/games/quake cd /usr/local/games/quake </PRE> </CODE></BLOCKQUOTE> <P> <H3>Installazione dal CD di Quake ++</H3> <P> Se si sta per installare dal CD-ROM di Quake, allora si legga questa sezoine, altrimenti si è liberissimi si saltarla. <P>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 <CODE>quake101.1</CODE> e <CODE>quake101.2</CODE>. Se al loro posto vedete un file che si chiama <CODE>resource.1</CODE>, avete un CD più nuovo. <P>Montate ora il vostro CD di Quake, e determinate quale versione avete. Nell'esempio riportato qui sotto, sostituite <CODE>/dev/cdrom</CODE> e <CODE>/mnt/cdrom</CODE> con il file di device ed il punto di mount propri del vostro sistema: <P> <BLOCKQUOTE><CODE> <PRE> mount -t iso9660 /dev/cdrom /mnt/cdrom ls /mnt/cdrom </PRE> </CODE></BLOCKQUOTE> <P> <UL> <LI>Se sul CD avete un file <CODE>resource.1</CODE>, andate avanti al punto successivo. Per i CD versione 1.01 dovrete scaricare il pacchetto Quake shareware per aggiornare i file <CODE>.pak</CODE> dopo l'installazione. L'operazione viene spiegata nell'ultimo punto di questa sezione. <UL> <LI>Concatenate i due file resource dal CD in un singolo file sull'hard disk: <BLOCKQUOTE><CODE> <PRE> cat /mnt/cdrom/quake101.1 /mnt/cdrom/quake101.2 > resource.1 </PRE> </CODE></BLOCKQUOTE> </LI> <LI>Continuate ora al prossimo paragrafo, ma quando mi riferisco a <CODE>/mnt/cdrom/resource.1</CODE>, al suo posto usate <CODE>/usr/local/games/quake/resource.1</CODE>. </LI> </UL> <P> <P> </LI> <LI>È ora il momento di estrarre i file di Quake. Il file <CODE>resource.1</CODE> sul CD è in realtà un archivio lha (un formato di compressione di archivi come zip o tar). Per estrarlo useremo il comando <CODE>lha</CODE>. Se non lo avete installato sul vostro sistema, lo potete scaricare da <A HREF="ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z">ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z</A>. <BLOCKQUOTE><CODE> <PRE> lha e /mnt/cdrom/resource.1 </PRE> </CODE></BLOCKQUOTE> Quando avete fatto con lha, la directory di Quake dovrà contenere molti nuovi file. Dovrà essere creata anche una directory <CODE>id1/</CODE>. 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 <CODE>*.txt</CODE>. Sul mio sistema, butto tutti i readme che si accumulano dentro una directory <CODE>doc/</CODE>; quindi: <BLOCKQUOTE><CODE> <PRE> cd /usr/local/games/quake mkdir doc mv *.txt doc rm -f * </PRE> </CODE></BLOCKQUOTE> </LI> <LI>Se avete fatto l'installazione da un CD versione 1.01, ora dovete sovrascrivere il file <CODE>id1/pak0.pak</CODE> con quello della versione shareware. Installate la versione shareware come descritto in <A HREF="#quake-shareware-install">Installazione della versione shareware</A>, 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 <CODE>id1/pak0.pak</CODE> dalla directory temporanea in <CODE>/usr/local/games/quake/id1</CODE>, dopodiché potete cancellare la directory con i file shareware. </LI> </UL> <P>E questo è quanto per installare dal CD. Potete saltare direttamente alla sezione " <A HREF="#quake-linux-binaries">Installazione dei file binari di Quake per Linux</A>". <P> <H3><A NAME="quake-windows-copy"></A> Installazione da DOS/Windows a Linux</H3> <P>Se avete Quake installato sotto Windows o DOS su un'altra macchina, potete trasferire i file da <CODE>quake\id1\</CODE> 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. <P>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. <P>Qualsiasi cosa abbiate scelto, per prima cosa passate nella directory di Quake e createne una nuova di nome <CODE>id1</CODE>: <P> <BLOCKQUOTE><CODE> <PRE> cd /usr/local/games/quake mkdir id1 </PRE> </CODE></BLOCKQUOTE> <P> <UL> <LI>Se volete copiare i file dalla partizione DOS/Windows, fate qualcosa del genere: <BLOCKQUOTE><CODE> <PRE> cp /win95/games/quake/id1/*.pak id1 </PRE> </CODE></BLOCKQUOTE> </LI> <LI>Per creare i link, fate: <BLOCKQUOTE><CODE> <PRE> cd id1 ln -s /win95/games/quake/id1/*.pak . </PRE> </CODE></BLOCKQUOTE> </LI> </UL> <P> Sostituite <CODE>/win95/games/quake</CODE> con il percorso corretto per la partizione DOS/Windows e per la directory di installazione di Quake. <P>I file dei dati di Quake sono ora installati. Andate avanti fino a " <A HREF="#quake-linux-binaries">Installazione dei binari di Quake per Linux</A>". <P> <H3><A NAME="quake-shareware-install"></A> Installazione della versione shareware</H3> <P>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. <P>Installare la versione shareware di Quake non è molto diverso da installare da CD. <P>Vedere la sezione <A HREF="#quake-files">Scaricare i file necessari</A> per sapere da dove prendere la distribuzione shareware. Scaricatela ed estraetela nella directory di Quake: <P> <BLOCKQUOTE><CODE> <PRE> cd /usr/local/games/quake unzip -L /dove/la/vuoi/mettere/quake106.zip </PRE> </CODE></BLOCKQUOTE> <P>Ora, tra l'altro, avete un file che si chiama <CODE>resource.1</CODE> 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 <B>lha(1)</B>. Se non ce l'avete installato, lo potete prendere da <A HREF="ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z">ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z</A>. <P> <BLOCKQUOTE><CODE> <PRE> lha e resource.1 </PRE> </CODE></BLOCKQUOTE> <P>Quando avete fatto con lha, la directory di Quake dovrà contenere molti nuovi file. Dovrà essere creata anche una directory <CODE>id1/</CODE>. 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 <CODE>*.txt</CODE>. Sul mio sistema, butto tutti i readme che si accumulano dentro una directory <CODE>doc/</CODE>; quindi: <P> <BLOCKQUOTE><CODE> <PRE> cd /usr/local/games/quake mkdir doc mv *.txt doc rm -f * </PRE> </CODE></BLOCKQUOTE> <P>Ora siete pronti ad installare i binari per Linux. <P> <H2><A NAME="quake-linux-binaries"></A> <A NAME="ss2.3">2.3 Aggiungere i binari per Linux</A> </H2> <P>Decidete quale dei tre tipi di Quake volete installare: <UL> <LI>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.</LI> <LI>Squake è il client di Quake per SVGAlib. Gira a schermo pieno sulla console di testo. </LI> <LI>GLQUake è il client di Quake per OpenGL, l'Unico Modo per giocare a Quake se avete una scheda accelerata 3Dfx. </LI> </UL> <P>Scaricate i pacchetti che vi servono (vedere la sezione <A HREF="#quake-files">Scaricare i file necessari</A>) ed estraeteli nella directory di Quake, così: <P> <BLOCKQUOTE><CODE> <PRE> cd /usr/local/games/quake tar -xzf XXXX-i386-unknown-linux2.0.tar.gz </PRE> </CODE></BLOCKQUOTE> <P> <H2><A NAME="ss2.4">2.4 Impostare i permessi</A> </H2> <P>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. <P> <CODE>squake</CODE> è l'unico client di Quake che <EM>deve</EM> 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. <A HREF="Quake-HOWTO-6.html#no-setuid">Usare i client X e GL senza permessi di root</A> nella sezione Tips and Tricks vi spiega come fare. <P> <P>Se volete usare <CODE>squake</CODE>, rendetelo setuid root con i seguenti comandi: <BLOCKQUOTE><CODE> <PRE> chown root squake chmod 4755 squake </PRE> </CODE></BLOCKQUOTE> <P>Se avete deciso che è ok usare <CODE>quake.x11</CODE> e <CODE>glquake</CODE> setuid root sul vostro sistema, potete ripetere i comandi qui sopra anche per quei binari. <P> <P> <H2><A NAME="ss2.5">2.5 X11 Quake</A> </H2> <P>Se avete installato il client X11, questo è un buon momento per provarlo. Per <CODE>glquake</CODE> e <CODE>squake</CODE> c'è bisogno di configurare altre cose, ma <CODE>quake.x11</CODE> dovrebbe essere pronto. <P> <BLOCKQUOTE><CODE> <PRE> cd /usr/local/games/quake ./quake.x11 </PRE> </CODE></BLOCKQUOTE> <P>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 <A HREF="Quake-HOWTO-5.html#troubleshooting">Risoluzione dei problemi</A>. <P> <H2><A NAME="quake-svgalib"></A> <A NAME="ss2.6">2.6 SVGAlib Quake </A> </H2> <P>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 <B>deve</B> essere configurata correttamente per poter utilizzare squake o glquake. <P> <CODE>libvga.config</CODE> è il file di configurazione della SVGAlib. Sulla maggior parte dei sistemi lo troverete nelle directory <CODE>/etc</CODE> o <CODE>/etc/vga</CODE>. 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. <P>Se non l'avete già, scaricatela dal sito indicato nella <A HREF="#quake-files">sezione dei file</A> più sopra. Se avete la RedHat 5.x o un'altra distribuzione di Linux basata su glib, guardate le <A HREF="Quake-HOWTO-5.html#glibc">considerazioni su Glibc, RedHat 5.x, Debian 2</A> nella sezione Risoluzione dei problemi/FAQ per avere delle informazioni importanti su come compilare le librerie per poterle usare con Quake. A <A HREF="http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar.gz">http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar.gz</A> è disponibile un binario delle SVGAlib precompilato con le libc5 per chi non ha voglia di ricompilare il tutto. <P>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 <P> <BLOCKQUOTE><CODE> <PRE> cd /usr/local/games/quake ./squake </PRE> </CODE></BLOCKQUOTE> <P> <A HREF="Quake-HOWTO-6.html#running-from-x">Utilizzare i giochi SVGA e GL da X</A> nella sezione dei Tips & Tricks più avanti spiega come lanciare Quake per SVGA e GL da X senza passare manualmente ad una console virtuale. <P> <H2><A NAME="glquake"></A> <A NAME="ss2.7">2.7 GLQuake </A> </H2> <P>Il Quake per le OpenGL accelerate via hardware è Quake come Dio comanda. Non c'è possibile sostituto, e una volta provato non si torna indietro. <P>Per usare <CODE>glquake</CODE>, 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). <P>Le librerie SVGAlib, Glide e Mesa devono essere tutte installate e configurate correttamente sul sistema, per poter usare <CODE>glquake</CODE>. Le seguenti sezioni copriranno brevemente i passi da seguire per farlo. <P> Il ( <A HREF="mailto:bk@gamers.org">bk@gamers.org</A>) Linux 3Dfx HOWTO ( <A HREF="http://www.gamers.org/dEngine/xf3D/howto/3Dfx-HOWTO.html">http://www.gamers.org/dEngine/xf3D/howto/3Dfx-HOWTO.html</A>) di Bernd Kreimeier è un buon posto dove cercare altre informazioni. <P> Il newsgroup <A HREF="news://news.3dfx.com/3dfx.glide.linux">3dfx.glide.linux</A> sul news server della 3dfx (news.3dfx.com) è un'altra buona fonte di informazioni sull'intersezione di Linux, glide, Mesa e Quake. <P> <H3>SVGAlib</H3> <P>glquake usa le SVGAlib per ricevere input dal mouse e dalla tastiera, quindi dovrete configurarle come illustrato nella sezione <A HREF="#quake-svgalib">SVGAlib Quake</A>. <P> <H3>Glide </H3> <P>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. <P>Potete trovare l'ultima versione delle glide su <A HREF="http://glide.xxedgexx.com/3DfxRPMS.html">http://glide.xxedgexx.com/3DfxRPMS.html</A>. Scegliete il (i) pacchetti appropriati per il vostro sistema, ed installateli seguendo le istruzioni che trovate sulla pagina web. <P>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 <CODE>/dev/3dfx</CODE> e potrete usare GLQuake come utente normale. <P>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. <B>NOTA: usate questo test da una console virtuale, <EM>non</EM> X!</B> È 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. <P> <BLOCKQUOTE><CODE> <PRE> /usr/local/glide/bin/test3Dfx </PRE> </CODE></BLOCKQUOTE> <P>Il vostro schermo dovrebbe diventare blu e chiedervi di premere un tasto qualsiasi. Dopo che avrete premuto il tasto dovreste tornare al prompt. <A HREF="news://news.3dfx.com/3dfx.glide.linux">3dfx.glide.linux</A> sul news server della 3dfx (news.3dfx.com) è un'ottima fonte di informazioni per problemi specifici di glide per Linux. <P> <H3>Mesa </H3> <P>Una volta installato glide, dovrete installare Mesa, un'implementazione free di OpenGL di Brial Paul <A HREF="mailto:brianp@elastic.avid.com">(brianp@elastic.avid.com)</A>. 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: <P> <BLOCKQUOTE><CODE> <PRE> cd /usr/local/games/quake cp libMesaGL.so.2.6 /usr/local/lib ldconfig </PRE> </CODE></BLOCKQUOTE> <P>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 <A HREF="ftp://iris.ssec.wisc.edu/pub/Mesa">ftp://iris.ssec.wisc.edu/pub/Mesa</A> Se avete RedHat 5.x o un'altra distribuzione basata sulle glibc, guardate le <A HREF="Quake-HOWTO-5.html#glibc">considerazioni su glibc, RedHat 5.x, Debian 2</A> nella sezione Risoluzione dei problemi/FAQ per avere informazioni importanti sulla compilazione delle librerie per Quake. <P>Dopo aver compilato il tutto seguendo le istruzioni, dovrete fare due cose: <P> <UL> <LI>Eliminare la precedente installazione delle Mesa. Se avevate prima installato le <CODE>libMesaGL.so.2.6</CODE> come descritto sopra, le dovete eliminare, o Quake potrebbe non usare le nuove versioni. <BLOCKQUOTE><CODE> <PRE> cd /usr/local/lib/ rm -f libMesaGL.so.2* </PRE> </CODE></BLOCKQUOTE> </LI> <LI>Se le nuove Mesa hanno un numero di versione principale maggiore di 2, dovete crearne un link con il nome <CODE>libMesaGL.so.2</CODE>: <BLOCKQUOTE><CODE> <PRE> cd /usr/local/lib/ ln -s /dovunque/siano/libMesaGL.so.3.0 libMesaGL.so.2 ldconfig </PRE> </CODE></BLOCKQUOTE> </LI> </UL> <P>Ora passate ad una console virtuale (CTRL+ALT+F1) ed avviate glquake. <P> <BLOCKQUOTE><CODE> <PRE> cd /usr/local/games/quake ./glquake </PRE> </CODE></BLOCKQUOTE> <P> <P> <H2><A NAME="ss2.8">2.8 Opzioni da linea di comando specifiche di Linux</A> </H2> <P>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 <A HREF="Quake-HOWTO-1.html#general-quake-sources">Informazioni generali su Quake</A> per questo tipo di informazioni. <P> <P> <DL> <DT><B>-mem <EM>num</EM></B><DD><P>Specifica la memoria in megabyte da allocare (il default è 8MB, che dovrebbe essere sufficiente nella maggior parte dei casi). <P> <DT><B>-nostdout</B><DD><P>Non mandare output nello stdout. Usate questa opzione se non volete che tutto l'output della console sia mandato sul terminale. <P> <DT><B>-mdev <EM>device</EM></B><DD><P>Il dispositivo del mouse, il default è <CODE>/dev/mouse</CODE> <P> <DT><B>-mrate <EM>speed</EM></B><DD><P>Il baud rate del mouse, il default è 1200 <P> <DT><B>-cddev <EM>device</EM></B><DD><P>Il dispositivo del CD, il default è <CODE>/dev/cdrom</CODE> <P> <DT><B>-mode <EM>num</EM></B><DD><P>Per usare le modalità video indicate (solo per squake) <P> <DT><B>-nokdb</B><DD><P>Non inizializzare la tastiera <P> <DT><B>-sndbits <EM>8 o 16</EM></B><DD><P>Imposta la dimensione in bit del campionamento sonoro. Il default è 16, se supportato <P> <DT><B>-sndspeed <EM>speed</EM></B><DD><P>Imposta la velocità del suono. I valori normali sono 8000, 11025, 22051 e 44100. Il default è 11025. <P> <DT><B>-sndmono</B><DD><P>Imposta il suono mono <P> <DT><B>-sndstereo</B><DD><P>Imposta il suono stereo (è il default, se supportato) </DL> <P> <H2><A NAME="ss2.9">2.9 QuakeWorld **</A> </H2> <P> <A HREF="http://www.quakeworld.net/">http://www.quakeworld.net</A> spiega tutto meglio di quanto possa farlo io: <P> <BLOCKQUOTE> QuakeWorld è una versione di Quake multi-giocatore specifica per Internet. Mentre la versione originale di Quake può essere giocata su Internet, chi giocava via modem - la maggioranza dei giocatori - avevano una soddisfazione minore. Per gli utenti si prospettavano un lag eccessivo, cioè azioni che avvenivano molto dopo che le si faceva, la perdita di pacchetti, in cui il gioco si fermava e riprendeva diversi secondi dopo, e varie altre difficoltà. Dopo aver realizzato che molte persone giocavano a Quake su Internet, e quanti altri avrebbero voluto ma non potevano perché il gioco non era soddisfacente, John Carmack della id Software decise di creare una versione di Quake ottimizzata per il giocatore medio su Internet via modem. La versione specifica via Internet fa solo una cosa, cioè giocare a deathmatch su una rete TCP/IP come Internet. Non ha supporto per il gioco singolo, e non si può fare niente senza connettersi ad un servizio speciale. </BLOCKQUOTE> <P> 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: <UL> <LI>libc5 tar.gz </LI> <LI>glibc tar.gz </LI> <LI>libc5 rpm </LI> <LI>glibc rpm </LI> </UL> <P> 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. <P> Vedere la sezione <A HREF="#quake-files">Scaricare i file necessari</A> per sapere dove trovare i file di QuakeWorld per Linux. <P> 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. <P> <H3>Installazione dei pacchetti RPM ++</H3> <P>Per installare i pacchetti rpm dovrebbe essere sufficiente <P> <BLOCKQUOTE><CODE> <PRE> su root rpm -Uvh qwcl-xxxxx.i386.rpm </PRE> </CODE></BLOCKQUOTE> <P> <CODE>qwcl</CODE>, <CODE>glqwcl</CODE> e <CODE>glqwcl.glx</CODE> 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 <A HREF="Quake-HOWTO-6.html#no-setuid">Utilizzare i giochi per X e GL senza setuid</A> più avanti. <P> L'rpm può lamentarsi che non trova <CODE>libglide2x.so</CODE>. La libreria glide è necessaria solo se avete una scheda 3Dfx e volete usare QuakeWorld in modalità GL (<CODE>glqwcl</CODE>). Se non volete usare la modalità GL, potete superare le dipendenze di glide con l'opzione <CODE>--nodeps</CODE>: <P> <BLOCKQUOTE><CODE> <PRE> su root rpm -Uvh qwcl-xxxxx.i386.rpm --nodeps </PRE> </CODE></BLOCKQUOTE> <P> <H3>Installazione dei pacchetti tar.gz ++</H3> <P>Per installare, fate untar del file nella directory di Quake. Fatelo come root, in modo da impostare i corretti permessi dei file: <P> <BLOCKQUOTE><CODE> <PRE> cd /usr/local/games/quake su root tar -xzf qwcl2.21-i386-unknown-linux2.0.tar.gz </PRE> </CODE></BLOCKQUOTE> <P> <CODE>qwcl</CODE>, <CODE>glqwcl</CODE> e <CODE>glqwcl.glx</CODE> 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 <A HREF="Quake-HOWTO-6.html#no-setuid">Utilizzare i giochi per X e GL senza setuid</A> più avanti. <P> <P> <H3>Utilizzare QuakeWorld ++</H3> <P>Una volta installato QuakeWorld insieme ai file di Quake, potete farlo partire con: <BLOCKQUOTE><CODE> <PRE> ./qwcl +connect some.server.address </PRE> </CODE></BLOCKQUOTE> <P> Vedere la sezione <A HREF="Quake-HOWTO-4.html#related-software">Software correlato</A> per le informazioni su qualche front end per QuakeWorld che rende più facile trovare i server. <P> <UL> <LI><B>lib3dfxgl.so</B> <A NAME="qw-3dfxgl"></A> ** <P> Con la versione 2.30 di QuakeWorld è disponibile un'alternativa alle librerie Mesa. <CODE>lib3dfxgl.so</CODE> è 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. <P> Come le Mesa, <CODE>lib3dfxgl.so</CODE> ha bisogno delle Glide per accedere alla scheda 3Dfx. Il pacchetto di QuakeWorkd contiene uno script, <CODE>glqwcl.3dfxgl</CODE> per usare QuakeWorld su sistemi glibc con questa libreria. Il prossimo paragrafo spiega come usare QuakeWorld con la <CODE>lib3dfxgl.so</CODE> su un sistema libc5. Su un sistema glibc, per fare funzionare lo script, l'eseguibile <CODE>glqwcl</CODE> <B>non deve essere setuid</B>, e non va usato da root. <CODE>glqwcl</CODE> caricherà silenziosamente le Mesa invece delle <CODE>lib3dfxgl.so</CODE> se si fa girare con i permessi di root. Queste richieste implicano che abbiate installato il driver <CODE>/dev/3dfx</CODE>. <P> <P> Sui sistemi basati sulle libc5 dovrete creare un link simbolico a <CODE>lib3dfxgl.so</CODE> che si chiami <CODE>libMesaGL.so.2</CODE>, così: <BLOCKQUOTE><CODE> <PRE> cd /usr/local/games/quake ln -sf lib3dfxgl.so libMesaGL.so.2 </PRE> </CODE></BLOCKQUOTE> e poi fare partire QuakeWorld da uno script che dica a <CODE>$LD_LIBRARY_PATH</CODE> di guardare nella directory corrente: <HR> <PRE> #!/bin/sh LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./glqwcl $* </PRE> <HR> <P> Potete vedere quale driver viene caricato guardando l'output nella console quando QuakeWorld parte, così: <P> <BLOCKQUOTE><CODE> <PRE> 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 </PRE> </CODE></BLOCKQUOTE> <P> Se <CODE>GL_VENDOR</CODE> dice <CODE>Brian Paul</CODE> invece di <CODE>3Dfx Interactive Inc.</CODE>, vuol dire che viene ancora usato Mesa invece del driver miniport. <P> </LI> <LI><B>glqwcl.glx</B> ** <P> <P> <CODE>glqwcl.glx</CODE> 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. <P>QuakeWorld è un'applicazione GLX, e come tale deve essere usata da dentro X. <P>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 <CODE>$MESA_GLX_FX</CODE> al valore "fullscreen" prima e dopo il comando <CODE>quake2</CODE>: <P> <BLOCKQUOTE><CODE> <PRE> export MESA_GLX_FX=fullscreen ./glqwcl.glx +_windowed_mouse 1 </PRE> </CODE></BLOCKQUOTE> <P>Perché usare l'opzione <CODE>+_windowed_mouse 1</CODE>? 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 <EM>molto</EM> attenti, potreste spostare il puntatore del mouse fuori della finestra di QuakeWorld, e QuakeWorld smetterebbe di rispondere all'input dal mouse e dalla tastiera. <CODE>+_windowed_mouse 1</CODE> elimina questo problema dicendo a <CODE>glqwcl.glx</CODE> di agganciare il mouse e non farlo muovere all'esterno della finestra. <P> </LI> </UL> <P> <H2><A NAME="ss2.10">2.10 Server</A> </H2> <P> <P>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. <P>Per inizializzare un server di QuakeWorld, digitate semplicemente: <P> <P> <BLOCKQUOTE><CODE> <PRE> ./qwsv </PRE> </CODE></BLOCKQUOTE> <P>Il manuale ufficiale del server di QuakeWorld risiede in <A HREF="http://qwcentral.stomped.com">http://qwcentral.stomped.com</A>. <P> <H2><A NAME="ss2.11">2.11 Moduli ed aggiunte</A> </H2> <P>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. <P> <H3>Capture the flag (acchiappabandiera)</H3> <P>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. <P>Tutto quello che volete sapere del modulo per l'acchiappabandiera (CTF) si trova in <A HREF="http://captured.com/threewave/">http://captured.com/threewave/</A> Per giocare vi serve <A HREF="ftp://ftp.cdrom.com/pub/quake/planetquake/threewave/ctf/client/3wctfc.zip">ftp://ftp.cdrom.com/pub/quake/planetquake/threewave/ctf/client/3wctfc.zip</A>. Per installare la parte client di CTF, create una directory con nome <CODE>ctf</CODE> nella vostra directory di Quake, e scompattatevi il file <CODE>3wctfc.zip</CODE>. Il file <CODE>readme.txt</CODE> che lo accompagna è pieno zeppo di informazioni utili. <P> <BLOCKQUOTE><CODE> <PRE> cd /usr/local/games/quake mkdir ctf cd ctf unzip -L /dovunque/l'abbiate/messo/3wctfc.zip </PRE> </CODE></BLOCKQUOTE> <P>Per le informazioni su come utilizzare un server CTF vedere le pagine web menzionate qui sopra. <P> <P> <H3>Pacchetti missione **</H3> <P>La Activision ha rilasciato due pacchetti aggiuntivi di livelli extra per Quake, <B>Scourge of Armagon</B> e <B>Dissolution of Eternity</B>. <P> <UL> <LI><B>Pacchetto missione 1: The Scourge of Armagon</B> Assumendo che il vostro CD sia montato su <CODE>/mnt/cdrom</CODE> e che Quake sia installato in <CODE>/usr/local/games/quake</CODE>: <BLOCKQUOTE><CODE> <PRE> cd /usr/local/games/quake mkdir hipnotic cp /mnt/cdrom/hipnotic/pak0.pak hipnotic cp /mnt/cdrom/hipnotic/config.cfg hipnotic </PRE> </CODE></BLOCKQUOTE> Usate il pacchetto missione così: <BLOCKQUOTE><CODE> <PRE> cd /usr/local/games/quake ./quake.x11 -game hipnotic </PRE> </CODE></BLOCKQUOTE> </LI> <LI><B>Pacchetto missione 2: Dissolution of Eternity</B> Installare il secondo pacchetto missione richiede una procedura molto simile al primo, ma sostituite la parola <EM>hipnotic</EM> con <EM>rogue</EM>, e saltate il passo <CODE>config.cfg</CODE>, dato che quest'ultimo non è incluso nel CD del pacchetto missione 2. </LI> </UL> <P> <H3>Strumenti per Quake</H3> <P>Qualcuno vuole contribuire con delle informazioni su qcc, bsp e tutto il resto? <P> <P> <HR> <A HREF="Quake-HOWTO-3.html">Avanti</A> <A HREF="Quake-HOWTO-1.html">Indietro</A> <A HREF="Quake-HOWTO.html#toc2">Indice</A> </BODY> </HTML>