home *** CD-ROM | disk | FTP | other *** search
/ Hackers Toolkit v2.0 / Hackers_Toolkit_v2.0.iso / HTML / archive / Unix / HOWTOs / QUAKE-HO < prev    next >
Text File  |  1999-11-04  |  87KB  |  2,971 lines

  1.   Linux Quake HOWTO
  2.   Bob Zimbinski, bobz@mr.net and Mike Hallock, mikeh@med¡
  3.   ina.net
  4.   v1.0.1.11, 15 August 1998
  5.  
  6.   This document explains how to install, run and troubleshoot Quake,
  7.   QuakeWorld and Quake II on an Intel Linux system.
  8.   ______________________________________________________________________
  9.  
  10.   Table of Contents
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.   1. Introduction **
  68.  
  69.      1.1 Feedback,Comments, Corrections
  70.      1.2 Acknowledgments
  71.      1.3 Other Sources of Information
  72.         1.3.1 Linux-Specific Quake Information
  73.         1.3.2 General Quake Information
  74.         1.3.3 Linux Gaming Information
  75.  
  76.   2. Quake/Quakeworld
  77.  
  78.      2.1 Minimum Requirements
  79.      2.2 Installing Quake
  80.         2.2.1 Download the Necessary Files
  81.         2.2.2 Create the Installation Directory
  82.         2.2.3 Installing From a Quake CD
  83.         2.2.4 DOS/Windows to Linux Install
  84.         2.2.5 Shareware Version Install
  85.      2.3 Adding the Linux Binaries
  86.      2.4 Setting Permissions **
  87.      2.5 X11 Quake
  88.      2.6 SVGAlib Quake **
  89.      2.7 GLQuake **
  90.         2.7.1 SVGAlib
  91.         2.7.2 Glide
  92.         2.7.3 Mesa **
  93.      2.8 Linux-Specific Command Line Options
  94.      2.9 QuakeWorld
  95.      2.10 Servers
  96.      2.11 Mods & Addons
  97.         2.11.1 Capture the Flag
  98.         2.11.2 Mission Packs
  99.         2.11.3 Quake Tools
  100.  
  101.   3. Quake II
  102.  
  103.      3.1 Prerequisites
  104.      3.2 Installing Quake II
  105.         3.2.1 Download the Necessary Files
  106.         3.2.2 Create the Installation Directory
  107.         3.2.3 Installing from CD
  108.         3.2.4 Windows to Linux install
  109.         3.2.5 Installing the demo version
  110.      3.3 Adding the Linux Binaries
  111.         3.3.1 Note about the 3.17 distribution
  112.      3.4 Setting Permissions **
  113.         3.4.1 Quake2.conf
  114.      3.5 The X Renderer
  115.      3.6 The SVGAlib Renderer **
  116.      3.7 The OpenGL Renderer
  117.         3.7.1 SVGAlib
  118.         3.7.2 Glide
  119.         3.7.3 Mesa **
  120.      3.8 Linux-Specific Command Line Options
  121.      3.9 Quake II Servers
  122.         3.9.1 Listen Servers
  123.         3.9.2 Dedicated Servers
  124.         3.9.3 Other Sources of Server Information
  125.      3.10 Mods & Addons
  126.         3.10.1 Client Side Mods
  127.            3.10.1.1 Capture the Flag
  128.         3.10.2 Server Side Mods
  129.         3.10.3 Game Source
  130.         3.10.4 Mission Packs
  131.  
  132.   4. Related Software
  133.      4.1 QStat
  134.      4.2 XQF ++
  135.      4.3 QuickSpy
  136.      4.4 QPlug for Linux
  137.      4.5 qkHacklib
  138.      4.6 GiMd2Viewer
  139.      4.7 QIPX
  140.      4.8 Ice ++
  141.      4.9 Q2getty **
  142.      4.10 rcon ++
  143.  
  144.   5. Troubleshooting/FAQs
  145.  
  146.      5.1 General
  147.         5.1.1 OS difference considerations ++
  148.         5.1.2 Glibc, RedHat 5.x, Debian 2 considerations **
  149.         5.1.3 My mouse doesn't work or seems to respond randomly.
  150.         5.1.4 My Microsoft Intellimouse or Logitech MouseMan+ isn't working correctly.
  151.         5.1.5 My mouse is "laggy" and seems much slower than under Windows.
  152.         5.1.6 I have a Voodoo2, and, when I try to run with the gl renderer, it reports that I don't have a Voodoo installed.
  153.         5.1.7 When I'm playing any of the Quake games under SVGAlib or GL and press CTRL-C, the game exits and sometimes leaves my console in an unusable state.
  154.         5.1.8 squake/quake2 fails to start and says "
  155.         5.1.9 Sometimes after  playing one of the Quake games in X, key repeat doesn't work any more.
  156.         5.1.10 Quake/Quake II says "/dev/dsp : device not configured"
  157.      5.2 Quake/QuakeWorld
  158.         5.2.1 Quake dies at startup with a segmentation fault.
  159.      5.3 Quake II
  160.         5.3.1 When I try to run Quake II with the GL renderer, it fails and says "LoadLibrary("ref_gl.so") failed: Unable to resolve symbol"
  161.         5.3.2 I have a RedHat 5.x system.  I just built and installed Mesa 3.0 beta X. Now Quake II segfaults when I try to use the ref_gl renderer.
  162.         5.3.3 I have a RedHat 5.x system and when I try to run Quake II with the GL renderer, it fails with "unable to resolve symbol: IO_putc."
  163.         5.3.4 Quake II fails with the message
  164.         5.3.5 Do I need to have my CD mounted to play the single-player missions?
  165.         5.3.6 When I update the brightness while using the GL renderer, and hit "apply," nothing happens!
  166.         5.3.7 When I try to run
  167.         5.3.8 Quake II and the GL renderer run slower in Linux than in Windows. **
  168.  
  169.   6. Tips & Tricks
  170.  
  171.      6.1 Running X and GL games without setuid  **
  172.      6.2 Running SVGA and GL games from X
  173.      6.3 Keeping the mouse inside the window in X
  174.      6.4 3Dfx "tweak" settings work in Linux too
  175.      6.5 The Poor Man's Server Browser
  176.  
  177.   7. Administrivia
  178.  
  179.      7.1 New Versions of This Document **
  180.      7.2 Other Formats of This Document
  181.      7.3 Distribution Policy
  182.      7.4 Revision History **
  183.  
  184.  
  185.   ______________________________________________________________________
  186.  
  187.   1.  Introduction **
  188.  
  189.   Quake, QuakeWorld and Quake II are tremendously popular 3D action
  190.   games developed by id Software.
  191.  
  192.   If you're not familiar with the Quake games, there are better places
  193.   than this HOWTO to learn about the basics.  See section ``Other
  194.   Sources of Information'' below for a list of some of these better
  195.   places.
  196.  
  197.   This document assumes you have Linux up and running, and in some cases
  198.   the X Window System as well.  X is not required to run these games,
  199.   but it's a nice way to test a basic installation. If you are not
  200.   running X, you may safely skip over any references to it.
  201.  
  202.   Sections of this document that were updated in the last revision have
  203.   a ** after the section heading.  Sections updated in the revision
  204.   prior to the last are marked with a ++.
  205.  
  206.  
  207.  
  208.   1.1.  Feedback,Comments, Corrections
  209.  
  210.   This document certainly does not contain everything there is to know
  211.   about Linux Quake.  With your help, though, we can bring it closer to
  212.   that ideal.  We want this HOWTO to be as complete and accurate as
  213.   possible, so if you notice mistakes or omissions, please bring them to
  214.   our attention.
  215.  
  216.   Questions, comments, or corrections should be sent to Bob Zimbinski
  217.   (bobz@mr.net) or Mike Hallock (mikeh@medina.net).  Constructive
  218.   criticism is welcome.  Flames are not.
  219.  
  220.  
  221.   1.2.  Acknowledgments
  222.  
  223.   The original version of this document was written by Brett A.Thomas
  224.   (quark@baz.com) and Mike Hallock (mikeh@medina.net).  Bob Zimbinski
  225.   (bobz@mr.net) rewrote and expanded the original document.
  226.  
  227.   Special thanks to the following people for brining us Quake for Linux:
  228.  
  229.   ╖  John Carmack and the rest of id Software for these great games.
  230.  
  231.   ╖  Dave 'Zoid' Kirsch (zoid@idsoftware.com) for the Linux ports.
  232.  
  233.   ╖  Dave Taylor (ddt@crack.com) for starting this whole wacky Linux
  234.      port business.
  235.  
  236.   ╖  Daryll Strauss (daryll@harlot.rb.ca.us) for the Linux glide ports.
  237.  
  238.   ╖  Brian Paul (brianp@elastic.avid.com) for the Mesa graphics library.
  239.  
  240.   ╖  David Bucciarelli (tech.hmw@plus.it) for the Mesa/glide driver.
  241.  
  242.   Thanks to the following people for contributions to this Howto:
  243.  
  244.   ╖  Mike Brunson (brunson@l3.net) for the vid_restart tip.
  245.  
  246.   ╖  Joey Hess (joey@kite.ml.org) for info on running svga & gl games
  247.      from X
  248.  
  249.   ╖  Joe S. (jszabo@eden.rutgers.edu) for a steaming pile of suggestions
  250.  
  251.   ╖  Brad Lambert (bradl@dial.pipex.com) for the -noudp reminder.
  252.  
  253.   ╖  agx (gguenthe@iris.rz.uni-konstanz.de) for pointing out QIPX.
  254.  
  255.   ╖  Derrik Pates (dmp8309@silver.sdsmt.edu) for making me think about
  256.      security.
  257.  
  258.   ╖  Michael Dwyer (michael_dwyer@mwiworks.com) for the "OS
  259.      considerations" ideas.
  260.  
  261.  
  262.  
  263.  
  264.  
  265.   1.3.  Other Sources of Information
  266.  
  267.  
  268.  
  269.   1.3.1.  Linux-Specific Quake Information
  270.  
  271.  
  272.   ╖  LQ:Linux Quake & Utilites http://www.linuxquake.com/.
  273.  
  274.   ╖  Linux Quake Page http://captured.com/threewave/linux/
  275.  
  276.   ╖  LinQuake http://www.frag.com/linquake/
  277.  
  278.   ╖  QuakeWorld.net http://www.quakeworld.net
  279.  
  280.   ╖  Linux Quake 2 Mods http://www.renaissoft.com/linuxq2/
  281.  
  282.  
  283.   1.3.2.  General Quake Information
  284.  
  285.  
  286.   ╖  id Software http://www.idsoftware.com
  287.  
  288.   ╖  PlanetQuake http://www.planetquake.com
  289.  
  290.   ╖  QuakeWorld Central http://qwcentral.stomped.com
  291.  
  292.   ╖  3Dfx's GL Quake FAQ http://www.3dfx.com/game_dev/quake_faq.html
  293.  
  294.   ╖  Farenheit 176 http://www.planetquake.com/f176
  295.  
  296.   ╖  rec.games.computer.quake.* newsgroups
  297.  
  298.  
  299.   1.3.3.  Linux Gaming Information
  300.  
  301.  
  302.   ╖  The Linux Game Tome
  303.      http://www.cs.washington.edu/homes/tlau/tome/linux-game.html
  304.  
  305.   ╖  LinuxGames http://www.linuxgames.com/
  306.  
  307.  
  308.   2.  Quake/Quakeworld
  309.  
  310.   To install Quake on your Linux system, you'll need some flavor of the
  311.   official Quake distribution from id.  This will be either the retail
  312.   DOS/Windows CD-ROM that you bought at your favorite software store, or
  313.   the shareware version you downloaded from the net (see ``below'' for
  314.   details on acquiring the shareware version).   Alternatively, if
  315.   you've already got Quake installed on a DOS/Windows machine, you can
  316.   use the relevant files from that installation.
  317.  
  318.  
  319.   2.1.  Minimum Requirements
  320.  
  321.   You will need, as a bare minimum, the following:
  322.  
  323.  
  324.   ╖  A Pentium 90 or better (133 recommended) computer
  325.  
  326.   ╖  16 MB RAM (24 recommended)
  327.  
  328.   ╖  The Quake CD-ROM or the shareware version (quake106.zip)
  329.  
  330.  
  331.   ╖  Linux kernel version 2.0.24 or later
  332.  
  333.   ╖  libc 5.2.18 or later
  334.  
  335.   ╖  One of the following:
  336.  
  337.   ╖  X11R5 or later (for xquake)
  338.  
  339.   ╖  SVGAlib 1.2.0 or later (for squake and glquake)
  340.  
  341.   ╖  30-80 megabytes free disk space (depends on how you install)
  342.  
  343.   ╖  Access to the root account of the machine you're installing on
  344.  
  345.  
  346.   Optional:
  347.  
  348.   ╖  A supported soundcard
  349.  
  350.   ╖  A 3Dfx VooDoo Graphics or VooDoo2 3D graphics accelerator card.
  351.  
  352.   ╖  Mesa 2.6 or later (for glquake)
  353.  
  354.  
  355.   2.2.  Installing Quake
  356.  
  357.  
  358.  
  359.   2.2.1.  Download the Necessary Files
  360.  
  361.   All the necessary files for Linux Quake are available at id Software's
  362.   ftp site, ftp.idsoftware.com.  This site can be quite busy at times,so
  363.   you may want to use one of these mirror sites instead:
  364.  
  365.   ╖  ftp.cdrom.com/pub/idgames/idstuff (California, USA)
  366.  
  367.   ╖  ftp.gamesnet.net/idsoftware (California, USA)
  368.  
  369.   ╖  ftp.linuxquake.com/lqstuff (Michigan, USA)
  370.  
  371.   ╖  ftp.stomped.com/pub/mirror/idstuff (Minnesota, USA)
  372.  
  373.   ╖  mirrors.telepac.pt/pub/idgames (Lisbon, Portugal)
  374.  
  375.   ╖  download.netvision.net.il/pub/mirrors/idsoftware (Haifa, Israel)
  376.  
  377.   The Quake files mentioned in in this section are:
  378.  
  379.   ╖  Shareware Quake for Windows distribution
  380.      ftp://ftp.idsoftware.com/idstuff/quake/quake106.zip
  381.  
  382.   ╖  Quake 1.01 to 1.06 patch program (MS-DOS)
  383.      ftp://ftp.idsoftware.com/idstuff/quake/q101-106.zip
  384.  
  385.   ╖  X11 Quake binary
  386.      ftp://ftp.idsoftware.com/idstuff/unsup/unix/quake.x11-1.0-i386-unknown-
  387.      linux2.0.tar.gz
  388.  
  389.   ╖  SVGAlib Quake binary
  390.      ftp://ftp.idsoftware.com/idstuff/unsup/squake-1.1-i386-unknown-
  391.      linux2.0.tar.gz
  392.  
  393.   ╖  OpenGL/Mesa Quake binary
  394.      ftp://ftp.idsoftware.com/idstuff/unsup/unix/glquake-0.97-i386-unknown-
  395.      linux2.0.tar.gz
  396.  
  397.   ╖  Linux QuakeWorld clients (X11, SVGAlib and GL clients are all in
  398.      this package)
  399.      ftp://ftp.idsoftware.com/idstuff/quakeworld/qwcl2.21-i386-unknown-
  400.      linux2.0.tar.gz
  401.  
  402.   ╖  Linux QuakeWorld server
  403.      ftp://ftp.idsoftware.com/idstuff/quakeworld/qwsv2.21-i386-unknown-
  404.      linux2.0.tar.gz
  405.  
  406.   Other software mentioned:
  407.  
  408.   ╖  lha compression utility
  409.      ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z.
  410.  
  411.   ╖  SVGAlib graphics library
  412.      http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.tar.gz
  413.  
  414.   ╖  Glide runtime libraries http://glide.xxedgexx.com/3DfxRPMS.html
  415.  
  416.  
  417.  
  418.   2.2.2.  Create the Installation Directory
  419.  
  420.   The first thing you'll need to do is decide where you  want to install
  421.   Quake.  Lots of folks like to put it in /usr/games/quake.  Anal system
  422.   administrator that I am, I choose to install anything that's not part
  423.   of my Linux distribution under /usr/local.  So for me, Quake goes in
  424.   /usr/local/games/quake.  If you choose to install somewhere else,
  425.   please substitute the appropriate path wherever /usr/local/games/quake
  426.   is mentioned.
  427.  
  428.   So go ahead and create the directory you'll install Quake in, and cd
  429.   to it.  The rest of these instructions will assume that this is your
  430.   current directory.
  431.  
  432.  
  433.  
  434.             mkdir /usr/local/games/quake
  435.             cd /usr/local/games/quake
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.   2.2.3.  Installing From a Quake CD
  443.  
  444.   If you're installing from a Quake CD-ROM, read on.  Otherwise you have
  445.   permission to skip this section.
  446.  
  447.   There are at least two versions of the Quake CD in circulation.  I've
  448.   got one from the early days that has Quake version 1.01 on it.  I've
  449.   seen other CDs that contain version 1.06.  You have 1.01 if you see
  450.   files on your CD called quake101.1 and quake101.2.  If instead you see
  451.   a file called resource.1 i, your disc is version 1.06.  Take a look at
  452.   your Quake CD now and determine which version you've got.  In the
  453.   example below, replace /dev/cdrom and /mnt/cdrom with the device file
  454.   and mount point appropriate for your sysem:
  455.  
  456.  
  457.  
  458.             mount -t iso9660 /dev/cdrom /mnt/cdrom
  459.             ls /mnt/cdrom
  460.  
  461.  
  462.  
  463.   ╖  If you discovered you have a 1.06 CD, you can skip the rest of this
  464.      paragraph.  If your CD is version 1.01, you should probably install
  465.      under DOS or Windows, upgrade to 1.06 and then copy the .pak files
  466.      over as described in section ``DOS/Windows to Linux Install''.
  467.      This is because the patch to upgrade Quake from version 1.01 to
  468.      1.06 is only available as an MS-DOS executable.  If you install
  469.      version 1.01, the unpatched pak0.pak could possibly cause problems
  470.      for you.  On my system, I've succesfully played through a few
  471.      levels with the latest binaries and the unpatched version 1.01 .pak
  472.      files, but your mileage may vary.  (Note: it is possible to run the
  473.      Quake install program and the patch program in a dosemu session.
  474.      I've done it, but I'll leave the specifics of this operation as an
  475.      exercise for the reader.)  I don't recommend it, but if you want to
  476.      live dangerously, or you don't have any other options, follow these
  477.      instructions:
  478.  
  479.  
  480.   ╖  Concatenate the two resource files from your CD to a single file on
  481.      your hard disk:
  482.  
  483.  
  484.             cat /mnt/cdrom/quake101.1 /mnt/cdrom/quake101.2 > resource.1
  485.  
  486.  
  487.  
  488.  
  489.  
  490.   ╖  Now continue on to the next paragraph, but when I refer to
  491.      /mnt/cdrom/resource.1, you should use
  492.      /usr/local/games/quake/resource.1 instead.
  493.  
  494.  
  495.  
  496.  
  497.   ╖  If you have the version 1.06 CD or you've decided to live
  498.      dangerously in the  previous paragraph, it's time to extract the
  499.      Quake files.  The resource.1 file on your CD is really an lha
  500.      archive (lha is a file compression and archiving format like zip or
  501.      tar).  We'll use the lha(1) command to extract it.  If lha is not
  502.      already installed on your system, you can get it from
  503.      ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z.
  504.  
  505.  
  506.  
  507.             lha e /mnt/cdrom/resource.1
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.   When lha is done, your Quake directory will contain a bunch of new
  515.   files.  A directory called id1/ will also be created.  The files in
  516.   this directory are the only ones that are important for Linux Quake,
  517.   so you can safely remove everything else.  If you're totally new to
  518.   Quake, or even if you're not, you may want to hang on to the *.txt
  519.   files.  On my system, I throw all the readmes that accumulate into a
  520.   doc/ directory.  So:
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.        cd /usr/local/games/quake
  530.        mkdir doc
  531.        mv *.txt doc
  532.        rm -f *
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.   That's it for installing from the CD.  You can jump ahead to section
  540.   "``Installing the Linux Binaries''" now.
  541.  
  542.  
  543.   2.2.4.  DOS/Windows to Linux Install
  544.  
  545.   If you have Quake installed under Windows or DOS on a different
  546.   machine, you can transfer the files in quake\id1\ to your Linux system
  547.   via FTP or some other mechanism.  Keep in mind that the filenames on
  548.   your Linux system must be in lower case for Quake to find them, so you
  549.   may have to rename them after the transfer.  Also note that it may be
  550.   necessary to delete your DOS/Win installation after you do this to
  551.   remain in compliance with the terms of id's software license.  It's
  552.   not my fault if you do something illegal.
  553.  
  554.   If your DOS/Win and Linux systems are on the same machine, you have
  555.   two options: copy the files from your DOS/Windows partition to your
  556.   Linux partition, or link to the necessary files from Linux.  Both
  557.   options will work equally well.  You just save around 50 megabytes of
  558.   disk space when you link instead of copy.
  559.  
  560.   Whatever you choose to do, start by cd'ing to your Quake directory and
  561.   creating a new directory below it called id1:
  562.  
  563.  
  564.  
  565.             cd /usr/local/games/quake
  566.             mkdir id1
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.   ╖  If you want to copy the files from your DOS/Windows partition, do
  574.      something like this:
  575.  
  576.  
  577.  
  578.             cp /win95/games/quake/id1/*.pak id1
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.   ╖  To create links to your DOS/Windows Quake files instead, do this:
  586.  
  587.  
  588.  
  589.             cd id1
  590.             ln -s /win95/games/quake/id1/*.pak .
  591.  
  592.  
  593.  
  594.  
  595.   As usual, replace /win95/games/quake with the correct path to your
  596.   DOS/Windows partition and Quake installation.
  597.  
  598.   The Quake data files are now installed.  Move ahead to "``Installing
  599.   the Linux Binaries''".
  600.  
  601.  
  602.   2.2.5.  Shareware Version Install
  603.  
  604.   The single-episode shareware version of Quake is freely available for
  605.   download from id's ftp site.  It has all the features of the full
  606.   version, with a couple of major limitations:  You can't play
  607.   QuakeWorld with it, and you can't play custom or modified levels.
  608.  
  609.   Installing the shareware version of Quake isn't really much different
  610.   than installing from the CD.
  611.  
  612.   See section ``Download the Necessary Files'' for the location of the
  613.   shareware distribution.  Download it and extract it to your Quake
  614.   directory:
  615.  
  616.  
  617.  
  618.             cd /usr/local/games/quake
  619.             unzip -L /wherever/you/put/it/quake106.zip
  620.  
  621.  
  622.  
  623.  
  624.  
  625.   Now you've got (among others) a file called resource.1 that's really
  626.   an lha archive (lha is a file compression and archiving format like
  627.   zip or tar).  We'll use the lha(1) command to extract it.  If lha is
  628.   not already installed on your system, you can get it from
  629.   ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z.
  630.  
  631.  
  632.  
  633.             lha e resource.1
  634.  
  635.  
  636.  
  637.  
  638.  
  639.   When lha is done, your Quake directory will contain a bunch of new
  640.   files.  A directory called id1/ will also be created.  The files in
  641.   this directory are the only ones that are important for Linux Quake,
  642.   so you can safely remove everything else.  If you're totally new to
  643.   Quake, or even if you're not, you may want to hang on to the *.txt
  644.   files.  On my system, I throw all the readmes that accumulate into a
  645.   doc/ subdirectory.  So:
  646.  
  647.  
  648.  
  649.             cd /usr/local/games/quake
  650.             mkdir doc
  651.             mv *.txt doc
  652.             rm -f *
  653.  
  654.  
  655.  
  656.  
  657.  
  658.   Now you're ready to install the Linux binaries.
  659.  
  660.  
  661.   2.3.  Adding the Linux Binaries
  662.  
  663.   Decide which of the three flavors of Quake you'd like to install:
  664.  
  665.   ╖  X11 Quake allows you to run Quake in a window on your X desktop.
  666.      It's the least exciting client, but it's a great, safe way to test
  667.      your installation.
  668.  
  669.   ╖  Squake is the SVGAlib Quake client.  It runs full screen on your
  670.      console.
  671.  
  672.   ╖  GLQuake is the OpenGL Quake client.  If you've got a 3Dfx card,
  673.      this is a must have!
  674.  
  675.   Download the packages you want (see section ``Download the Necessary
  676.   Files'') and extract them to your Quake directory like so:
  677.  
  678.  
  679.  
  680.             cd /usr/local/games/quake
  681.             tar -xzf XXXX-i386-unknown-linux2.0.tar.gz
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.   2.4.  Setting Permissions **
  689.  
  690.   Quake and QuakeWorld servers can be run by any user.  The Quake
  691.   clients, however,  need access to your sound and graphics cards, which
  692.   requires privileges that normal users don't have.  One (bad) way to
  693.   deal with this is to always run Quake as root.  Responsible system
  694.   administrators will cringe at this filthy suggestion.  Making the
  695.   Quake binaries setuid root is a more acceptable solution.  Quake can
  696.   then be run by regular users and still have the privileges it needs to
  697.   access the sound and graphics devices.  Setuid presents a security
  698.   risk, though.  A clever user could exploit a bug or security hole in
  699.   Quake to gain root access to your system.  Of course, if you don't run
  700.   a multi-user system, this is may not be a big concern.
  701.  
  702.   If you plan to run squake, make it setuid root with the following
  703.   commands:
  704.  
  705.  
  706.             chown root squake
  707.             chmod 4755 squake
  708.  
  709.  
  710.  
  711.  
  712.  
  713.   If you've decided it's ok to run quake.x11 and glquake setuid root on
  714.   your system, you can repeat the above commands for these binaries and
  715.   skip the rest of this section.  If you'd rather configure your system
  716.   to run quake.x11 and/or glquake without setuid permissions,  see
  717.   ``Running X and GL games      without setuid'' in the Tips and Tricks
  718.   section below.
  719.  
  720.  
  721.   2.5.  X11 Quake
  722.  
  723.   If you installed the X11 client, now's a good time to try it out.  You
  724.   may need to do further configuration for glquake and squake, but at
  725.   this point quake.x11 should be ready to go.
  726.  
  727.             cd /usr/local/games/quake
  728.             ./quake.x11
  729.  
  730.  
  731.  
  732.  
  733.  
  734.   If all is well, a small Quake window should appear with the first demo
  735.   running in it.  You should hear sound effects and possibly music, if
  736.   the CD is mounted.  If any of this fails to occur, please see the
  737.   ``Troubleshooting'' section for help.
  738.  
  739.  
  740.   2.6.  SVGAlib Quake **
  741.  
  742.   Both squake and glquake require SVGAlib to run (glquake uses SVGAlib
  743.   to process keyboard and mouse input, in case you're wondering).
  744.   SVGAlib comes with most modern distributions, and must be properly
  745.   configured before squake or glquake will run correctly.
  746.  
  747.   libvga.config is SVGAlib's configuration file.  On most systems you'll
  748.   find it in either /etc or /etc/vga.  Make sure the mouse, monitor, and
  749.   video card settings in this file are correct for your system.  See the
  750.   SVGAlib documentation for more details.
  751.  
  752.   If you don't already have SVGAlib on your system, it's available at
  753.   http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.tar.gz If
  754.   you have a RedHat 5.x or other glibc-based Linux distribution, see
  755.   ``Glibc, RedHat 5.x, Debian 2 considerations'' in the
  756.   Troubleshooting/FAQs section for important information about compiling
  757.   libraries for Quake.
  758.  
  759.   Note: you should run squake from a virtual console.  It won't run from
  760.   X unless you're root when you start it.  And running a game as the
  761.   root user is something that should be avoided.  So if you're in X, do
  762.   a CTRL+ALT+F1, login and then:
  763.  
  764.  
  765.  
  766.             cd /usr/local/games/quake
  767.             ./squake
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.   2.7.  GLQuake **
  775.  
  776.   Hardware-accelerated OpenGL Quake is Quake the way God intended it to
  777.   be.  There is no substitute, and once you've experienced it there's no
  778.   going back.
  779.  
  780.   You need a 3D card with the Voodoo, Voodoo2 or Voodoo Rush graphics
  781.   chipset on it.  There are specific issues to be dealt with if you have
  782.   a Voodoo Rush card, and I won't go into them now because frankly, I
  783.   wouldn't know what I was talking about.  A future version of this
  784.   HOWTO will cover Rush issues (If somebody wants to write about Voodoo
  785.   Rush issues, I'll gladly include it here).
  786.  
  787.   Bernd Kreimeier's (bk@gamers.org) Linux 3Dfx HOWTO
  788.   (http://www.gamers.org/dEngine/xf3D/howto/3Dfx-HOWTO.html) is good
  789.   source for further information.
  790.  
  791.   The 3dfx.glide.linux newsgroup on the 3dfx news server (news.3dfx.com)
  792.   is another good source of information about the intersection of Linux,
  793.   glide, Mesa and Quake.
  794.  
  795.  
  796.   2.7.1.  SVGAlib
  797.  
  798.   glquake uses SVGAlib to get input from the mouse and keyboard, so
  799.   you'll need to configure it as outlined in section ``SVGAlib Quake''.
  800.  
  801.  
  802.   2.7.2.  Glide
  803.  
  804.   Glide is a library that provides an API for programming 3Dfx based
  805.   cards.  If you want the Mesa graphics library to use your 3Dfx card,
  806.   you've gotta have it.
  807.  
  808.   The latest version of glide can always be found at
  809.   http://glide.xxedgexx.com/3DfxRPMS.html.  Select the package(s)
  810.   appropriate for your system, and install according to the instructions
  811.   on the web page.
  812.  
  813.   Note that unless you download the 3Dfx device driver package in
  814.   addition to the Glide library, you will only be able to run Glide
  815.   applications (like GLQuake) as root.  Install the /dev/3dfx module and
  816.   you can play GLQuake as a regular user.
  817.  
  818.   Once you have glide installed, try out the test program that comes
  819.   with it.  Remember this program:  it's a good way to reset your
  820.   display if you ever have a glide application (like GLQuake) crash and
  821.   leave your screen switched off.  NOTE: run this test from a VC, not X!
  822.   It's possible for the test app to lose mouse and keyboard focus in X,
  823.   and then you'll have no way of shutting it down.
  824.  
  825.  
  826.  
  827.             /usr/local/glide/bin/test3Dfx
  828.  
  829.  
  830.  
  831.  
  832.  
  833.   Your screen should turn blue and prompt you to hit any key.  After you
  834.   press a key you should be returned to the prompt.  3dfx.glide.linux on
  835.   3dfx's news server (news.3dfx.com) is a great source of information
  836.   for Linux glide-specific problems.
  837.  
  838.  
  839.   2.7.3.  Mesa **
  840.  
  841.   Once glide's installed, you need to install Mesa, a free OpenGL
  842.   implementation by Brian Paul (brianp@elastic.avid.com).  Luckily, you
  843.   won't have to look far, because Mesa 2.6 is included with the QLQuake
  844.   & QuakeWorld binaries.  All you have to do is move it to the right
  845.   place:
  846.  
  847.  
  848.  
  849.             cd /usr/local/games/quake
  850.             cp libMesaGL.so.2.6 /usr/local/lib
  851.             ldconfig
  852.  
  853.  
  854.  
  855.  
  856.  
  857.   If you want to upgrade Mesa to a more recent version (Mesa 3.0 should
  858.   be released very soon), you can download the latest from
  859.   ftp://iris.ssec.wisc.edu/pub/Mesa If you have a RedHat 5.x or other
  860.   glibc-based Linux distribution, see ``Glibc, RedHat 5.x, Debian 2
  861.   considerations'' in the Troubleshooting/FAQs section for important
  862.   information about compiling libraries for Quake.
  863.  
  864.   After you've built it according to the instructions, you will have to
  865.   do two things:
  866.  
  867.  
  868.   ╖  Remove your old Mesa installation.  If you previously installed a
  869.      libMesaGL.so.2.6 as described above, you must remove it or Quake
  870.      may not use the new version.
  871.  
  872.  
  873.  
  874.             cd /usr/local/lib/
  875.             rm -f libMesaGL.so.2*
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.   ╖  If the new Mesa has a major version number that's greater than 2,
  883.      you need to create a link to it with the name libMesaGL.so.2:
  884.  
  885.  
  886.  
  887.             cd /usr/local/lib/
  888.             ln -s /wherever/you/installed/it/libMesaGL.so.3.0 libMesaGL.so.2
  889.             ldconfig
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.   Now switch to a VC (CTRL+ALT+F1)  and start glquake.
  897.  
  898.  
  899.  
  900.             cd /usr/local/games/quake
  901.             ./glquake
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.   2.8.  Linux-Specific Command Line Options
  910.  
  911.   This section will cover command line options that are specific to the
  912.   Linux versions of Quake.  There are plenty of other Quake options, but
  913.   they're beyond the scope of this HOWTO.  Check out some of the sites
  914.   listed in section ``General Quake Information'' for this kind of
  915.   information.
  916.  
  917.  
  918.      -mem num
  919.         Specify memory in megabytes to allocate (default is 8MB, which
  920.         should be fine for most needs).
  921.  
  922.  
  923.      -nostdout
  924.         Don't do any output to stdout.  Use this if you don't want all
  925.         the console output dumped to your terminal.
  926.  
  927.  
  928.      -mdev device
  929.         Mouse device, default is /dev/mouse
  930.  
  931.  
  932.      -mrate speed
  933.         Mouse baud rate, default is 1200
  934.  
  935.  
  936.      -cddev device
  937.         CD device, default is /dev/cdrom
  938.  
  939.  
  940.      -mode num
  941.         Use indicated video mode (squake only)
  942.  
  943.  
  944.      -nokdb
  945.         Don't initialize keyboard
  946.  
  947.  
  948.      -sndbits 8 or 16
  949.         Set sound bit sample size.  Default is 16 if supported.
  950.  
  951.  
  952.      -sndspeed speed
  953.         Set sound speed.  Usual values are 8000, 11025, 22051 and 44100.
  954.         Default is 11025.
  955.  
  956.  
  957.      -sndmono
  958.         Set mono sound
  959.  
  960.  
  961.      -sndstereo
  962.         Set stereo sound (default if supported)
  963.  
  964.  
  965.   2.9.  QuakeWorld
  966.  
  967.   http://www.quakeworld.net says it better than I could:
  968.  
  969.  
  970.        QuakeWorld is an Internet multi-player specific version of
  971.        Quake.  While the original version of Quake can be played
  972.        over the Internet, modem users - the majority of players,
  973.        had less than satisfactory play. Symptoms like excessive lag
  974.        - actions actually happening much later than you did them;
  975.        packet loss - the game would freeze and resume several sec¡
  976.        onds later; and various other difficulties plagued users.
  977.        After realizing how many people played Quake on the inter¡
  978.        net, and how many wanted to, but couldn't due to the play
  979.        being unsatisfactory, John Carmack of id Software decided to
  980.        create a version of Quake that was optimized for the average
  981.        modem Internet player. This Internet specific version does
  982.        only 1 thing, play deathmatch games over a TCP/IP network
  983.        such as the Internet. It has no support for solo play, and
  984.        you can't do anything with out connecting to a special
  985.        server.
  986.  
  987.  
  988.   You need the full, registered or retail version of Quake to play
  989.   QuakeWorld, and a Linux QuakeWorld client.  Like the regular Quake
  990.   clients for Linux, QuakeWorld clients also come in three flavors: X11,
  991.   SVGAlib and Mesa/GL.  This time, though, they're all in the same
  992.   package, so you only need to download one file.  See the section
  993.   ``Download the Necessary Files'' for the location of the Linux
  994.   Quakeworld files.
  995.  
  996.   The prerequisites and configuration for these binaries are the same as
  997.   for Quake, so refer to the previous sections for help on setting up
  998.   SVGAlib or glide/Mesa.
  999.  
  1000.   To install, just untar the file in your Quake directory and set the
  1001.   right permissions on the binaries:
  1002.  
  1003.  
  1004.  
  1005.             cd /usr/local/games/quake
  1006.             tar -xzf qwcl2.21-i386-unknown-linux2.0.tar.gz
  1007.             su root
  1008.             chown root glqwcl qwcl qwcl.x11
  1009.             chmod 4755 glqwcl qwcl qwcl.x11
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.   And you're done! QuakeWorld is now installed.  To connect to a
  1016.   QuakeWorld server, start it up like so:
  1017.  
  1018.  
  1019.  
  1020.             ./qwcl +connect some.server.address
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.   See section ``Related Software'' for info about some nifty front ends
  1027.   for QuakeWorld.
  1028.  
  1029.  
  1030.   2.10.  Servers
  1031.  
  1032.   It's beyond the scope of this document to try to say all there is
  1033.   about QuakeWorld servers.  That's already covered elsewhere, and done
  1034.   better than I could do it.  Most, if not all, information about
  1035.   running a DOS/Windows QW server is equally applicable to running a
  1036.   Linux server.
  1037.  
  1038.   To start a QuakeWorld server, simply do:
  1039.  
  1040.  
  1041.  
  1042.             ./qwsv
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.   The official QuakeWorld server manual lives at
  1049.   http://qwcentral.stomped.com.
  1050.  
  1051.  
  1052.   2.11.  Mods & Addons
  1053.  
  1054.   One of the very cool things about the Quake games is that the authors
  1055.   made them easily extensible.  End users can create their own levels,
  1056.   add new weapons or monsters, or even completely change the rules of
  1057.   the game.
  1058.  
  1059.  
  1060.   2.11.1.  Capture the Flag
  1061.  
  1062.   This is my favorite variation of both Quake and Quake 2.  Instead of
  1063.   just running around and killing everyone you meet (which definitely
  1064.   has its merits, don't get me wrong!), CTF is team-based and more
  1065.   strategic.  Dave 'Zoid' Kirsch, also the maintainer of the Linux Quake
  1066.   ports, created this mod.
  1067.  
  1068.   Everything you need to know about CTF can be found at
  1069.   http://captured.com/threewave/  You need
  1070.   ftp://ftp.cdrom.com/pub/quake/planetquake/threewave/ctf/client/3wctfc.zip
  1071.   to play.  To install the client piece of CTF, simply create a
  1072.   directory called ctf in your Quake directory and unzip the 3wctfc.zip
  1073.   file there.  The accompanying readme.txt file is chock full of good
  1074.   information.
  1075.  
  1076.  
  1077.  
  1078.             cd /usr/local/games/quake
  1079.             mkdir ctf
  1080.             cd ctf
  1081.             unzip -L /wherever/you/put/it/3wctfc.zip
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.   For information on running a CTF server, see the web pages mentioned
  1088.   above.
  1089.  
  1090.  
  1091.   2.11.2.  Mission Packs
  1092.  
  1093.   Activision released two add-on packs of extra levels for Quake,
  1094.   Scourge of Armagon and Dissolution of Eternity.
  1095.  
  1096.  
  1097.   ╖  Mission Pack 1: The Scourge of Armagon Assuming your CD is mounted
  1098.      on /mnt/cdrom and Quake is installed in /usr/local/games/quake:
  1099.  
  1100.  
  1101.  
  1102.             cd /usr/local/games/quake
  1103.             mkdir hipnotic
  1104.             cp /mnt/cdrom/hipnotic/pak0.pak hipnotic
  1105.             cp /mnt/cdrom/hipnotic/config.cfg hipnotic
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.   Play the mission pack like this:
  1113.  
  1114.  
  1115.             cd /usr/local/games/quake
  1116.             ./quake.x11 -game hipnotic
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.   ╖  Mission Pack 2: Dissolution of Eternity I don't have this mission
  1124.      pack, so I can't give you specifics.  No doubt you can use the
  1125.      instructions for Mission Pack 1 and improvise.  If somebody has
  1126.      this CD and wants to share their knowledge, please let me know.
  1127.  
  1128.  
  1129.   2.11.3.  Quake Tools
  1130.  
  1131.   Anybody care to contribute some info about qcc, bsp and all that?
  1132.  
  1133.  
  1134.  
  1135.   3.  Quake II
  1136.  
  1137.   To install Quake II on your Linux system, you'll need some flavor of
  1138.   the official Quake II distribution from id.  This will be either the
  1139.   retail Windows CD-ROM that you bought at your favorite software store,
  1140.   or the demo version you downloaded from the net.  See ``Download the
  1141.   Necessary Files'' for details on acquiring the demo version.
  1142.   Alternatively, if you've already got Quake installed on a Windows
  1143.   machine, you can use the relevant files from that installation.
  1144.  
  1145.  
  1146.   3.1.  Prerequisites
  1147.  
  1148.   You will need, as a bare minimum, the following:
  1149.  
  1150.  
  1151.   ╖  A Pentium 90 or better (133 recommended) computer
  1152.  
  1153.   ╖  16 MB RAM (24 recommended)
  1154.  
  1155.   ╖  The Quake 2 CD-ROM or the demo version (q2-314-demo-x86.exe)
  1156.  
  1157.   ╖  Linux kernel version 2.0.24 or later
  1158.  
  1159.   ╖  libc 5.2.18 or later (libc6+ will not work)
  1160.  
  1161.   ╖  One of the following:
  1162.  
  1163.   ╖  X11 server that supports the MITSM shared memory extension. 8 and
  1164.      16 bit displays are supported.   (for X renderer)
  1165.  
  1166.   ╖  SVGAlib 1.2.10 or later (for SVGA and GL renderer)
  1167.  
  1168.   ╖  25-400 megabytes free disk space (depends on how you install)
  1169.  
  1170.   ╖  Access to the root account of the machine you're installing on
  1171.  
  1172.  
  1173.   Optional:
  1174.  
  1175.   ╖  A supported soundcard
  1176.  
  1177.   ╖  A 3Dfx VooDoo Graphics or VooDoo2 3D graphics accelerator card.
  1178.  
  1179.   ╖  3Dfx glide libraries installed (for GL renderer)
  1180.  
  1181.   ╖  Mesa 2.6beta3 or later (for GL renderer)
  1182.  
  1183.  
  1184.   3.2.  Installing Quake II
  1185.  
  1186.  
  1187.  
  1188.  
  1189.   3.2.1.  Download the Necessary Files
  1190.  
  1191.   All the necessary files for Linux Quake II are available at id
  1192.   Software's ftp site, ftp.idsoftware.com.  This site can be quite busy
  1193.   at times,so you may want to use one of these mirror sites instead:
  1194.  
  1195.   ╖  ftp.cdrom.com/pub/idgames/idstuff (California, USA)
  1196.  
  1197.   ╖  ftp.gamesnet.net/idsoftware (California, USA)
  1198.  
  1199.   ╖  ftp.stomped.com/pub/mirror/idstuff (Minnesota, USA)
  1200.  
  1201.   ╖  mirrors.telepac.pt/pub/idgames (Lisbon, Portugal)
  1202.  
  1203.   ╖  download.netvision.net.il/pub/mirrors/idsoftware (Haifa, Israel)
  1204.  
  1205.   The Quake II files mentioned in in this section are:
  1206.  
  1207.   ╖  Quake II Linux Binaries
  1208.      ftp.idsoftware.com/idstuff/quake2/unix/quake2-317-i386-unknown-
  1209.      linux2.0.tar.gz
  1210.  
  1211.   ╖  Quake II Demo Version for Windows
  1212.      ftp://ftp.idsoftware.com/idstuff/quake2/q2-314-demo-x86.exe
  1213.  
  1214.   ╖  Quake II Game Source
  1215.      ftp://ftp.idsoftware.com/idstuff/quake2/source/q2source-3.14.shar.Z
  1216.  
  1217.   ╖  Quake II Capture the Flag
  1218.      ftp://ftp.idsoftware.com/idstuff/quake2/ctf/102.zip
  1219.  
  1220.   Other software mentioned:
  1221.  
  1222.   ╖  SVGAlib graphics library
  1223.      http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.tar.gz
  1224.  
  1225.   ╖  Glide runtime libraries http://glide.xxedgexx.com/3DfxRPMS.html
  1226.  
  1227.   ╖  Mesa 3D graphics library http://www.ssec.wisc.edu/~brianp/Mesa.html
  1228.  
  1229.  
  1230.   3.2.2.  Create the Installation Directory
  1231.  
  1232.   The first thing you'll need to do is decide where you  want to install
  1233.   Quake II.  Lots of folks like to put it in /usr/games/quake.  Anal
  1234.   system administrator that I am, I choose to install anything that's
  1235.   not part of my Linux distribution under /usr/local.  So for me, Quake
  1236.   II goes in /usr/local/games/quake2.  If you choose to install
  1237.   somewhere else, please substitute the appropriate path wherever
  1238.   /usr/local/games/quake2 is mentioned.
  1239.  
  1240.   So go ahead and create the directory you'll install Quake II in, and
  1241.   cd to it.  The rest of these instructions will assume that this is
  1242.   your current directory.
  1243.  
  1244.  
  1245.  
  1246.             mkdir /usr/local/games/quake2
  1247.             cd /usr/local/games/quake2
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.   3.2.3.  Installing from CD
  1256.  
  1257.   Place your Quake II CD in your CD ROM drive, and mount it:
  1258.  
  1259.  
  1260.  
  1261.             mount -t iso9660 /dev/cdrom /mnt/cdrom
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.   If your CDROM is typically mounted elsewhere, substitute its location
  1268.   for /mnt/cdrom.  If you're not sure where your CDROM is mounted,
  1269.   please see the documentation for your particular distribution.
  1270.  
  1271.  
  1272.   ╖  Full Install The simplest install method is a "full" install, which
  1273.      involves copying the contents of your CD to your hard drive.  This
  1274.      takes about 350 MB, and is accomplished by issuing the following
  1275.      commands:
  1276.  
  1277.  
  1278.  
  1279.             cd /usr/local/games/quake2
  1280.             cp -r /mnt/cdrom/Install/Data/* .
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.   There'll be a bunch of unnecessary Windows files hanging around that
  1288.   you can safely delete:
  1289.  
  1290.  
  1291.  
  1292.             rm -f /usr/local/quake2/*.dll
  1293.             rm -f /usr/local/quake2/quake2.exe
  1294.             rm -f /usr/local/quake2/baseq2/gamex386.dll
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.   ╖  Medium Install If 450 MB is too much space for you to devote to
  1303.      Quake II, you can skip installing the movie cutscenes and link to
  1304.      them on the CD-ROM instead.  This will reduce the space
  1305.      requirements to about 200 MB:
  1306.  
  1307.  
  1308.  
  1309.             cd /usr/local/games/quake2
  1310.             mkdir baseq2
  1311.             cp /mnt/cdrom/Install/Data/baseq2/pak0.pak baseq2
  1312.             cp -r /mnt/cdrom/Install/Data/baseq2/players baseq2
  1313.             ln -s /mnt/cdrom/Install/Data/baseq2/video baseq2/video
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.   3.2.4.  Windows to Linux install
  1322.  
  1323.   If you have Quake II installed under Windows on a different machine,
  1324.   you can transfer the files in quake2\baseq2\ to your Linux system via
  1325.   FTP or some other mechanism.  Keep in mind that the filenames on your
  1326.   Linux system must be in lower case for Quake II to find them, so you
  1327.   may have to rename them after the transfer.  Also note that it may be
  1328.   necessary to delete your Windows installation after you do this to
  1329.   remain in compliance with the terms of id's software license.  It's
  1330.   not my fault if you do something illegal.
  1331.  
  1332.   If your Windows and Linux systems are on the same machine, you have
  1333.   two options: copy the files from your Windows partition to your Linux
  1334.   partition, or link to the necessary files from Linux.  Both options
  1335.   will work equally well.  You'll just save a lot of disk space when you
  1336.   link instead of copy.  As usual, replace /win95/games/quake2 in the
  1337.   examples above with the correct path to your Windows partition and
  1338.   Quake II installation.
  1339.  
  1340.  
  1341.   ╖  If you want to copy the files from your Windows partition, do
  1342.      something like this:
  1343.  
  1344.  
  1345.  
  1346.             cd /usr/local/games/quake2
  1347.             cp -r /win95/games/quake2/baseq2 .
  1348.  
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354.   ╖  To create links to your Windows Quake II files instead, do this:
  1355.  
  1356.  
  1357.  
  1358.             cd /usr/local/games/quake2
  1359.             ln -s /win95/games/quake2/baseq2 .
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.   This method requires that the Windows partition you're installing from
  1367.   be writeable by users, which may not be appropriate for all systems.
  1368.   By making your Windows partition writeable, you are giving all users
  1369.   the opportunity to destroy your entire Windows installation.  If
  1370.   that's ok with you (you fool!), modify your /etc/fstab to mount the
  1371.   Windows partition with the options umask=002,gid=XXX, where XXX is the
  1372.   group id number of the "users" group.  Look in /etc/group for this
  1373.   information.  When fstab is updated, umount and re-mount the Windows
  1374.   partition and you're done.
  1375.  
  1376.   You're done installing the Quake II data files.  Move ahead to
  1377.   "``Installing the Linux Binaries''".
  1378.  
  1379.  
  1380.  
  1381.   3.2.5.  Installing the demo version
  1382.  
  1383.   id Software has a freely available demo version of Quake II at their
  1384.   ftp site.  It's a 40 megabyte download.  I can't speak for its
  1385.   features or lack thereof at this time, because I don't have it to
  1386.   install on my system.
  1387.   See the section ``Download the Necessary Files'' above for the
  1388.   location of the Quake II demo.  Download it and place it in your Quake
  1389.   II directory.
  1390.  
  1391.   The demo distribution is a self-extracting zip file (it's self-
  1392.   extracting in other OS's anyway).  You can extract it with the
  1393.   unzip(1) command, which should be included in most modern
  1394.   distributions.  If you don't have unzip, it's available at
  1395.   http://sunsite.unc.edu/pub/Linux/utils/compress/unzip-5.31.tar.gz.
  1396.  
  1397.   cd to your Quake II directory and extract the archive:
  1398.  
  1399.  
  1400.  
  1401.             cd /usr/local/games/quake2
  1402.             unzip q2-314-demo-x86.exe
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.   Now we've got to delete some things and move some other things around:
  1409.  
  1410.  
  1411.             rm -rf Splash Setup.exe
  1412.             mv Install/Data/baseq2 .
  1413.             mv Install/Data/DOCS docs
  1414.             rm -rf Install
  1415.             rm -f baseq2/gamex86.dll
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.   The Quake II demo is now installed.  You just need to add the Linux
  1422.   binaries.
  1423.  
  1424.  
  1425.   3.3.  Adding the Linux Binaries
  1426.  
  1427.   Download the Quake II Linux distribution and extract it to your Quake
  1428.   II directory like so:
  1429.  
  1430.  
  1431.  
  1432.             cd /usr/local/games/quake2
  1433.             tar -xzf quake2-317-i386-unknown-linux2.0.tar.gz
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.   3.3.1.  Note about the 3.17 distribution
  1441.  
  1442.   Two text files (quake2.conf and fixperms.sh) in the 3.17 distribution
  1443.   were inadvertently saved in MS-DOS CR/LF text-file format instead of
  1444.   the unix LF format.  This means there's an extra carriage return
  1445.   character at the end of each line in these files and they're not going
  1446.   to behave right until you fix them.
  1447.  
  1448.   Fix the first one by deleting it.  We'll re-create it in just a
  1449.   second.
  1450.  
  1451.  
  1452.  
  1453.        rm -f quake2.conf
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.   The other file we'll run through tr(1) to strip out the CR's.
  1460.  
  1461.  
  1462.  
  1463.             mv fixperms.sh fixperms.bak
  1464.             tr -d '\r' < fixperms.bak > fixperms.sh
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.   3.4.  Setting Permissions **
  1472.  
  1473.   The fixperms.sh script sets permissions on the quake2 executable and
  1474.   the ref_*.so libraries.  It makes quake2 setuid root, so that the
  1475.   SVGAlib renderer can access your graphics card.  Run the fixperms.sh
  1476.   script now to set proper permissions on quake2 and the libraries:
  1477.  
  1478.  
  1479.            sh fixperms.sh
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.   If you plan to only run Quake II with the GL or X renderers, you
  1486.   quake2 doesn't need to be setuid root.  See ``Running     X and GL
  1487.   games without setuid'' in the Tips and Tricks section below for infor¡
  1488.   mation on running Quake II without root permissions.
  1489.  
  1490.  
  1491.   3.4.1.  Quake2.conf
  1492.  
  1493.   For security reasons, there is a quake2.conf file, which tells Quake
  1494.   II where to find certain files it needs (ref_*.so).  It has only one
  1495.   line in it, which should be the path to your Quake II installation.
  1496.   Quake II looks for this file in /etc.  Create it like so:
  1497.  
  1498.  
  1499.  
  1500.             cd /usr/local/games/quake2
  1501.             pwd > /etc/quake2.conf
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.   3.5.  The X Renderer
  1509.  
  1510.   Quake II should be ready to run under X now.  Give it a try:
  1511.  
  1512.  
  1513.  
  1514.             cd /usr/local/games/quake2
  1515.             ./quake2 +set vid_ref softx
  1516.  
  1517.  
  1518.  
  1519.   If all is well, after a pretty significant pause, a small Quake II
  1520.   window should appear with the first demo running in it.  You should
  1521.   hear sound effects and possibly music, if the CD is mounted.  If any
  1522.   of this fails to occur, please see section ``Troubleshooting'' for
  1523.   help.
  1524.  
  1525.  
  1526.   3.6.  The SVGAlib Renderer **
  1527.  
  1528.   You need SVGAlib installed and configured if you're going to use
  1529.   either the ref_soft or ref_gl renderers.  (Quake II uses SVGAlib to
  1530.   process keyboard and mouse input, in case you're wondering why you'd
  1531.   need it for the GL renderer).   SVGAlib comes with most modern
  1532.   distributions, and must be properly configured before Quake II will
  1533.   run correctly outside of X.
  1534.  
  1535.   libvga.config is SVGAlib's configuration file.  On most systems you'll
  1536.   find it in either /etc or /etc/vga.  Make sure the mouse, monitor, and
  1537.   video card settings in this file are correct for your system.  See the
  1538.   SVGAlib documentation for more details.
  1539.  
  1540.   If you don't already have SVGAlib on your system, it's available at
  1541.   http://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.tar.gz If
  1542.   you have a RedHat 5.x or other glibc-based Linux distribution, see
  1543.   ``Glibc, RedHat 5.x, Debian 2 considerations'' in the
  1544.   Troubleshooting/FAQs section for important information about compiling
  1545.   libraries for Quake.
  1546.  
  1547.   Note: you should run Quake from a virtual console when using the
  1548.   ref_soft or ref_gl renderers.  It won't run from X unless you're root
  1549.   when you start it, and that's not advisable. So if you're in X, do a
  1550.   CTRL+ALT+F1, login and then:
  1551.  
  1552.  
  1553.  
  1554.             cd /usr/local/games/quake2
  1555.             ./quake2
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.   3.7.  The OpenGL Renderer
  1563.  
  1564.   Hardware-accelerated OpenGL Quake is Quake the way God intended it to
  1565.   be.  There is no substitute, and once you've experienced it there's no
  1566.   going back.
  1567.  
  1568.   You need a 3D card with the Voodoo, Voodoo2 or Voodoo Rush graphics
  1569.   chipset on it.  There are specific issues to be dealt with if you have
  1570.   a Voodoo Rush card, and I won't go into them now because frankly, I
  1571.   wouldn't know what I was talking about.  A future version of this
  1572.   HOWTO will cover Rush issues (If somebody wants to write about Voodoo
  1573.   Rush, I'll glady include it here).
  1574.  
  1575.   As of this writing, the 3Dfx HOWTO
  1576.   (http://sunsite.unc.edu/LDP/HOWTO/3Dfx-HOWTO.html) is somewhat out of
  1577.   date, but it may still prove helpful.  And although some people there
  1578.   will hate me for saying this, the 3dfx.glide.linux newsgroup on the
  1579.   3dfx news server (news.3dfx.com) is another good source of information
  1580.   about the intersection of Linux, glide, Mesa and Quake.
  1581.  
  1582.  
  1583.  
  1584.  
  1585.   3.7.1.  SVGAlib
  1586.  
  1587.   Quake II uses SVGAlib to get input from the mouse and keyboard, so
  1588.   you'll need to configure it as outlined in section ``SVGAlib
  1589.   Renderer'' section.
  1590.  
  1591.  
  1592.   3.7.2.  Glide
  1593.  
  1594.   Glide is a library that provides an API for programming 3Dfx based
  1595.   cards.  If you want the Mesa graphics library to use your 3Dfx card,
  1596.   you've gotta have it.
  1597.  
  1598.   The latest version of glide can always be found at
  1599.   http://glide.xxedgexx.com/3DfxRPMS.html.  Select the package(s)
  1600.   appropriate for your system, and install according to the instructions
  1601.   on the web page.  3dfx.glide.linux on 3dfx's news server
  1602.   (news.3dfx.com) is a great source of information for Linux glide-
  1603.   specific problems.
  1604.  
  1605.   Note that unless you download the 3Dfx device driver package in
  1606.   addition to the Glide library, you will only be able to run Glide
  1607.   applications (like GLQuake) as root.  Install the /dev/3dfx module and
  1608.   you can play GLQuake as a regular user.
  1609.  
  1610.   Once you have glide installed, try out the test program that comes
  1611.   with it.  Remember this program:  it's a good way to reset your
  1612.   display if you ever have a glide application (like GLQuake) crash and
  1613.   leave your screen switched off.  NOTE: run this test from a VC, not X!
  1614.   It's possible for the test app to lose mouse and keyboard focus in X,
  1615.   and then you'll have no way of shutting it down.
  1616.  
  1617.  
  1618.  
  1619.             /usr/local/glide/bin/test3Dfx
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.   Your screen should turn blue and prompt you to hit any key.  After you
  1626.   press a key you should be returned to the prompt.
  1627.  
  1628.  
  1629.   3.7.3.  Mesa **
  1630.  
  1631.   Once glide's installed, you need to install Mesa, a free OpenGL
  1632.   implementation by Brian Paul (brianp@elastic.avid.com).  Luckily, you
  1633.   won't have to look far, because Mesa 2.6 is included with the Quake II
  1634.   binaries.  All you have to do is move it to the right place:
  1635.  
  1636.  
  1637.  
  1638.             cd /usr/local/games/quake2
  1639.             cp libMesaGL.so.2.6 /usr/local/lib
  1640.             ldconfig
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.   If you want to upgrade Mesa to a more recent version (Mesa 3.0 should
  1647.   be released very soon), you can download the latest from
  1648.   ftp://iris.ssec.wisc.edu/pub/Mesa If you have a RedHat 5.x or other
  1649.   glibc-based Linux distribution, see ``Glibc, RedHat 5.x, Debian 2
  1650.   considerations'' in the Troubleshooting/FAQs section for important
  1651.   information about compiling libraries for Quake.
  1652.  
  1653.  
  1654.   After you've built it according to the instructions, you will have to
  1655.   do two things:
  1656.  
  1657.  
  1658.   ╖  Remove your old Mesa installation.  If you previously installed a
  1659.      libMesaGL.so.2.6 as described above, you must remove it or Quake II
  1660.      may not use the new version.
  1661.  
  1662.  
  1663.  
  1664.             cd /usr/local/lib/
  1665.             rm -f libMesaGL.so.2*
  1666.  
  1667.  
  1668.  
  1669.  
  1670.  
  1671.  
  1672.   ╖  If the new Mesa has a major version number that's greater than 2,
  1673.      you need to create a link to it with the name libMesaGL.so.2:
  1674.  
  1675.  
  1676.  
  1677.             cd /usr/local/lib/
  1678.             ln -s /wherever/you/installed/it/libMesaGL.so.3.0 libMesaGL.so.2
  1679.             ldconfig
  1680.  
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.   Now switch to a VC (CTRL+ALT+F1)  and start Quake II:
  1687.  
  1688.  
  1689.  
  1690.             cd /usr/local/games/quake2
  1691.             ./quake2 +set vid_ref gl
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.   3.8.  Linux-Specific Command Line Options
  1699.  
  1700.   This section will cover command line options that are specific to the
  1701.   Linux version of Quake II.  There are plenty of other Quake II
  1702.   options, but they're beyond the scope of this HOWTO.  Check out some
  1703.   of the sites listed in section ``General Quake Information'' for this
  1704.   kind of information.
  1705.  
  1706.   These are actually cvars (client variables) that you can set in the Q2
  1707.   console, but it makes the most sense to set them on the command line.
  1708.   Set them with +set on the command line, like:
  1709.  
  1710.  
  1711.  
  1712.             ./quake2 +set cd_dev /dev/hdc
  1713.  
  1714.  
  1715.  
  1716.  
  1717.      cd_dev device
  1718.         Name of the CD-ROM device.
  1719.  
  1720.  
  1721.      nocdaudio value
  1722.         Disable CD audio if value is nonzero
  1723.  
  1724.  
  1725.      sndbits num
  1726.         Set  sound bit sample size.  Default is 16.
  1727.  
  1728.  
  1729.      sndspeed num
  1730.         Set sound sample speed.  Usual values are 8000, 11025, 22051 and
  1731.         44100.  If set to zero, causes the sound driver to attempt
  1732.         speeds in the following order: 11025, 22051, 44100, 8000.
  1733.  
  1734.  
  1735.      sndchannels num
  1736.         Indicates stereo or mono sound.  Defaults to 2 (stereo). Use 1
  1737.         for mono.
  1738.  
  1739.  
  1740.      nostdout value
  1741.         Don't do any output to stdout.  Use this if you don't want all
  1742.         the console output dumped to your terminal.
  1743.  
  1744.  
  1745.   3.9.  Quake II Servers
  1746.  
  1747.   Linux's strength as an internet server make it a perfect platform for
  1748.   running an internet Quake II server.  This section will touch on the
  1749.   basics and Linux-specific aspects of starting up a Quake II server.
  1750.   More detailed information about running Quake II servers is available
  1751.   elsewhere (see section ``Other Sources of Information'' earlier in
  1752.   this document.
  1753.  
  1754.  
  1755.   3.9.1.  Listen Servers
  1756.  
  1757.   You can start a Quake II "Listen" server from within the game via the
  1758.   Multiplayer menu.  This allows you to host a game and participate in
  1759.   it at the same time.
  1760.  
  1761.   To start a Listen server, start Quake II, bring up the Quake II menu
  1762.   with the ESC key, and select Multiplayer.  It should be pretty self-
  1763.   explanatory from there.
  1764.  
  1765.  
  1766.   3.9.2.  Dedicated Servers
  1767.  
  1768.   For a permanent, stand-alone Quake II server that needs to run without
  1769.   constant attention, using the Listen server is impractical.  Quake II
  1770.   has a Dedicated server mode that is better suited to this type of use.
  1771.   A dedicated server is started from the command line and uses fewer
  1772.   system resources than a Listen server because it doesn't start the
  1773.   graphical client piece at all.
  1774.  
  1775.   To start a dedicated server, use the command line option +set
  1776.   dedicated 1.  You can set additional server parameters either on the
  1777.   command line or in a config file that you +exec on the command line.
  1778.   Your config file should reside in the baseq2 directory.
  1779.  
  1780.   A few common server options are listed below.  To set options on the
  1781.   command line, do +set fraglimit 30.  Options are set the same way in a
  1782.   config file, only you don't want the + before the set.  Invoke your
  1783.   config file like this: +exec server.cfg.
  1784.  
  1785.  
  1786.      fraglimit
  1787.         Number of frags required before the map changes
  1788.  
  1789.      timelimit
  1790.         Time in minutes that must pass before the map changes
  1791.  
  1792.      hostname
  1793.         The name of your Quake II server.  This is an arbitrary string
  1794.         and has nothing to do with your DNS hostname.
  1795.  
  1796.      maxclients
  1797.         The maximum number of players that can connect to the server at
  1798.         once.
  1799.  
  1800.   For enough Quake II console and command line information to choke a
  1801.   horse, see Farenheit 176 (http://www.planetquake.com/f176).
  1802.  
  1803.  
  1804.   3.9.3.  Other Sources of Server Information
  1805.  
  1806.  
  1807.   ╖  The Q2 Server FAQ has a basic step-by-step guide to set up a Q2
  1808.      Server under Linux: http://www.bluesnews.com/faqs/q2s-faq.html
  1809.  
  1810.   ╖  Grant Cornelius Reticulus Copernicus Sperry (flubber@xmission.com)
  1811.      has some basic Q2 server config files and startup scripts at
  1812.      http://www.atomicage.com:80/quake/server/server_cfg/.
  1813.  
  1814.  
  1815.  
  1816.   3.10.  Mods & Addons
  1817.  
  1818.   Quake II modifications like Capture the Flag, Jailbreak, and Lithium
  1819.   II are very popular extensions of the original Quake II game.  Some
  1820.   mods reside entirely on the server (Lithium), and some require changes
  1821.   to your client (CTF).  For server only mods, you just connect normally
  1822.   and play.  Client-side mods require you to install additional files in
  1823.   your quake2 directory before you can play.
  1824.  
  1825.  
  1826.   3.10.1.  Client Side Mods
  1827.  
  1828.   Generally, installation of a client-side mod consists of just
  1829.   downloading the client package and upacking it in your Quake II
  1830.   directory, but you should refer to the mod's documentation for
  1831.   specific details.  It may be necessary to download a Linux-specific
  1832.   package in addition to the main client package.  Also be aware that
  1833.   all mods may not be available for Linux.
  1834.  
  1835.   Client-side mod packages usually contain a new gamei386.so file and
  1836.   one or more .pak files.  Other new files may be included as well.
  1837.   These new files will be installed in a subdirectory below your Quake
  1838.   II directory.  Use +set game mod-dir on the command line to run the
  1839.   mod.  Rocket Arena 2, for example, gets installed in a directory
  1840.   called arena.  To play RA2, start your client like so:
  1841.  
  1842.  
  1843.              ./quake2 +set game arena
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.   3.10.1.1.  Capture the Flag
  1850.  
  1851.   Since this is by far the most popular variation of multiplayer Quake
  1852.   II, I've included specific instructions for installing this mod.
  1853.   Capture the Flag for Quake II is available from id's ftp site.
  1854.   Download it and install like so:
  1855.  
  1856.  
  1857.  
  1858.             cd /usr/local/games/quake2
  1859.             mkdir ctf
  1860.             cd ctf
  1861.             unzip -L /wherever/you/put/it/q2ctf102.zip
  1862.  
  1863.  
  1864.  
  1865.  
  1866.  
  1867.   Start Quake II with +set game ctf to play CTF.
  1868.  
  1869.  
  1870.   3.10.2.  Server Side Mods
  1871.  
  1872.   Running a Quake II mod on a server isn't much different than running
  1873.   one on the client side.  Generally you'll need to install gamei386.so
  1874.   and server.cfg files in a new subdirectory and then start your server
  1875.   like
  1876.  
  1877.  
  1878.             ./quake2 +set game XXXX +set dedicated 1 +exec server.cfg
  1879.  
  1880.  
  1881.  
  1882.  
  1883.  
  1884.   Where XXXX above is the name of the mod's new subdirectory.  The exact
  1885.   procedure will vary from mod to mod, of course.  See the mod's docu¡
  1886.   mentation for specific details.
  1887.  
  1888.  
  1889.   3.10.3.  Game Source
  1890.  
  1891.   The entire game, with the exception of the engine itself, resides in a
  1892.   shared library, gamei386.so.  Quake II mods are created by changing
  1893.   the contents of this file.  The C source is freely available (section
  1894.   ``Download the Necessary Files'' above) for anyone to download and
  1895.   modify.
  1896.  
  1897.   After you've downloaded the source, here's how to get started with it:
  1898.  
  1899.  
  1900.  
  1901.              cd /usr/local/games/quake2
  1902.              mkdir mymod
  1903.              cd mymod
  1904.              gunzip /wherever/you/put/it/q2source-3.14.shar.Z
  1905.              sh /wherever/you/put/it/q2source-3.14.shar
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.   You'll be presented with a bunch of legalese that you must answer yes
  1912.   to, then the game source will be extracted.  Building a new
  1913.   gamei386.so out of these sources is accomplished with a simple make.
  1914.   You can run Quake II with the newly compiled library like so:
  1915.              cd /usr/local/games/quake2
  1916.              ./quake2 +set game mymod
  1917.  
  1918.  
  1919.  
  1920.  
  1921.  
  1922.   Not too exciting yet, since what you just built is identical to the
  1923.   "stock" gamei386.so, but this should be good information for aspiring
  1924.   mod authors.
  1925.  
  1926.  
  1927.   3.10.4.  Mission Packs
  1928.  
  1929.  
  1930.   ╖  Mission Pack 1: The Reckoning This is currently the only official
  1931.      mission pack available for Quake II.  It requires Quake II version
  1932.      3.15 or later to run.  You'll need at least 95 MB for a minimum
  1933.      installation.  Another 90 MB are required if you want to install
  1934.      the video sequences as well.  Assuming your CD is mounted on
  1935.      /mnt/cdrom and Quake II is installed in /usr/local/games/quake2:
  1936.  
  1937.  
  1938.  
  1939.             cd /usr/local/games/quake2
  1940.             cp -r /mnt/cdrom/Data/all/* xatrix/
  1941.             rm -f xatrix/gamex86.dll
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.   If you want to install the video sequences:
  1949.  
  1950.  
  1951.  
  1952.             cp -r /mnt/cdrom/Data/max/xatrix/video xatrix
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.   Play The Reckoning like this:
  1960.  
  1961.  
  1962.             cd /usr/local/games/quake2
  1963.             ./quake2 +set game xatrix
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.   4.  Related Software
  1972.  
  1973.  
  1974.  
  1975.   4.1.  QStat
  1976.  
  1977.   Qstat is a command line based program that returns the status of
  1978.   internet Quake, QuakeWorld, and Quake 2 servers created by Steve
  1979.   Jankowski mailto:steve@activesw.com.
  1980.  
  1981.   Here's the feature summary from the QStat homepage:
  1982.  
  1983.   ╖  Supports Windows 95, NT, and most Unixes
  1984.  
  1985.   ╖  Comes with C source code and a binary for Windows
  1986.  
  1987.   ╖  Supports old Quake (NetQuake), QuakeWorld, Hexen II, and Quake II
  1988.      servers
  1989.  
  1990.   ╖  Can display all available statistics, including player info and
  1991.      server rules
  1992.  
  1993.   ╖  Output templates for automatic HTML generation
  1994.  
  1995.   ╖  Raw display mode for integration with HTML page generators
  1996.  
  1997.   ╖  Built-in host name cache
  1998.  
  1999.   ╖  Sort by ping time, game, or both
  2000.  
  2001.   ╖  More options than you can wiggle a mouse at
  2002.  
  2003.   Qstat is a must-have tool if you're planning on doing any net play.  A
  2004.   number of front-ends for qstat have been written as well.  Some of
  2005.   them are listed later in this section.
  2006.  
  2007.   You can get the latest version of qstat from the QStat Homepage
  2008.   (http://www.activesw.com/people/steve/qstat.html.
  2009.  
  2010.  
  2011.   4.2.  XQF ++
  2012.  
  2013.   XQF is a graphical front-end to QStat that uses the GTK toolkit.  This
  2014.   is the best QuakeWorld/Quake2 server browser that currently exists,
  2015.   and Roman Pozlevich (roma@botik.ru), is still cranking out revisions
  2016.   at the rate of about one per month.
  2017.  
  2018.   If you're familiar with GameSpy for the Windows platform, this is the
  2019.   closest thing to it for Linux.
  2020.  
  2021.   The XQF homepage is at http://www.linuxgames.com/xqf.
  2022.  
  2023.  
  2024.   4.3.  QuickSpy
  2025.  
  2026.   QuickSpy is a text-based QuakeWorld server browser.  It's another
  2027.   front-end to QStat and it works pretty well.  If you don't run X and
  2028.   you don't have Quake II, this is a decent option.  Beware though, it's
  2029.   no longer under development.
  2030.  
  2031.  
  2032.   You can get QuickSpy at
  2033.   http://diana.ecs.soton.ac.uk/~rht96r/quake/quickspy/.
  2034.  
  2035.  
  2036.   4.4.  QPlug for Linux
  2037.  
  2038.   Qplug is a Netscape plugin which retrieves and displays QuakeWorld and
  2039.   Quake II server information embedded in a web page. A Windows Qplug
  2040.   has been around for some time.  The author, Olivier Debon
  2041.   (odebon@club-internet.fr) wrote the Linux version from scratch without
  2042.   ever having seen the Windows version.
  2043.  
  2044.   QPlug for Linux can be got at
  2045.   http://www.geocities.com/TimesSquare/Labyrinth/5084/qplug.html.
  2046.  
  2047.   4.5.  qkHacklib
  2048.  
  2049.   David Bucciarelli (tech.hmw@plus.it), author of the 3Dfx driver for
  2050.   Mesa, has written a library called qkHack, which tries to emulate all
  2051.   the SVGAlib/fxMesa functions used by Quake and Quake II.  This would
  2052.   remove the need for SVGAlib when running glquake or Quake II with
  2053.   ref_gl.  Other features from the qkHacklib README:
  2054.  
  2055.  
  2056.   ╖  You can dynamically switch between fullscreen rendering and the in
  2057.      window rendering just pressing the TAB key (you must start your X
  2058.      server in 16 bpp mode in order to use this feature)
  2059.  
  2060.   ╖  You can press Ctrl-C in the shell or kill the Quake process without
  2061.      problems
  2062.  
  2063.   ╖  you can enable/disable the mouse and keyboard 'grabbing' pressing
  2064.      F11/F12
  2065.  
  2066.   ╖  you can iconify and pause Quake pressing the F10 (it will not eat
  2067.      more CPU cycles). You can restart everything with a double click in
  2068.      the "****" icon
  2069.  
  2070.   ╖  you can run Quake with any Mesa driver (for example with the X11
  2071.      driver but you must recompile the Mesa without the Voodoo driver)
  2072.  
  2073.   ╖  you can run Quake under any Linux box and get the hardware
  2074.      acclerated output on a SGI box (OK, this is a bit exotic and
  2075.      theoretical as feature but it is an example of how powerful can be
  2076.      an GLX/OpenGL application)
  2077.  
  2078.   I've tried qkHacklib and it works great for Quake on my system.  In
  2079.   Quake II, however, the mouse response becomes really slow.  Others
  2080.   report complete success, though, so give it a try it it sounds like
  2081.   something you need.
  2082.  
  2083.   David Bucciarelli's qkHacklib web page is at http://www-
  2084.   hmw.caribel.pisa.it/fxmesa/fxqkhack.html.
  2085.  
  2086.  
  2087.   4.6.  GiMd2Viewer
  2088.  
  2089.   GiMd2Viewer is a Quake 2 model viewer written for Gtk and OpenGL by
  2090.   Lionel Ulmer (bbrox@mygale.org). It loads models and textures from
  2091.   either plain files or .PAK files.  It will also animate the models
  2092.   (with frame interpolation).
  2093.  
  2094.   This program is still under developement and I haven't tried it yet,
  2095.   but it sounds pretty nifty.  Check it out at
  2096.   http://www.mygale.org/~bbrox/GiMd2Viewer/.
  2097.  
  2098.  
  2099.   4.7.  QIPX
  2100.  
  2101.   QIPX is a set of programs that allow Linux Quake clients (using
  2102.   TCP/IP) to connect with DOS Quake clients (using IPX).  I guess this
  2103.   is useful if you're playing netquake on a LAN.  QIPX is available at
  2104.   http://www.geocities.com/SiliconValley/Park/6083/qipx.html.
  2105.  
  2106.  
  2107.   4.8.  Ice ++
  2108.  
  2109.   Ice is a Quake map editor for UN*X created by C.J. Beyer and John
  2110.   Watson.  I haven't used this program, nor do I know what its
  2111.   development status is.  The Ice homepage is at
  2112.   http://styx.phy.vanderbilt.edu/~ice/.
  2113.   4.9.  Q2getty **
  2114.  
  2115.   Q2getty is a hack of mingetty by Mike Gleason (mgleason@ncftp.com)
  2116.   that allows you to automatically run and respawn a program (like a
  2117.   Quake server) on a virtual console.  This program is available in the
  2118.   files section at //www.ncftpd.com/unixstuff/q2getty.html.
  2119.  
  2120.  
  2121.   4.10.  rcon ++
  2122.  
  2123.   Rcon is a pair of tools that allow remote administration of a Quake II
  2124.   server using the RCON protocol.  Michael Dwyer
  2125.   (michael_dwyer@mwiworks.com) is the author.  Rcon 1.1 is available at
  2126.   .
  2127.  
  2128.  
  2129.   5.  Troubleshooting/FAQs
  2130.  
  2131.  
  2132.  
  2133.   5.1.  General
  2134.  
  2135.  
  2136.  
  2137.   5.1.1.  OS difference considerations ++
  2138.  
  2139.  
  2140.   ╖  Case sensitivity - In DOS and Windows, case is not important.
  2141.      BASE1.TXT is the same as base1.txt.  Under Linux and other unices,
  2142.      case IS significant.  MOTD.TXT and motd.txt are different files.
  2143.      This can cause problems with player models and skin files if
  2144.      they're installed with upper- or mixed-case filenames.
  2145.      players/male/santa.PCX needs to be renamed to santa.pcx in order to
  2146.      work in Linux.  The fixskins.sh script included with quakeworld
  2147.      will convert all filenames in a directory to lowercase. It's
  2148.      reproduced below for your convenience:
  2149.  
  2150.  
  2151.             #!/bin/sh
  2152.             for x in *; do
  2153.                y=`echo $x | tr '[A-Z]' '[a-z]'`
  2154.                if [ $x != $y ]; then
  2155.                   mv $x $y
  2156.                fi
  2157.             done
  2158.  
  2159.  
  2160.  
  2161.  
  2162.  
  2163.  
  2164.   ╖  Path delimiters - DOS and Windows use the backslash "\" character
  2165.      to separate file pathname elements.  In Unix, the backslash is an
  2166.      escape character.  If you use file pathnames in your config files
  2167.      (or your mod code, or anywhere else, for that matter), be sure
  2168.      you're using "/" and not "\".
  2169.  
  2170.   ╖  End of line characters - Under DOS/Windows, each line of a text
  2171.      file ends with a carriage return character (CR) and a linefeed
  2172.      character (LF).  Unix textfiles just have a linefeed at the end of
  2173.      each line.  Using DOS/Win formatted textfiles in Unix can cause all
  2174.      kinds of mysterious Quake problems.  Using the incorrectly
  2175.      formatted quake2.conf file from the Quake2 3.17 package, for
  2176.      example, gives the error "LoadLibrary("ref_XXX.so") failed: No such
  2177.      file or directory".  LMCTF-TE reports a floating point exception.
  2178.      If you've got an problem you can't explain, try removing the CRs
  2179.      from your text files:
  2180.  
  2181.  
  2182.             mv file.txt file.bak; tr -d '\r' < file.bak > file.txt
  2183.  
  2184.  
  2185.  
  2186.  
  2187.  
  2188.  
  2189.   5.1.2.  Glibc, RedHat 5.x, Debian 2 considerations **
  2190.  
  2191.   All of the Quake executables (and the Q2 ref_*.so libraries) were
  2192.   compiled with libc5.  Newer Linux distributions like RedHat 5.1 and
  2193.   Debian 2.0 use the incompatible glibc or libc6 as their default C
  2194.   library.  If you're running Quake on a glibc system, there are a few
  2195.   things to watch out for:
  2196.  
  2197.  
  2198.   ╖  Both RedHat 5 and Debian 2 have libc5 compatibility packages that
  2199.      allow you to run libc5-based applications.  Make sure you have
  2200.      these packages installed.  Both distributions put the libc5-based
  2201.      libraries in /usr/i486-linux-libc5/lib, I believe.
  2202.  
  2203.   ╖  Make sure Quake uses the correct libraries.  Create a script like
  2204.      the one below that points $LD_LIBRARY_PATH to your compatibility
  2205.      libraries directory before it runs Quake.
  2206.  
  2207.      ___________________________________________________________________
  2208.           #!/bin/sh
  2209.           export LD_LIBRARY_PATH=/usr/i486-linux-libc5/lib
  2210.           ./quake2 +set vid_ref gl $*
  2211.  
  2212.      ___________________________________________________________________
  2213.  
  2214.  
  2215.  
  2216.   ╖  If you are going to upgrade a library like SVGAlib or Mesa, it must
  2217.      be compiled with libc5 and friends.  Simply building a new library
  2218.      according its installation instructions will result in a library
  2219.      that is linked against your default library, glibc.  You must
  2220.      ensure your new library is linked only with libc5 and libc5-based
  2221.      libraries so it will be compatible with Quake.  See your
  2222.      distribution's documentation for information on linking to the non-
  2223.      default libraries.
  2224.  
  2225.  
  2226.  
  2227.   5.1.3.  My mouse doesn't work or seems to respond randomly.
  2228.  
  2229.  
  2230.   ╖  Is gpm running?  gpm is a program that enables you to cut and paste
  2231.      with the mouse in virtual consoles.  Many distributions enable it
  2232.      by default.  It may be interfering with Quake.  Check if it's
  2233.      running with the following command:
  2234.  
  2235.  
  2236.             ps aux | grep gpm
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.   If you get output like
  2243.  
  2244.  
  2245.        root      6115  0.0  0.4   832   316  ?  S   17:54   0:00 gpm -t PS/2
  2246.  
  2247.  
  2248.  
  2249.  
  2250.  
  2251.   then gpm is running and interfering with Quake.  gpm -k (as root)
  2252.   ought to stop gpm.  If it doesn't (gpm -k doesn't always work on my
  2253.   system),  kill gpm with the command killall gpm.
  2254.  
  2255.   If you never use gpm, you may want to stop it from running at startup.
  2256.   See the documentation for your distribution for information on how to
  2257.   do this.
  2258.  
  2259.  
  2260.   ╖  Is your mouse defined properly in libvga.config?  This file usually
  2261.      lives in /etc or /etc/vga.  Open it up and look for a line like
  2262.  
  2263.  
  2264.             mouse Microsoft
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270.   On my system, this is the first option in the file.  Make sure the
  2271.   mouse type is appropriate for your hardware.
  2272.  
  2273.  
  2274.   5.1.4.  My Microsoft Intellimouse or Logitech MouseMan+ isn't working
  2275.   correctly.
  2276.  
  2277.   SVGAlib, which handles mouse input for SVGA and GL Quake/QW/Q2, didn't
  2278.   directly support the Intellimouse until version 1.3.0.  If you have a
  2279.   version of SVGAlib prior to 1.3.0, you should upgrade, then use mouse
  2280.   type IntelliMouse (for serial mice) or IMPS2 (for PS/2 mice) in your
  2281.   libvga.config file.
  2282.  
  2283.  
  2284.   5.1.5.  My mouse is "laggy" and seems much slower than under Windows.
  2285.  
  2286.  
  2287.   ╖  For many people, just cranking up the value of sensitivity in the
  2288.      game console cures the problem.
  2289.  
  2290.   ╖  From Zoid's 1/7/98 .plan update:
  2291.  
  2292.        If you are experience video 'lag' in the GL renderer (the
  2293.        frame rate feels like it's lagging behind your mouse move¡
  2294.        ment) type "gl_finish 1" in the console. This forces update
  2295.        on a per frame basis.
  2296.  
  2297.  
  2298.  
  2299.   ╖  The latest version of SVGAlib (1.3.0) provides a slew of parameters
  2300.      in libvga.config that you can use to customize the behavior of your
  2301.      mouse.  With the proper settings it should be possible to make your
  2302.      mouse feel any way you want.  On my system, just changing
  2303.      mouse_accel_type to normal (default is power) gave me the results I
  2304.      wanted.  I haven't messed with the other settings, and I don't
  2305.      pretend to have a clue about what they all do.
  2306.  
  2307.  
  2308.  
  2309.  
  2310.  
  2311.   5.1.6.  I have a Voodoo2, and, when I try to run with the gl renderer,
  2312.   it reports that I don't have a Voodoo installed.
  2313.  
  2314.   There are different versions of Glide for Voodoo and Voodoo 2 cards.
  2315.   Be sure you downloaded the correct one for your system.
  2316.  
  2317.  
  2318.  
  2319.   5.1.7.  When I'm playing any of the Quake games under SVGAlib or GL
  2320.   and press CTRL-C, the game exits and sometimes leaves my console in an
  2321.   unusable state.
  2322.  
  2323.   Yes.  This bites.  SVGAlib catches the CTRL-C and decides what to do
  2324.   with it instead of allowing Quake to handle it.  I know of no way
  2325.   around this short of hacking SVGAlib.
  2326.  
  2327.   If you run your Quake games from a script like the one below, you'll
  2328.   run less chance of ending up with a hosed terminal if this does
  2329.   happen, though.
  2330.  
  2331.  
  2332.  
  2333.             #!/bin/sh
  2334.             ./quake2 $*
  2335.             kbd_mode -a
  2336.             reset
  2337.  
  2338.  
  2339.  
  2340.  
  2341.  
  2342.  
  2343.   5.1.8.  squake/quake2 fails to start and says " svgalib: cannot get
  2344.   I/O permissions"
  2345.  
  2346.   The Quake executables must run as root, so you must either run them as
  2347.   root or make them setuid root.  See the installation instructions in
  2348.   this document for details.
  2349.  
  2350.  
  2351.   5.1.9.  Sometimes after  playing one of the Quake games in X, key
  2352.   repeat doesn't work any more.
  2353.  
  2354.   For some reason, the X11 versions of Quake disable key repeat while
  2355.   they're running.  If the program exits abnormally for some reason, key
  2356.   repeat never get turned back on. Do
  2357.  
  2358.  
  2359.             xset r on
  2360.  
  2361.  
  2362.  
  2363.  
  2364.  
  2365.   to reenable it.
  2366.  
  2367.  
  2368.   5.1.10.  Quake/Quake II says "/dev/dsp : device not configured"
  2369.  
  2370.   Your sound hardware is not properly configured.  You may simply need
  2371.   to do a insmod sound, or it may be necessary to rebuild your kernel.
  2372.   RedHat users may need to invoke the sndconfig(8) utility.  See the
  2373.   documentation for your Linux distribution and/or the Linux Sound HOWTO
  2374.   for information on configuring your system's sound hardware.
  2375.  
  2376.  
  2377.   5.2.  Quake/QuakeWorld
  2378.  
  2379.  
  2380.   5.2.1.  Quake dies at startup with a segmentation fault.
  2381.  
  2382.   This usually means your network setup isn't right.  Try starting quake
  2383.   with the -noudp option and see if the error goes away.  If that fixes
  2384.   it, check your /etc/hosts file and verify there's an entry for your
  2385.   machine in it.  Use 127.0.0.1 for your IP address if you have a dialup
  2386.   account that gives you a different address each time you connect.
  2387.  
  2388.  
  2389.   5.3.  Quake II
  2390.  
  2391.  
  2392.   5.3.1.  When I try to run Quake II with the GL renderer, it fails and
  2393.   says "LoadLibrary("ref_gl.so") failed: Unable to resolve symbol"
  2394.  
  2395.   If immediately prior to the "Unable to resolve symbol" line, you have
  2396.   messages like "can't resolve symbol 'fxMesaCreateContext'", your Mesa
  2397.   library doesn't have glide support compiled in.  See section ``The GL
  2398.   renderer'' in the Quake II installation section for information on
  2399.   installing Mesa and glide.
  2400.  
  2401.  
  2402.   5.3.2.  I have a RedHat 5.x system.  I just built and installed Mesa
  2403.   3.0 beta X. Now Quake II segfaults when I try to use the ref_gl ren¡
  2404.   derer.
  2405.  
  2406.   Did you read Mesa's README.QUAKE before you installed Mesa?  This is a
  2407.   glibc problem.  Quake II was compiled with lib5.  All the libraries it
  2408.   loads must also have been built with libc5.
  2409.  
  2410.   David Bucciarelli (tech.hmw@plus.it) reported in 3dfx.glide.linux:
  2411.  
  2412.        I'm using the Mesa-3.0beta7 and the RedHat 5.1 and QuakeII
  2413.        is working fine for me.  I had only to make a small change
  2414.        to the Mesa-3.0/mklib.glide file, from:
  2415.  
  2416.        GLIDELIBS="-L/usr/local/glide/lib -lglide2x
  2417.        -L/usr/i486-linux-libc5/lib -lm"
  2418.  
  2419.        to:
  2420.  
  2421.        GLIDELIBS="-L/usr/i486-linux-libc5/lib -lglide2x"
  2422.  
  2423.        and to make two symbolic links:
  2424.  
  2425.        [david@localhost Mesa]$ ln -s libMesaGL.so libMesaGL.so.2
  2426.        [david@localhost Mesa]$ ln -s libMesaGLU.so libMesaGLU.so.2
  2427.  
  2428.  
  2429.   After correctly compiling the library, you should set your
  2430.   $LD_LIBRARY_PATH to /usr/i486-linux-libc5/lib before you run Quake II.
  2431.   There's a nice Quake II startup script in the README.QUAKE.
  2432.  
  2433.  
  2434.   5.3.3.  I have a RedHat 5.x system and when I try to run Quake II with
  2435.   the GL renderer, it fails with "unable to resolve symbol: IO_putc."
  2436.  
  2437.   Make sure you're loading the right libc.  Try:
  2438.  
  2439.  
  2440.  
  2441.  
  2442.  
  2443.        export LD_LIBRARY_PATH=/usr/i486-linux-libc5/lib
  2444.        ./quake2 +set vid_ref gl
  2445.  
  2446.  
  2447.  
  2448.  
  2449.  
  2450.  
  2451.   5.3.4.  Quake II fails with the message LoadLibrary("ref_XXX.so")
  2452.   failed: No such file or directory
  2453.  
  2454.  
  2455.   ╖  /etc/quake2.conf doesn't have the correct path to your Quake II
  2456.      directory in it.  This file should contain one line that is the
  2457.      directory Quake II lives in.
  2458.  
  2459.   ╖  If /etc/quake2.conf does contain the correct path, try removing the
  2460.      file and re-creating it by hand.  Some versions of Quake II for
  2461.      Linux included an incorrectly formatted quake2.conf file.
  2462.  
  2463.  
  2464.   ╖  Do you have SVGAlib installed?  Check /lib, /usr/lib and
  2465.      /usr/local/lib for a file called libvga.so.1.X.X, where the X's are
  2466.      some numbers.  If nothing turns up, you need to get and install
  2467.      SVGAlib to run Quake II outside of X.
  2468.  
  2469.   ╖  If the renderer in question is ref_gl.so, Mesa may not be properly
  2470.      installed.  Did you copy libMesaGL.so.2.6 to a library directory
  2471.      like the installation instruactions told you to?
  2472.  
  2473.  
  2474.   ╖  If the renderer in question is ref_gl.so, did you install the glide
  2475.      libraries?
  2476.  
  2477.  
  2478.   5.3.5.  Do I need to have my CD mounted to play the single-player mis¡
  2479.   sions?
  2480.  
  2481.  
  2482.   It depends.  The readme.linux says you do, and you do if you're using
  2483.   3.13 or earlier.  However, beginning with 3.15 (on all platforms) this
  2484.   checking was taken out, and you don't have to have your CD mounted in
  2485.   order to play single-player.
  2486.  
  2487.  
  2488.  
  2489.   5.3.6.  When I update the brightness while using the GL renderer, and
  2490.   hit "apply," nothing happens!
  2491.  
  2492.  
  2493.   Type vid_restart in the console to make the changes take affect.
  2494.  
  2495.  
  2496.  
  2497.   5.3.7.  When I try to run fixperms.sh , it says Command not found .
  2498.  
  2499.   fixperms.sh has MS-DOS line endings in 3.17.  See section ``Note about
  2500.   the 3.17 distribution'' for details on how to fix this.
  2501.  
  2502.  
  2503.   5.3.8.  Quake II and the GL renderer run slower in Linux than in Win¡
  2504.   dows. **
  2505.  
  2506.   Yes it is.  The simple fact of the matter is that, right now, the
  2507.   Windows GL "Quake II miniport" is heavily optimized for the things
  2508.   Quake II does.  Mesa on the other hand, is more general and less
  2509.   optimized As a result, Linux Quake II runs slower than under Windows.
  2510.   This isn't a limitation of Linux, but a limitation of the current
  2511.   drivers.  Regardless, we all owe a big debt to Daryll Strauss, who
  2512.   brought us the 3Dfx drivers, and Brian Paul, who brought us Mesa.
  2513.   Without them, we'd be stuck in software-rendering land, which is MUCH
  2514.   slower than what we have now.
  2515.  
  2516.   Additionally, for Pentium Pro and Pentium II users, there are some
  2517.   tweaks than can be done with memory buffering - the latest /dev/3dfx
  2518.   device driver has support for automatically setting this up for you.
  2519.  
  2520.   See http://glide.xxedgexx.com/MTRR.html for some more detailed
  2521.   information about this.
  2522.  
  2523.   Dave 'Zoid' Kirsch said in his 13 Aug 1998 .plan update that he has
  2524.   ported 3Dfx's OpenGL miniport to Linux.  This will be used in place of
  2525.   Mesa for GL Quake and Quake II.  Good news!
  2526.  
  2527.  
  2528.   6.  Tips & Tricks
  2529.  
  2530.  
  2531.  
  2532.  
  2533.   6.1.  Running X and GL games without setuid  **
  2534.  
  2535.   If you only run the X and GL versions of Quake, QuakeWorld or Quake
  2536.   II, you don't need to run them with root permissions.  SVGA is the
  2537.   only mode that must be run as root.  The X versions just need access
  2538.   to /dev/dsp, the sound device.  The GL versions need access to the
  2539.   3Dfx card as well as to /dev/dsp.
  2540.  
  2541.   /dev/dsp needs to be readable and writeable by Quake.  Most
  2542.   distributions give it 662 (rw-rw--w-) permissions by default.  The
  2543.   simplest solution is to just chmod 666 /dev/dsp.  On most systems, the
  2544.   ability to read from the sound device will not pose a significant
  2545.   security threat.  If this approach is unacceptable for your system,
  2546.   create a group that owns /dev/dsp and make your Quake players members
  2547.   of that group.
  2548.  
  2549.   You need the /dev/3dfx driver from Daryll Strauss' glide page
  2550.   (http://glide.xxedgexx.com/3DfxRPMS.html) in order run glide
  2551.   applications (like GLQuake) non-root.  Download the Device3Dfx.xxx.rpm
  2552.   package and install according to the instructions on the web page.
  2553.  
  2554.   When /dev/dsp and /dev/3dfx are properly set up, you can remove the
  2555.   setuid bit from your Quake/QW/Q2 executables.  Just do (as root) chmod
  2556.   0755 XXXXX, where XXXXX is either glquake, quake.x11, or quake2.
  2557.  
  2558.  
  2559.   6.2.  Running SVGA and GL games from X
  2560.  
  2561.   This is based on a Linux Gazette 2 Cent Tip by Joey Hess
  2562.   (joey@kite.ml.org) The original is at
  2563.   http://www.ssc.com/lg/issue20/lg_tips20.html#squake
  2564.  
  2565.   Yes, it's possible to run the Quake games from X if you're root, but
  2566.   such behavior is naughty, and you still run the risk of having Quake
  2567.   crash and leave the console unresponsive.  With a little work you can
  2568.   make it possible for a regular user to run SVGA and GL Quake from X
  2569.   AND automatically switch back to X when the program is finished,
  2570.   regardless of whether it exited normally or not.
  2571.  
  2572.   Note: when I say "Quake" in the text below, I really mean "quake,
  2573.   glquake squake, qwcl, glqwcl, qwcl.x11 or quake2".
  2574.  
  2575.   ╖  First, you'll need the open(1) package by Jon Tombs. This is a set
  2576.      of two very small programs that allow you to switch between virtual
  2577.      consoles and start programs on them.  Download open from
  2578.      http://sunsite.unc.edu/pub/Linux/utils/console/.  You shouldn't
  2579.      have to do much more than make;make install to compile and install
  2580.      it. Once it's installed, you need to make the open and switchto
  2581.      executables setuid root.  So do this:
  2582.  
  2583.  
  2584.             cd /usr/local/bin
  2585.             chown root open switchto
  2586.             chmod 4755 open switchto
  2587.  
  2588.  
  2589.  
  2590.  
  2591.  
  2592.  
  2593.   ╖  Next, save the following code to a file called getvc.c:
  2594.  
  2595.  
  2596.                /* getvc.c
  2597.                 * Prints the number of the current VC to stdout. Most of this code
  2598.                 * was ripped from the open program, and this code is GPL'd
  2599.                 *
  2600.                 * Joey Hess, Fri Apr  4 14:58:50 EST 1997
  2601.                 */
  2602.  
  2603.                 #include <sys/vt.h>
  2604.                 #include <fcntl.h>
  2605.  
  2606.                 main () {
  2607.                   int fd = 0;
  2608.                   struct vt_stat vt;
  2609.  
  2610.                   if ((fd = open("/dev/console",O_WRONLY,0)) < 0) {
  2611.                     perror("Failed to open /dev/console\n");
  2612.                     return(2);
  2613.                   }
  2614.                   if (ioctl(fd, VT_GETSTATE, &vt) < 0) {
  2615.                     perror("can't get VTstate\n");
  2616.                     close(fd);
  2617.                     return(4);
  2618.                   }
  2619.                   printf("%d\n",vt.v_active);
  2620.                 }
  2621.  
  2622.                 /* End of getvc.c */
  2623.  
  2624.  
  2625.  
  2626.  
  2627.  
  2628.   Compile it and install it somewhere in your $PATH:
  2629.  
  2630.  
  2631.             gcc getvc.c -o getvc
  2632.             strip getvc
  2633.             mv getvc /usr/local/bin
  2634.  
  2635.  
  2636.  
  2637.  
  2638.  
  2639.  
  2640.  
  2641.   ╖  Now create a script called runvc: your $PATH:
  2642.  
  2643.  
  2644.             #!/bin/sh
  2645.             # Run something on a VC, from X, and switch back to X when done.
  2646.             # GPL Joey Hess, Thu, 10 Jul 1997 23:27:08 -0400
  2647.             exec open -s -- sh -c "$* ; chvt `getvc`"
  2648.  
  2649.  
  2650.  
  2651.  
  2652.  
  2653.   Make it executable and put it somewhere in your $PATH:
  2654.  
  2655.  
  2656.             chmod 755 runvc
  2657.             mv runvc /usr/local/bin
  2658.  
  2659.  
  2660.  
  2661.  
  2662.  
  2663.  
  2664.   Now when you want to run Quake, use runvc to do it, and you'll auto¡
  2665.   matically switch to a VC, run Quake and then switch back to X when
  2666.   it's done!
  2667.  
  2668.  
  2669.  
  2670.   6.3.  Keeping the mouse inside the window in X
  2671.  
  2672.   From the Quake II readme.linux file:
  2673.  
  2674.        By default, the mouse will not be 'tied' to the Quake2 win¡
  2675.        dow.  To cause Quake2 to grab the mouse, select 'Windowed
  2676.        Mouse' from the video menu, or type '_windowed_mouse 0' at
  2677.        the console.  Do the reverse to release it.  You can bind
  2678.        keys to grab and release the mouse in the console, like so:
  2679.        bind i "_windowed_mouse 1" bind o "_windowed_mouse 0" Then
  2680.        "i" will grab the mouse and "o" will release it.
  2681.  
  2682.  
  2683.  
  2684.   6.4.  3Dfx "tweak" settings work in Linux too
  2685.  
  2686.   You may have seen or heard mention of ways to "tweak" Quake's OpenGL
  2687.   performance by setting various environment variables.  These variables
  2688.   are equally valid under Linux. You just set them slightly differently.
  2689.   If a Windows/DOS "tweak" guide tells you to:
  2690.  
  2691.  
  2692.             SET SST_GRXCLK=59
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.   Under Linux, do it like this:
  2699.  
  2700.  
  2701.             export SST_GRXCLK=59
  2702.  
  2703.  
  2704.  
  2705.  
  2706.  
  2707.   6.5.  The Poor Man's Server Browser
  2708.  
  2709.   Joe S. (jszabo@eden.rutgers.edu) suggests:
  2710.  
  2711.  
  2712.             a trick I do with qstat:
  2713.             I make a file of my favorite servers, then do
  2714.             qstat -f /C/quake2/file.txt | less
  2715.  
  2716.  
  2717.  
  2718.  
  2719.  
  2720.   hit control z to suspend, then copy the ip address or hostname I want
  2721.   with gpm to a command line like:
  2722.  
  2723.  
  2724.  
  2725.             ./quake2 +connect expert.eqclans.com
  2726.  
  2727.  
  2728.  
  2729.  
  2730.  
  2731.   Then I can use fg to go back to the list later...
  2732.  
  2733.  
  2734.  
  2735.   7.  Administrivia
  2736.  
  2737.  
  2738.  
  2739.   7.1.  New Versions of This Document **
  2740.  
  2741.   New versions of this document will be periodically posted to
  2742.   rec.games.computer.quake.misc and comp.os.linux.misc.
  2743.  
  2744.   The latest version of the Linux Quake HOWTO can always be found at the
  2745.   following sites:
  2746.  
  2747.  
  2748.   ╖  http://www.linuxquake.com/
  2749.  
  2750.   ╖  http://webpages.mr.net/bobz/
  2751.  
  2752.   ╖  http://www.linuxgames.com/quake
  2753.  
  2754.  
  2755.   7.2.  Other Formats of This Document
  2756.  
  2757.  
  2758.   This document is available in a variety of different formats.  Far
  2759.   more than is necessary, actually.  You can find them at
  2760.   http://www.linuxquake.com/howto/other-formats.
  2761.  
  2762.   ╖  ASCII text
  2763.  
  2764.   ╖  ASCII text with backspace-overstrikes , suitable for viewing with
  2765.      man(1)
  2766.  
  2767.   ╖  HTML all zipped up and ready to be dropped into your web site
  2768.  
  2769.   ╖  Postscript
  2770.  
  2771.   ╖  PRC for viewing on your Palm Pilot with Aportis Doc
  2772.  
  2773.   ╖  SGML
  2774.  
  2775.   ╖  LaTeX
  2776.  
  2777.   ╖  All of the above are also available in a single convenient package
  2778.  
  2779.  
  2780.   7.3.  Distribution Policy
  2781.  
  2782.  
  2783.   Copyright (c) 1998, Bob Zimbinski, Brett A. Thomas and Mike Hallock.
  2784.   This document may be distributed under the terms set forth in the LDP
  2785.   license at sunsite.unc.edu/LDP/COPYRIGHT.html.
  2786.  
  2787.   This HOWTO is free documentation; you can redistribute it and/or
  2788.   modify it under the terms of the LDP license.  This document is
  2789.   distributed in the hope that it will be useful, but without any
  2790.   warranty; without even the implied warranty of merchantability or
  2791.   fitness for a particular purpose.  Heck, even if this document kills
  2792.   your dog, it's not our fault.
  2793.  
  2794.   See the LDP license for more details.
  2795.  
  2796.  
  2797.   7.4.  Revision History **
  2798.  
  2799.   Sections of this document that were updated in the last revision have
  2800.   a ** after the section heading.  Sections updated in the revision
  2801.   prior to the last are marked with a ++.
  2802.  
  2803.   Below is the full revision history of this document.  It is not
  2804.   intended to be useful to anyone but the document authors.
  2805.  
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836.  
  2837.  
  2838.  
  2839.   ______________________________________________________________________
  2840.        $Log: Quake-HOWTO.sgml,v $
  2841.        Revision 1.0.1.11  1998/08/15 19:28:49  bobz
  2842.        Added glibc topic in Troubleshooting/FAQ section
  2843.        Moved non-setuid info to Tips & Tricks section
  2844.        Moved rcs log into Revision Hist section
  2845.        Changed distribution info a little until LDP wakes up
  2846.        Changed references to quake.medina.net to www.linuxquake.com
  2847.        Added linuxgames.com to list of places to get current version
  2848.        Changed 3dfx Howto pointer
  2849.        Moved explanation of change markings (** and ++) to intro section where they'll be noticed
  2850.        Mentioned zoid's GL driver port in the Win vs Linux FAQ
  2851.        Fixed credit and URL in q2getty
  2852.  
  2853.        Revision 1.0.1.10  1998/08/07 19:07:02  bobz
  2854.        Changed XQF url
  2855.        Added comments to the revision history section
  2856.        Started marking changed sections
  2857.        Added OS Considerations to troubleshooting section
  2858.        Added rcon to Other Software section
  2859.        Added ICE to Other Software section
  2860.  
  2861.        Revision 1.0.1.9  1998/08/04 21:06:22  bobz
  2862.        Updated Acknowledgements
  2863.        Added discussion of Quake security
  2864.        Added QIPX to "Related Software"
  2865.        Added ts topic about -noudp
  2866.  
  2867.        Revision 1.0.1.8  1998/08/03 22:09:28  bobz
  2868.        Updated and restructured the q2 mods section
  2869.        Minor change to gpm troubleshooting info
  2870.        Changed sound ts info
  2871.        Changed intellimouse ts info
  2872.  
  2873.        Revision 1.0.1.7  1998/08/03 04:55:21  mikeh
  2874.        Added "Playing" section of Q2 Mods & Addons section.
  2875.        Added "Intelimouse" section of Troubleshooting section
  2876.        Added RedHat sndconfig part to Troubleshooting section
  2877.        Fixed a few spacing problems, and one error message
  2878.  
  2879.        Revision 1.0.1.6  1998/08/03 02:01:13  bobz
  2880.        Changed abstract.
  2881.  
  2882.        Revision 1.0.1.5  1998/07/31 16:07:11  bobz
  2883.        Added gpm -k mention in mouse troubleshooting
  2884.        mentioned 'sensitivity' in mouse lag troubleshooting
  2885.        Added qstat|less tip
  2886.        Added "/dev/dsp not configured" to troubleshooting
  2887.        Slightly reworded part of the mod compiling section
  2888.        Added bit about running mods server side
  2889.        corrected required version # in q2 mission pack 1
  2890.        Updated acknowledgements section
  2891.  
  2892.        Revision 1.0.1.4  1998/07/30 21:08:46  bobz
  2893.        Fixed a problem with broken lines in <sect> tags
  2894.  
  2895.        Revision 1.0.1.3  1998/07/30 17:40:29  bobz
  2896.        Fixed broken link to Latex version.
  2897.  
  2898.        Revision 1.0.1.2  1998/07/30 15:46:40  bobz
  2899.        Test update.
  2900.  
  2901.        Revision 1.0.1.1  1998/07/30 15:43:59  bobz
  2902.        Changed version numbering scheme.
  2903.  
  2904.        Revision 1.10  1998/07/30 13:51:24  bobz
  2905.        Minor version reporting change
  2906.  
  2907.        Revision 1.9  1998/07/29 20:42:03  bobz
  2908.        Added some server links
  2909.  
  2910.        Revision 1.8  1998/07/29 17:37:15  bobz
  2911.        Added a Quake II model viewer to the Other Programs section
  2912.  
  2913.        Revision 1.7  1998/07/29 16:02:23  bobz
  2914.        Added some relative links in Other Formats to make it
  2915.        more portable.
  2916.  
  2917.        Revision 1.6  1998/07/29 15:18:12  bobz
  2918.        Version and date stamps back to the way they were
  2919.  
  2920.        Revision 1.5  1998/07/29 14:52:03  bobz
  2921.        Added tags for automatic timestamping
  2922.  
  2923.        Revision 1.4  1998/07/29 13:17:51  bobz
  2924.        Changed captured.com's web address per webmaster's request
  2925.  
  2926.        Revision 1.3  1998/07/29 02:11:02  bobz
  2927.        Ooops again.  Made "Other formats" a <sect> instead of a <sect1>.
  2928.  
  2929.        Revision 1.2  1998/07/29 01:55:41  bobz
  2930.        Oops.  I deleted the doctype tag...
  2931.  
  2932.        Revision 1.1  1998/07/29 01:48:34  bobz
  2933.        Added Other Formats section.
  2934.        Changed acknowledgments slightly
  2935.        Added ftp.medina.net to list of ftp sites.
  2936.  
  2937.        Revision 1.0 1998/07/28
  2938.        First publicly released version
  2939.  
  2940.        Revision 0.9 1998/07/25
  2941.        Restructured,rewritten and expanded by Bob Zimbinski.
  2942.  
  2943.        Revision 0.01 1998/06/16
  2944.        First Pre-Release version v0.01by Brett A. Thomas and Mike Hallock.
  2945.  
  2946.   ______________________________________________________________________
  2947.  
  2948.  
  2949.  
  2950.  
  2951.  
  2952.  
  2953.  
  2954.  
  2955.  
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967.  
  2968.  
  2969.  
  2970.  
  2971.