xpilot


     NAME
          xpilot - XPilot/UX  Multiplayer gravity war game client



     SYNOPSIS
          xpilot [-help] [-version] [-name nickname] [-team team-
          number] [-join] [-list] [-shutdown [message]] [-display
          string] [-port port-number] [configuration-options]
          [server-host ...]



     OVERVIEW
          XPilot is a multiplayer game which looks a bit like Thrust
          for the Commodore 64.  Thrust has some similarities with
          Atari's coin-up games Gravitar and Asteriods (not a
          misspelling) - they were the originals.  Several clones have
          appeared for various computers, among others Gravity Force
          for the Commodore Amiga.

          The main objective of the game varies as you can choose
          different game modes, although the only modes supported as
          of today are combat (optionally with teams and/or limited
          lives) and race.  The former mode focuses more strongly on
          shooting each other down, while the latter is more a
          piloting test than anything else.

          To start playing, you need to connect to a server by using a
          client program called xpilot.  If there are no servers
          running, you will have to start one of your own (see man-
          page xpilots(6)).



        Options
          -help          Prints some help, including commandline
                         options.

          -version       Prints the current version.

          -name player-name
                         Lets you use an alternative name during the
                         play (may be handy :).  If this option isn't
                         specified, and you haven't set the X resource
                         name, you will be known by your login name.

          -team team-number
                         Joins team number team-number.  See below for
                         notes about team play.  When the server is
                         not configured for team mode, this option has
                         no effect.

          -help          Prints a small usage message.

          -version       Prints version information.

          -join          Automatically joins the first server you get
                         response from.

          -list          Queries status information from all servers
                         found.

          -shutdown [message]
                         Sends a shutdown to the server, the message
                         part is optional.

          -name nick     Specifies your nick name.

          -team number   Specifies your wanted team number.

          -display display-string
                         Specifies which X server to contact.

          -port number   Specifies the port number to use when
                         contacting a server.

          configuration-options
                         All the X resource values can be configured
                         seperately from the command line.  For
                         example to change the ecm key to just `z'
                         use; -keyEcm z

          server-host    Tries to connect to server at host server-
                         host.  The default is to send a broadcast
                         query on your attached network.


     PROMPT COMMANDS
          When you startup xpilot without the -join option, you will
          get a prompt asking you for directions.  You may type h or ?
          to list the available commands.  These are quite obvious and
          deal with communication to the current server only.  You may
          enter the game by pressing CR (Return/Enter).

          If you are the owner of the server you will have a few extra
          options.  See xpilots(6).



     THE GRAPHICAL USER INTERFACE
          When you enter a game you will hopefully be presented a
          window.  This window is divided into three major areas:

               Radar       (Top left) This area shows the map the
                           server you are playing on is using as well
                           as the position of your fellow players (if
                           they aren't cloaked).  In race mode the
                           radar also outputs the position of the
                           control posts.  Players are shown as small
                           rectangles The player you are currently
                           locked onto is shown as a flashing
                           rectangle.

                           The server can optionally display missiles,
                           mines and/or bombs (moving mines) on this
                           radar, and will display them using
                           different symbols; missiles are quick
                           flashing small dots, mines and bombs slow
                           flashing small dots.  If nuclear mines or
                           missiles are launched the radar can detect
                           the high energy radation emiited and will
                           show these types of weapons on the radar as
                           alternating small and large rectangles.
                           The radar always has a limited range for
                           these objects, due to their small size.
                           The maximum range depends on how much fuel
                           you are carrying.


               Rating list (Bottom left) This area shows the list of
                           players (sorted with respect to their
                           rating, or `score') currently logged on the
                           server.  The player with the highest
                           <rating>/<num of times died> ratio - that
                           is, the most `deadly' player - is
                           underlined with a stipled line.

                           First on each line, you might find a letter
                           which gives you some information about the
                           status of the player: R means the player is
                           a robot, T means the player is not a player
                           but a detached tank, D means player is dead
                           (only possible in limited lives mode), P
                           means the player is paused and W means the
                           player is waiting to join the game after
                           login (in limited lives mode).

                           Depending on the current game mode, you
                           will also find information about which
                           teams each player belong to and how many
                           lives each player has left.


               Game area   (Right) This is where the action is.  Most
                           notably you will see your fighter in the
                           middle of the screen, hopefully you won't
                           see any shots or explosions yet!

                           You may also see some strange blue drawings
                           surrounding your fighter - this is the HUD
                           (Head Up Display) which greatly simplifies
                           and compresses the information you need to
                           know.  Currently, the HUD displays the
                           following information:

                    Bonus items You may notice some symbols and
                                numbers on the left side of the HUD,
                                these indicate which, and what
                                quantity, of extra equipment you have.
                                This list can be turned off using the
                                `o' key, then only items which you
                                gain or loose will be briefly shown on
                                the HUD.  Pressing `o' again will
                                constantly show owned items.

                    Fuel        A fuel meter will appear on the right
                                side of the HUD when you are getting
                                low on fuel, it will start flashing
                                when your fuel level gets dangerously
                                low.  The fuel is numerically
                                displayed on the bottom right corner
                                of the HUD.

                    Lock        The name of the player you have
                                currently locked on is shown on the
                                top of the HUD.  The distance and
                                bearing to that same player is
                                visualized by a dot where placement of
                                the dot gives the direction, and the
                                size of the dot gives the distance.
                                The dot will be filled if the player
                                is not on the same team as you.  The
                                distance to the player also
                                numerically displayed on the top right
                                corner of the HUD, it is measured in
                                `blocks'.

                    Velocity    (Optional) The position of the HUD
                                changes with the current velocity.
                                The distance from the center of your
                                screen is proportional to your
                                velocity.  Moving to the top moves the
                                HUD to the bottom.

                                In addition to the moving HUD, you can
                                display a line from the center of the
                                HUD to the center of your ship.

                                Both indicators can be combined or
                                used exclusivly (see discussion about
                                Xresources below).

                    Score messages
                                Relevant score information is shown
                                below the HUD, as well as on the game
                                field.

                    Time left   The amount of time the game will last
                                if the the server was started with a
                                time limit.  This is displayed in the
                                upper left corner of your HUD.

               Between the radar and the Rating list there are three
               push buttons:

                    Quit        Exits the game and the program.

                    About       Pressing the About button will popup a
                                three page help window.  It explains
                                in short the functionality of all the
                                items you may encounter together with
                                a graphical depiction of them.

                    Menu        The Menu button pops up a pull down
                                menu with the following buttons:

                         Keys        Will popup the Keys window, which
                                     contains a list of all the X
                                     keysyms that have one or more
                                     xpilot actions bound to them.

                         Config      Changes the Rating list into a
                                     window with a list of most of the
                                     options.  The options can be
                                     changed interactively.  Pushing
                                     the Save configuration button
                                     will save the options and the key
                                     bindings to the .xpilotrc file in
                                     your home directory.

                         Score       Displays the players and their
                                     scores in the Rating list window.

                         Player      Lists the players with their
                                     login name and their host address
                                     in the Rating list window.

                         MOTD        Displays the Message Of The Day
                                     if the server has one available.

     GAME CONCEPTS
          The game objective varies as the server (xpilots(6)) is very
          configurable.  However, below you will find short
          descriptions of some of the main concepts of the game.



        Gravity
          All objects in the game are affected by gravity - that is,
          they will accelerate in the direction the gravity is
          strongest.  The strength and direction of the gravity is
          user configurable (see xpilots(6)), and can even be set to
          0.

          Some objects affect the gravity in a limited area, these are
          called gravs and they exist in miscellaneous types
          (attractive, repulsive, clockwise, anti-clockwise).  Gravs
          are shown as red circles with some symbol inside which is
          different for each type of grav.  (For more information on
          how the affect the gravity, see xpilots(6).)


        Wormholes
          Wormholes are shown as red rotating circles.  They will
          `teleport' you to another place in the world.  Generally,
          when you go through a wormhole, you'll come out at the
          nearest wormhole in the direction you were travelling.  Some
          wormholes are enter-only and some are exit-only.  The exit-
          only ones are invisible.  Passing through a wormhole will
          make you visible for a while if you were cloaked.



        Fuel
          You will also have to worry about your fuel level as most
          equipment use fuel/energy and some even work better the more
          fuel you have.

          You may gain fuel by picking up special `fuel cans' (see
          bonus items section) or refueling at a refuel station.
          Refuel stations may be found in blocks in the world, they
          differ from standard background blocks in that they have a
          red/black F in them, and they are partly or completely
          filled with red.  The amount of red determines how much fuel
          the station has at available for you.  To refuel, you must
          hit the keyRefuel key (see controls section).

          Fuel takes up mass and will also determine how big the
          explosion will be when (sorry, `if' :) you meet your
          destiny.


        Combat
          There are two different and mutually exclusive modes which
          have greatly different objectives: combat mode and race
          mode.  The most extensive is the combat mode, which also
          happens to be the default.

          Here your main objective is to get as high a rating as
          possible by `blasting away' on enemy fighters (human or
          robot controlled) and cannons.  All will naturally fire back
          at you, so you will also need some nifty piloting skills
          and/or some heavy equipment to really enjoy living.  Extra
          weapons are explained in the bonus items section.



        Race
          In race mode, your objective is to fly as fast as you can
          through a specified route.  This is done by passing
          checkpoints in a specified order.  The finish is reached
          after three laps.

          The next checkpoint is always visible on the radar.



        Team play
          Team play is useful in combination with combat mode.  It is
          different from straight combat mode in that players on your
          own team are not considered enemies.  There are some
          additional objectives too.

          You can gain points if the map you are using have targets or
          treasures.  The main difference is that you get points by
          blowing up an enemy's target using shots or mines.  A shot
          will only damage a target and if the target is completely
          damaged then the next shot will blow it up.  A mine will
          immediately destroy a target.  Two missile hits will also
          destroy a target.

          Enemy treasures have to be stolen from the enemies and
          dropped on your own treasure.  You pick up a treasure by
          using keyConnector when flying nearby the enemies treasure.
          This will attach the treasure to your ship with a strong
          rubber band. Now you have to move your ship away from the
          treasure while holding the keyConnector down. When you reach
          a certain distance the rubber band will be drawn in a
          sollied line. This means that the treasure is attached to
          your ship.  It is possible (in emergency situations :) to
          detach the enemy treasure by pressing keyDropBall, but this
          will of course not gain you or your team any points.

          Certain maps may configure targets as passable by team
          members, in which case they can act as wall shields for team
          bases.


        Shields
          You may or may not have shields at your disposal, depending
          on the server options specified.  If you have, they are
          activacted with the keyShield key (see controls section).
          Generally collisions with other objects (except for debris
          and sparks) are lethal, but when you are hit by something
          with your shields up then it will only cost you some
          fuel/energy.  If you didn't have enough fuel then the
          collision will be lethal again.  Having your shields up
          costs fuel.



        Bonus items
          During the game you might encounter blue triangles with red
          symbols on - these are special bonus items which will make
          your life easier.  As of today, these items include:


               Fuel can    More fuel/energy.

               Cloaking device
                           Makes you invisible for other players, both
                           on radar and on the screen.  However, when
                           you are hit by a shot or missile or bounce
                           with another player then you will be
                           temporarily visible again.

               Sensors     Enables you to see cloakers to a limited
                           extent.  Having more sensors improves this.

               Rear cannon Extra rear cannon.

               Front cannons
                           2 extra front cannons.

               Afterburner Your main engine becomes more powerful and
                           uses your fuel more efficiently.

               Rockets     Pack of rockets.  These may be used as
                           smart missiles, heat seaking missiles, or
                           just plain dumb torpedos.  Usually these
                           explode on impact with a small debris
                           explosion.  However, if enabled, nuclear
                           and/or cluster variants of each may be
                           possible.  See the description of
                           keyToggleNuclear, keyToggleCluster and
                           keyToggleModifier.

               Mine        Pack of mines.  Can be dropped as either
                           moving mine (bombing) or stationary mine
                           (mining).  Usually these will explode when
                           someone else comes within a few blocks,
                           causing a large debris explosion.  However,
                           if enabled, nuclear and/or cluster variants
                           of each may be possible.  Mines have a
                           little intelligence and will not explode
                           for the player (or team members) who
                           dropped them.  However, the targetting of
                           mines can be effected by ECMs (unless the
                           server option ecmsReprogramMines is false).
                           If you get close enough to a mine, you will
                           be able to sense who the mine is currently
                           programmed by.  Mines dropped by different
                           players have a different external
                           appearance -- mines dropped by you or your
                           team show up hollow.  Reprogramming does
                           not change the appearance of a mine, so be
                           careful because a hollow mine may not be
                           safe.  See the description of
                           keyToggleNuclear, keyToggleCluster, and
                           keyToggleModifier.

               Tank        Additional fuel tank (perhaps with some
                           spare fuel).  As you pick up more tanks,
                           your weight increases and you'll have to
                           compensate by picking up afterburners.  You
                           can change which tank is the `active tank',
                           that is the one that fuel is drained from
                           (if this tank is empty, fuel is drained
                           from all tanks).  Refueling is quicker with
                           more tanks.

                           To ease filling several tanks in parallel,
                           all the tanks drain into their left
                           neighbours (0<-1<-...<-8); except your
                           active tank, which is watertight (it seems
                           a bit complicated at first, but trust me,
                           you'll get it eventually :-).  Tanks don't
                           drain if they reach a certain minimum level
                           (unless of course, you use it as the active
                           tank).

                           When you detach a tank it is the active one
                           that is detached, unless the active tank
                           happens to be your main tank, in which the
                           tank with the highest number is used.  The
                           detached tank will have the shape of a ship
                           and will carry your name, it will
                           immediately start thrusting (as long as
                           fuel permits) and will fool all heat-
                           seekers to follow it.

               ECM         Electronic Counter Measures.  ECM allows
                           you to confuse and re-target smart missiles
                           within a certain range of your ship.  When
                           missiles are zapped by ECM, they will
                           become confused for a while and then have a
                           high probability of going after the player
                           who you were locked onto when you used the
                           ECM.  The ECM will also cause within a
                           certain range to either explode or be more
                           likely be temporarily be blinded such that
                           they do not explode if you go near them.
                           The closest mine within ECM range may be
                           reprogrammed to be safe for you and your
                           team members. If another ship is within
                           range of the ECM, all it's sensors will
                           freeze for a while and if the ship was
                           cloaked, it will become visible for a
                           while.  The ECM is activated by pressing
                           the keyECM key.

               Transporter Enables you to steal equipment and
                           energy/fuel from the closest fighter,
                           provided it is within the transporters
                           range.  You activate the transporter by
                           pressing the keyTransporter key.

               Laser       Gives you a laser weapon with limited
                           range.  Having more of these increases the
                           range and the repeat rate of the laser
                           subsystem.

               Emergency Thrust
                           Gives you a limited amount of super
                           thrusters, equivalent to a full complement
                           of afterburners.  With a light ship this is
                           equivalent to hitting hyperspace or warp
                           factor 9.99.  Useful for stopping quickly
                           or running away fast from a deadly
                           encounter.  The extra thrust capability is
                           toggled on and off by a seperate key and
                           can thus be saved, the amount of time
                           remaining is shown by a status bar below
                           the HUD.

               Autopilot   Gives you a hover capability.  When engaged
                           an `Autopilot' light will flash above the
                           HUD.  When engaged the autopilot computer
                           will bring the ship to a hover by the
                           quickest (perhaps not safest) method
                           possible.  It will then leave you in a
                           hover, unless in a strong gravity field
                           where your engines cannot cope.  Useful for
                           hovering next to a refuel depot.

               Tractor Beam
                           Not to be confused with a transporter, this
                           enables you to push or pull the ship you
                           are currently locked onto.  The force is
                           mutual, and thus if your ship is lighter
                           than your target you will move more towards
                           him than him towards you.  Best used with
                           heavy ships to pull then push annoying
                           players into walls.

               Emergency Shield
                           Gives you a limited amount of extra shield
                           power, which prevents any fuel loss from
                           shots, debri, player and wall collisions,
                           missiles, mines, etc.  While in use, the
                           ship can smash into walls at any speed and
                           angle without fear of being killed.  The
                           extra shield capability is toggled on and
                           off by a separate key and can thus be
                           saved, with the remaining amount of extra
                           shield power being saved for later use.
                           Once toggled on, the extra shield power
                           will take effect and be used only while the
                           normal shields are up.  Best used when
                           confronted with cluster mines and missles
                           or deadly cannons.


     CONTROLS
          The game understands quite some keys, but not all of them
          are equally important.  The following keys are more or less
          sorted by importance.  The name of the keys are also the
          Xresources you use to redefine them, and the words inside
          the curly braces {} are their default bindings.  See
          Xresources section below.

            Primary keys
                The primary keys are:

                 keyTurnLeft {a}
                             Turn left (anti-clockwise).

                 keyTurnRight {s}
                             Turn right (clockwise).

                 keyThrust {right Shift or left Shift}
                             Thrust me.

                 keyFireShot {return or linefeed}
                             Fire normal shot.

                 keyShield {space or Caps Lock}
                             Raise shield.  Must be held down for
                             continuous use.

                 keyRefuel {f or left Ctrl or
                             Try to connect to nearest fuel station.
                             Must be held down during refueling.

                 keyRepair {f}
                             Repair a target.

            Secondary keys
                The following commands are not always available, some
                require bonus items to have any functionality at all.

                 keySelfDestruct {q}
                             Self destruct.  At last we managed to
                             include a timer, got rid of all those
                             nasty I'd-rather-die-by-my-own-hands-
                             than-let-you-kill-me-and-get-all- the-
                             points pilots.

                 keyIdMode {u}
                             Toggle the ID mode.  Instead of the score
                             list it will display the list of players
                             with their real names and computer
                             addresses.

                 keyCloak {BackSpace or Delete}
                             Enable/disable cloaking device if
                             available.  You will be invisible on both
                             radar and on screen, but beware - the
                             device is not foolproof, it is not cheap
                             on your fuel and the only thing becoming
                             invisible is your ship, i.e. the
                             exhaust-flames will still be visible.

                 keySwapSettings {Escape}
                             Toggle between two different settings.
                             You'll probably want more power and a
                             larger turn rate in combat than when
                             you're doing some critical maneuvering.

                 keyDropMine {Tab}
                             Drop a proximity mine.  The mine will
                             detonate after a certain amount of time
                             (quite large actually) or when a foe
                             comes too near.

                 keyDetachMine {bracketright}
                             Drop a moving mine - that is, a bomb.

                 keyDetonateMines {equal}
                             Detonate the mine you have dropped or
                             thrown, which is closest to you.

                 keyEcm {bracketleft}
                             Fire an ECM pulse.

                 keyChangeHome {Home or h}
                             Change home base.  You will need to be
                             landed on the base of your choice.  (The
                             Home key is located just right of the
                             Return key on most HP-keyboards.)  These
                             keys are convenient for HP keyboards,
                             also somewhat adapted to SUN keyboards.

                 keyTankNext {e}
                             If you have additional tanks, the current
                             tank will be the next tank.

                 keyTankPrev {w}
                             If you have additional tanks, the current
                             tank will be the previous tank.

                 keyTankDetach {r}
                             Detach the current tank (or the last
                             additional tank).  Heat-seeking missiles
                             will hopefully follow this tank.

                 keyPause {p or Pause}
                             Park or paused hover mode - you can only
                             park while you're landed on your own home
                             base, and when you park, you cannot
                             rejoin the game until the P has stopped
                             blinking (to prevent users from using
                             this option to run away from a battle).
                             If you are not near your base and you are
                             travelling very slowly the ship will be
                             brought to a standstill on autopilot and
                             cannot be unpaused until the `Autopilot'
                             light stops blinking.

                 keyFireMissile {backslash}
                             Fire smart missile if available.  The
                             missile will home onto the player that
                             you have currently locked on.  You must
                             have a clear lock on a player for this to
                             work.  Requires lock.

                 keyFireHeat {semicolon}
                             Fire a thrust controlled missile. Works
                             like a smart missle, but is faster and
                             ECM isn't able to confuse it. Needs the
                             thrust for navigating.

                 keyFireTorpedo {quoteright}
                             Fire a missile without flight control. It
                             runs very fast in shot direction.

                 keyFireLaser {slash}
                             Fires a laser weapon in the direction you
                             are pointing.  Lasers have limited range
                             and use a lot of fuel, but they are
                             instantaneous and therefore much more
                             deadly than normal shots.  The precise
                             electronics of lasers can be
                             irretrivially damaged by the high energy
                             interference generated by enemy ECMs.


                 keyToggleNuclear {n}
                             Pressing this key will toggle through the
                             following indicators on your HUD (bottom
                             left), only if nuclear weapons are
                             allowed;

                             N   All missiles or mines launched from
                                 now are limited nuclear weapons.

                             FN  All missiles or mines launched from
                                 now are full (or fusion) nuclear
                                 weapons.

                                 Pressing the key again clears the
                                 nuclear weapons mode.

                       You must have eight or more missiles, or four
                       or more mines to launch a nuclear missile or
                       mine, and perhaps enough fuel as well.  If you
                       do not a message will be displayed at the
                       bottom of the game area explaining why and the
                       weapon will not be fired.

                       Firing a full (or fusion) nuclear weapon
                       completely depletes your stock of that weapon,
                       limited nuclear weapons will deplete your stock
                       by eight missiles or four mines.

                       A nuclear missile or mine fired will have a
                       mass and explosive power equal and usually
                       greater than the total number that were used.
                       Nuclear torpedos are very fast, and all nuclear
                       weapons explode violently (this may freeze the
                       server momentarily).  After firing a one off
                       nuclear weapon, the `n' indicator is cleared.

                keyToggleCluster {c}
                            Pressing this key will toggle the
                            following indicator on your HUD (bottom
                            left), only if cluster weapons are
                            allowed;

                            C   All missiles or mines launched are
                                cluster weapons.

                        Cluster weapons explode differently from
                        normal weapons.  The explode with a slower
                        moving shower of killing shots and not debris,
                        which may kill or deplete shields just like a
                        normal shot fired by your self.   Thus, since
                        cluster debris is deadly to yourself, you
                        should be careful when firing such a weapon.
                        After firing a one off cluster weapon, the `c'
                        indicator is cleared.

                        A cluster weapon will also use an almost
                        equivalent amount of fuel as if you had fired
                        the shots using your cannon, and thus large
                        cluster explosions will use large amounts of
                        fuel.  If you do not have enough fuel a
                        message saying so will be displayed at the
                        bottom of the game area and the weapon will
                        not be launched.

                 keyToggleImplosion {i}
                             Pressing this key will toggle the
                             following indicator on your HUD (bottom
                             left), only if modifiers are allowed;

                             I   All mine and missile explosions will
                                 be implosions instead.

                 keyToggleVelocity {v}
                             Pressing this key will toggle through V1
                             through V3 and to no modifier in turn.
                             It affects the speed of nuclear and/or
                             cluster explosions, higher modifier
                             numbers produce lower explosion
                             velocities, and thus for the most
                             effective nuclear cluster explosion a V2
                             or V3 modifier should be used.

                 keyToggleMini {x}
                             Pressing this key will toggle through X2
                             through X4 and then no modifier in turn.
                             The number shows how many miniture mines
                             or missiles will be fired for every key
                             press.  The sum total damage and cost of
                             using miniture weapon is equivalent to a
                             normal weapon of that type.

                 keyToggleSpread {z}
                             Pressing this key will toggle through Z1
                             through Z3 and then no modifier.  The
                             higher the number the closer the spread
                             of fire for minature weapons, it also
                             affects the spread of wide and rear
                             shots, successively narrowing the stream
                             of bullets such that V3 is a single beam
                             of shots.

                 keyTogglePower {b}
                             Pressing this key will toggle through B1
                             through B3 and then no modifier.  The
                             higher the number the less powerful a
                             tractor beam is used, mainly for
                             conserving energy or fine adjustment in
                             pulling somebody around.  The power
                             setting also affects the engine to
                             warhead ratio in missiles, a higher
                             setting will cause each missile to have
                             more powerful engines, and thus be much
                             quicker and more maneaverable, but at the
                             cost of a drastically reduced damage
                             capability.  However when coupled with
                             other modifiers this can cause severe
                             psychological advantages, consider the
                             effect of trying to outrun four minuture
                             full cluster powered up nuclear smart
                             missiles.

                 keyClearModifiers {k}
                             Clears all current modifiers in effect.

                 keyLoadModifiers1 {1}
                             Loads the modifiers stored in bank 1, as
                             set by the modifierBank1 resource.

                 keyLoadModifiers2 {2}
                             Loads the modifiers stored in bank 2, as
                             set by the modifierBank2 resource.

                 keyLoadModifiers3 {3}
                             Loads the modifiers stored in bank 3, as
                             set by the modifierBank3 resource.

                 keyLoadModifiers4 {4}
                             Loads the modifiers stored in bank 4, as
                             set by the modifierBank4 resource.

                 keyToggleAutoPilot {h}
                             This toggles the autopilot feature.  You
                             need atleast one Autopilot item before
                             this will work.

                 keyToggleEmergencyThrust {j}
                             This toggles the emergency thrust item.
                             You need at least one emergency thrust
                             item, on first turning this on the item
                             is used up and ten seconds or so of
                             emergency thrust is placed at your
                             disposal.  The time is only used up as
                             you thrust, and hitting this key will
                             return you back to normal thrust while
                             conserving the remaining boosted thrust.
                             If you posses both Autopilot and
                             Emergency Thrust items, pressing the Meta
                             or Alt keys will give the equivalent of
                             emergency brakes.

                 keyToggleEmergencyShield {g}
                             This toggles the emergency shield item.
                             You need at least one emergency shield
                             item.  When first turning on, this item
                             is used up and ten seconds or so of
                             emergency shield power is placed at your
                             disposal.  The time is only used up as
                             you use your regular shields, and hitting
                             this key again will return you back to
                             normal shield power while conserving the
                             remaining emergency shield power.

                 keyTractorBeam {comma}
                             This will engage any tractor beam items
                             on the player who you hold a lock on, it
                             causes a mutual attractive force between
                             you and them, causing both players to
                             move towards each other.

                 keyPressorBeam {period}
                             This will engage any tractor beam items
                             on the player who you hold a lock on, it
                             causes a mutual repulsive force between
                             you and them, causing both players to
                             move away from each other.

                 keyTalk {m} Pressing this key will toggle between the
                             talk window being shown below the HUD.
                             If your mouse pointer is outside the
                             window you will still have full control
                             of your ship and pressing the talk key
                             will disappear (the current message will
                             not be lost).  If you position your mouse
                             pointer within the window you can type a
                             message using the keyboard, however you
                             ship will no longer respond to key
                             presses.  The following special keys are
                             available;

                             Return Linefeed
                                 This finishes and sends the message.
                                 The talk window is also removed from
                                 the screen and the message text
                                 cleared.

                             Backspace Del
                                 These keys delete the last character.

                             Ctrl-W
                                 This deletes the last word.

                             Ctrl-U
                                 This deletes the entire line of text.

                             Esc This removes the talk window without
                                 clearing the text.  This is useful if
                                 you are typing a message and
                                 something important in the game
                                 happens that requires you to control
                                 your ship.

                         Messages will usually be sent to every player
                         logged in, including yourself.  Messages
                         received will always appear in the bottom of
                         the Game area, and will look like;

                         <<Viper shouts>> Hello world.

                         However you can send messages to individual
                         players or teams by starting the message with
                         the player's name (or enough character from
                         the beginning of their name to make it
                         unique) or team number followed by a colon,
                         and then the message.  Just placing a colon
                         at the start of the message will send it to
                         everyone.  For example;

                         vip: Hello

                         will send a message to only one player who's
                         name begins the letters vip (the case does
                         not matter).

                  keyToggleCompass {y}
                              Turns of the HUD compass display.

                  keyLockClose {Select Up}
                              Will lock onto the closest player if
                              he/she is within range.

                  keyLockNextClose {Down}
                              Will lock onto the next closest player
                              after the currently locked player.

                  keyLockNext {Next Right}
                              Will, if possible, lock onto the next
                              player in the game.

                  keyLockPrev {Prior Left}
                              Will, if possible, lock onto the
                              previous player in the game.

                  keyConnector {Control_L}
                              Use connector (for the moment, all this
                              is used for is picking up
                              treasures/balls).

                  keyDropBall {d}
                              Drop the ball if you are carrying it.

                  These keys let you adjust the control sensitivity:

                  keyIncreasePower {KP_Multiply}
                              Increase engine power.

                  keyDecreasePower {KP_Divide}
                              Decrease engine power.

                  keyIncreaseTurnspeed {KP_Add}
                              Increase turn speed.

                  keyDecreaseTurnspeed {KP_Subtract}
                              Decrease turn speed.

                  keyToggleOwnedItmes {o}
                              Causes all owned bonus items to be shown
                              either constantly or for a brief period
                              after they change in amount on the HUD.

                  keyToggleMessages {0}
                              Causes messages to be shown or not
                              shown.

                  keyReprogram {quoteleft}
                              Reprogram a modifier bank or lock bank.

                  keyLoadLock1 {5}
                              Load player lock from bank 1.

                  keyLoadLock2 {6}
                              Load player lock from bank 2.

                  keyLoadLock3 {7}
                              Load player lock from bank 3.

                  keyLoadLock4 {8}
                              Load player lock from bank 4.

                  keyToggleRecord {KP_5}.
                              Toggle recording of session to file (see
                              the recordFile option).  This recording
                              can later be reviewed with the xp-
                              replay(6) program

                  keyPointerControl {KP_Enter}
                              Toggle mouse pointer control.


             Mouse control
                 There are up to five mouse buttons available to
                 define as keys:

                  pointerButton1 {keyFireShot}
                              Define which keys are pressed when mouse
                              button one is pressed.

                  pointerButton2 {keyThrust}
                              Define which keys are pressed when mouse
                              button two is pressed.

                  pointerButton3 {keyShield}
                              Define which keys are pressed when mouse
                              button three is pressed.

                  pointerButton4 {}
                              Define which keys are pressed when mouse
                              button four is pressed.

                  pointerButton5 {}
                              Define which keys are pressed when mouse
                              button five is pressed.


     X RESOURCES
          At startup xpilot will look for X resources in several
          places.  First it looks in the LIBDIR (as defined during
          compilation, mostly as something like
          /usr/local/games/xpilot/lib/) for the file named XPilot.
          After that it looks for more resources in
          /usr/lib/X11/$LANG/app-defaults/XPilot,
          $XUSERFILESEARCHPATH/XPilot, $XAPPLRESDIR/$LANG/XPilot,
          $HOME/app-defaults/$LANG/XPilot, resources set using xrdb or
          else $HOME/.Xdefaults, host specific resources in the file
          pointed to by $XENVIRONMENT or else in $HOME/.Xdefaults-
          hostname and finally in $HOME/.xpilotrc.  If the LANG
          environment variable is undefined or if that file doesn't
          exist then it will look for the file as if LANG had been
          undefined.  Resources defined in files listed later will
          override resources in files listed earlier.  All of these
          resources can be overridden by their corresponding command
          line arguments.

               name        Nick name of your player.

               team        Preferred team number.

               port        Set the port number of the server.  Almost
                           all servers use the default port, which is
                           the recommended policy.  You can find out
                           about which port is used by a server by
                           querying the XPilot Meta server.

               power       Primary power setting of your engine.
                           Primary in this context means that it is
                           part of the default setting, secondary
                           means the other setting (two different
                           settings are available, pressing Esc will
                           switch between them).  You may change
                           "sensitivity" of your ship by adjusting
                           these parameters.  Often you would like one
                           setting to be more "rough" than the other -
                           one setting for fine maneuvering and one
                           for racing. (Default 45.0)

               turnSpeed   Primary turnspeed setting of your ship.
                           (Default 30.0)

               turnResistance
                           Primary turnresistance setting of your
                           ship.  This value determines how fast your
                           ship will stop rotating, i.e. the rotating
                           speed of your ship is set equal to itself
                           multiplied by this value.  Obviously the
                           value has to lie between 0.0 (exclusive)
                           and 1.0 (inclusive).  (Default 0.12)

               altPower    Secondary power setting of your engine.
                           (Default 35.0)

               altTurnSpeed
                           Secondary turnspeed setting of your ship.
                           (Default 25.0)

               altTurnResistance
                           Secondary turnresistance setting of your
                           ship. (Default 0.12)

               shipShape   Define the ship shape to use.  Because the
                           argument to this option is rather large (up
                           to 500 bytes) the recommended way to set
                           this option is in the .xpilotrc file in
                           your home directory.  The exact format is
                           defined in the file README.ships in the
                           XPilot distribution.  Note that there is a
                           nifty tool called editss for easy ship
                           creation.  See the XPilot FAQ for details.
                           See also the shipShapeFile option.

               shipShapeFile
                           An optional file where shipshapes can be
                           stored.  If this resource is defined and it
                           refers to an existing file then shipshapes
                           can be referenced to by their name.  For
                           instance if you define shipShapeFile to be
                           /home/myself/.shipshapes and this file
                           contains one or more shipshapes then you
                           can select the shipshape by starting xpilot
                           as:

                           xpilot -shipShape myshipshapename

                           Where "myshipshapename" should be the
                           "name:" or "NM:" of one of the shipshapes
                           defined in /home/myself/.shipshapes.  Each
                           shipshape definition should be defined on
                           only one line.  All characters up to the
                           first left parenthesis are ignored.

               fuelNotify  The limit when the HUD fuel bar will become
                           visible. (Default 500.0)

               fuelWarning The limit when the HUD fuel bar will start
                           flashing. (Default 200.0)

               fuelCritical
                           The limit when the HUD fuel bar will flash
                           faster. (Default 100.0)

               showHUD     Should the HUD be on or off. (Default true)
               verticalHUDLine
                           Should the vertical lines in the HUD be
                           drawn. (Default false)

               horizontalHUDLine
                           Should the horizontal lines in the HUD be
                           drawn. (Default true)

               speedFactHUD
                           Should the HUD me moved, to indicate the
                           current velocity. Negativ values will
                           inverse the moving of the HUD. (Default
                           0.0)

               speedFactPTR
                           Uses a red line to indicate the current
                           velocity. On edge of the line is the center
                           of the ship. The other end is moved in the
                           same way, as the HUD, if speedFactPTR is
                           set.

               charsPerSecond
                           This determines the speed in which messages
                           are written, in characters per second.

               markingLights
                           Should the fighters have marking lights,
                           just like airplanes?

               sparkProb   The chance that sparks are drawn or not.
                           This gives a sparkling effect.  Valid
                           values are in the range [0.0-1.0]

               sparkSize   Size of sparks in pixels.

               shotSize    Size of shots in pixels.

               teamShotSize
                           Size of team shots in pixels.  Note that
                           team shots are drawn in blue.

               showShipName
                           Should all ships have the name of the
                           player drawn below them.

               showMineName
                           Should the name of the owner of the mine be
                           drawn below the mine.

               showMessages
                           Should messages appear on screen.

               showItems   Should owned items be displayed permanently
                           on the HUD, or only when their amount has
                           changed?

               showItemsTime
                           The time in seconds to display item
                           information when it has changed and the
                           showItems option is turned on.

               clock       Display a small digital clock.

               noLocalMotd Do not display the local Message Of The
                           Day.

               autoServerMotdPopup
                           Automatically popup the MOTD of the server
                           on startup.

               toggleShield
                           Have the shield status be changed only by a
                           key press and ignore the key release.

               shieldDrawSolid
                           Are shields drawn in a solid line.  Not
                           setting a value for this option will select
                           the best value automatically for your
                           particular display system.

               fuelMeter   Determines if the fuel meter should be
                           visible. This meter visualizes your fuel
                           level in a different way than fuelGauge
                           does.

               fuelGauge   Determines if the fuel gauge should be
                           visible. See fuelMeter.

               turnSpeedMeter
                           Should the turnspeed meter be visible at
                           all times. (Default false)

               powerMeter  Should the power meter be visible at all
                           times. (Default false)

               backgroundPointDist
                           Specifies the block distance between points
                           drawn in the background, used in empty map
                           regions.  8 is default, 0 means no points.

               backgroundPointSize
                           Specifies the size of the background
                           points.  The default is 2, 0 means no
                           points.

               titleFlip   Should the title bar change or not.  Some
                           window managers like twm may have problems
                           with flipping title bars.  Hence this
                           option to turn it off.

               slidingRadar
                           If the game is in edgewrap mode (see
                           xpilots(6)) then the radar will keep your
                           position on the radar in the center and
                           draw the rest of the radar around it.  This
                           requires very good X performance and a
                           pretty fast workstation.  Default is off.

               outlineWorld
                           Draws only the outline of all the blue map
                           constructs.

               filledWorld Draws the walls solid.  Needs a fast
                           graphics system.

               texturedWalls
                           Draws the walls filled with a texture
                           pattern.  See also the wallTextureFile
                           option.  Be warned that this needs a very
                           fast graphics system.

               wallTextureFile
                           Specify a XPM format pixmap file to load
                           the wall texture from.

               texturePath Optional search path for XPM texture files.
                           This is a list of one or more directories
                           separated by colons.

               packetSizeMeter
                           Turns on a meter displaying the maximum
                           packet size of the last few seconds.

               packetLostMeter
                           Turns on a meter displaying the percentage
                           of packets lost in the last second due to
                           network failure (overload).

               packetDropMeter
                           Turns on a meter displaying the percentage
                           of packets dropped due to your display not
                           being able to keep up with the rate at
                           which the server is generating frame
                           updates.  If possible lower the frame
                           update rate of the server with the -fps
                           option.

               receiveWindowSize
                           Specifies how big the receive window should
                           be.  See NOTES below.

               sounds      Specifies the sound file.  (Only if sound
                           is enabled.)

               maxVolume   Specifies the volume to play sounds with,
                           where 0 turns off sound.  (Only if sound is
                           enabled.)

               audioServer Specifies the audio server to use.  (Only
                           if sound is enabled.)

               geometry    Specifies the geometry to use like:
                           -geometry 1280x1024+0+0.

               keyboard    Set the X keyboard input if you want
                           keyboard input from another display.  The
                           default is to use the keyboard input from
                           the X display.

               recordFile  An optional file where a recording of a
                           game can be made.  If this file is
                           undefined then recording isn't possible.
                           See the keyToggleRecord option for how to
                           make recordings.

               visual      Specifies which visual to use.  You can see
                           which visuals your display supports by
                           running: xpilot -visual list.

               mono        Turns on mono display type.

               colorSwitch <true/false>
                           Tells xpilot to use a color switching
                           display technique or not.  Default is true
                           if your display hardware has enough colors
                           available.

               maxColors   Tells xpilot how many colors you want it to
                           use.  Default is 4, with a maximum of 16.
                           Valid values are 4, 8 and 16.

               targetRadarColor
                           Which color number to use for drawing
                           targets on the radar.  Valid values all
                           powers of 2 smaller than maxColors.

               hudColor    Specifies which color index to use for
                           drawing the HUD.  The value for this option
                           is a number ranging from 1 till the
                           maxColors value.

               hudLockColor
                           Specifies which color index to use for
                           drawing the lock dot on the HUD.  The value
                           for this option is a number ranging from 1
                           till the maxColors value.

               wallColor   Specifies which color index to use for
                           drawing the walls.  The value for this
                           option is a number ranging from 1 till the
                           maxColors value.

               sparkColors A list of color numbers to use for drawing
                           sparks and debris of varying temperature.

               gameFont    The font used on the HUD and for nearly all
                           text part of the game field.

               messageFont The font used for messages displayed in the
                           bottom left corner of the game field.

               scoreListFont
                           The font used on the score list.  Must be
                           non-proportional.

               buttonFont  The font used on all buttons.

               textFont    The font used in the help and about
                           windows.

               talkFont    The font used in the talk window.

               motdFont    The font used in the MOTD window and in the
                           key list window.  This must be a non-
                           proportional font.

               black       Specifies the color to use for black.
                           Default is #000000 which is equivalent to
                           specifying Black.

               white       Specifies the color to use for white.
                           Default is #FFFFFF which is equivalent to
                           specifying White.

               blue        Specifies the color to use for blue.

               red         Specifies the color to use for red.

               color0      Specifies the color to use for color 0.
                           One can specify colors up to color15 this
                           way.  Black, white, blue and red are
                           equivalent to color0, color1, color2 and
                           color3 respectively.



     INVOCATION EXAMPLES
          The simplest invocation of the hand-shake program is to just
          type:

               xpilot

          This will force the program to search after a server on all
          the machines on your attached network.

          Say you know where the server is, and you don't want to be
          prompted (handy in scripts etc.), you may type for example:

               xpilot -join lglab08

               where lglab08 is the name of the host running the
               server.

          In the examples above your name would be your login name.
          Let's say you want to be really cool and your login name is
          gudmari, well - you're in loads of trouble if you don't know
          about the -name option;

               xpilot -name FireEater

          will fix the problem for you.



     NOTES
          For credit list, see the provided CREDITS file.


          If the client crashes, you will be without autorepeat on
          your keyboard.  To re-enable autorepeat, issue this command:

               xset r

          Please also note that xpilot can be addictive, and strenous
          for both you and your keyboard.  We take no responsibility.
          :)


          There is a meta server running on xpilot.cs.uit.no, port
          4400, into which all servers registers.  This way you can
          easily check if there are any servers running nearby.  To
          use it, try:

               telnet xpilot.cs.uit.no 4400 help list

          Or:

               telnet xpilot.cs.uit.no 4401

          If you experience any problems with `jerkiness', you should
          try to adjust the receiveWindowSize Xresource.  The problem
          may be that your X server can't display as fast as the
          XPilot server is generating new frame updates.  So another
          option is setting the number of frames for the server to a
          lower number or get a faster X display system :)

          The receiveWindowSize resource allows you to tune the
          buffering of frame updates a little.  When set to one then
          there is no buffering and xpilot will just read the next
          frame and display it.  When the display is slower than the
          XPilot server this may give all sorts of problems like
          lagging behind and lack of keyboard control.

          When you set receiveWindowSize to two then xpilot will
          always try to read a second frame from the network and if
          this succeeds it will discard the oldest frame.  A better
          number for receiveWindowSize is three which will discard the
          oldest frame out of three and therefore be less subject to
          small changes in network delivery times.  If your display is
          fast enough and can keep up with rate at which the server is
          generating frames then specifying a value bigger than one
          will not result in dropping frames, but rather will it be a
          buffer for small changes in network performance and computer
          load.  The maximum value of receiveWindowSize is four.



     AUTHORS
          XPilot was developed by Bjoern Stabell
          (bjoerns@staff.cs.uit.no) and Ken Ronny Schouten
          (kenrsc@stud.cs.uit.no) from the University of Tromsoe, and
          Bert Gijsbers (bert@mc.bio.uva.nl) from the University of
          Amsterdam.



     BUG REPORTS
          The product is seemingly stable, so bug reports are highly
          appreciated.  Send email to xpilot@cs.uit.no and we will see
          what we can do.  We merely ask that you remember to include
          the following information:


              + The platforms the bug occurs on
              + What kind of display you have (depth, color, type)
              + Which resources you're using.
              + The full version of XPilot (e.g. 3.0.9)
              + What the bug looks like (symptoms)
              + When the bug usually occurs

          We would also like to receive changes you do to make the
          code compile on your machine (we would NOT like to receive
          the whole program translated to K&R C, keep it ANSI :) If
          you don't have an ANSI compiler, there are several utilities
          which may help you de-ANSI-fy the code (unproto, unprotoize
          etc), but a better solution will be to install the GNU C
          compiler on your system.



     COPYRIGHT & DISCLAIMER
          XPilot is copyright (C) 1991-94 by the authors mentioned
          above.  XPilot comes with ABSOLUTELY NO WARRANTY; for
          details see the provided LICENSE file.



     FILES
          /usr/local/games/lib/xpilot/motd        Message of the day.
          /usr/local/games/lib/xpilot/sounds      File containing the
                                                  sound to sound-file
                                                  mapping.
          /usr/local/games/lib/xpilot/maps/       Directory containing
                                                  maps.


     SEE ALSO
          xpilots(6), xp-replay(6)