XPILOT(6)XPILOT(6)NAMExpilot - XPilot multiplayer gravity war game client
SYNOPSISxpilot [-help] [-version] [-name nickname] [-team team-number] [-join]
[-list] [-shutdown [message]] [-display string] [-port port-number]
[-text] [configuration-options] [server-host ...]
OVERVIEW
XPilot is a multiplayer game which looks a bit like Thrust for the Com‐
modore 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 Grav‐
ity 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. If no server-host is specified, a broadcast query
is performed to locate a server on the local network.
-list A broadcast query is performed on the local network and
status information is displayed 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.
-text Invokes the old text-based command prompt interface
instead of the new Welcome Window. If no server-host is
specified, a broadcast query is performed to locate a
server on the local network. If a server-host is speci‐
fied, -text is implied.
configuration-options
All the X resource values can be configured separately
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. If suc‐
cessful and -join is not specified, you are presented
with the command prompt.
If neither server-host nor -join are specified, the Wel‐
come Window is displayed and a server may be selected
from there.
PROMPT COMMANDS
When you startup xpilot specifying a server name but no -join option,
or -text is specified, 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 WELCOME WINDOW
When you startup xpilot without specifying a server name you will be
presented with a Welcome window with three buttons in the upper left
corner. These buttons are:
Local Search for xpilot servers on the local network and
display a list of matches. Press the Join game button
beside the desired server name to start playing. If
no servers are listed, you will need to start one.
See xpilots(6).
Internet Search the xpilot meta servers (see notes section) for
currently running xpilot servers on the Internet.
If the meta servers could be contacted, a list of
servers will be displayed.
Quit Press this button to exit the program.
When the Internet button is pressed and successfully retrieves the list
of xpilot servers from the meta servers, additional buttons appear at
the bottom and one under the server column for each server listed:
Next Page If there is more than a screenful of servers, this
will allow you to see the rest of them. A First Page
button will appear to return to the top of the list
when you are not on the first page. The page is ini‐
tially sorted by the pl column in descending order.
Measure Lag This will fill the ping column with the round-trip
time for a packet to reach each server (in millisec‐
onds). If the server is not reachable, none will
appear in this column. The results will be sorted by
Pl in descending order and subsorted in ascending
order by Ping time.
Server The hostname of the server is displayed as a red but‐
ton to join that server.
The button is highlighted when the program is attempt‐
ing to establish a connection to the server. If the
server cannot be contacted after two retries, the but‐
ton will revert to its unhighlighted state. If the
button stays highlighted and you do not enter the game
immediately, this means you have been queued to enter
the game as soon as a base is available.
The xpilot client does not handle the connection
attempt in its own thread and therefore blocks the
current execution thread and will not update the dis‐
play or respond to button presses until a connection
is established or it gives up. Thus, the only way to
exit the queued state is to close the xpilot client,
either by using the window manager to close the win‐
dow, or forcibly with kill(1) or ^C.
Incorrectly configured server hosts may report a false
hostname. However, behind the scenes, the meta server
sends us the IP number. A connection will be estab‐
lished to that IP number when the server button is
pressed so long as there isn't a network problem (such
as a firewall at either the client or server end not
configured to permit access) that prevents contact.
The columns of the Internet server table, from left to right are as
follows:
Pl The number of human players on the server.
Q The number of players currently queued to join the
server.
Ba The number of bases on this map.
Tm The number of teams, if the map is a teamplay map.
FPS The framerate of the server in frames-per-second.
Stat The status of the game, e.g. lock if the game is
locked.
Version The version number of the server.
Map The name of the map.
Server The hostname of the server.
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 flash‐
ing 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.
On teamplay maps, your fellow team members will appear
as green dots on the radar, whereas the enemy will
appear as white dots.
Rating list (Bottom left) This area shows the list of players
(sorted with respect to their rating, or `score') cur‐
rently 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 dashed
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 surround‐
ing your fighter - this is the HUD (Head Up Display)
which greatly simplifies and compresses the informa‐
tion 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 danger‐
ously 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 direc‐
tion, 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 cor‐
ner of the HUD, it is measured in `blocks'.
Velocity (Optional) The position of the HUD changes with
the current velocity. The distance from the cen‐
ter of your screen is proportional to your veloc‐
ity. Moving to the top moves the HUD to the bot‐
tom.
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 exclu‐
sivly (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 fol‐
lowing 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 configu‐
ration 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 Rat‐
ing 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 config‐
urable. 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 worm‐
hole, 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 can‐
nons. All will naturally fire back at you, so you will also need some
nifty piloting skills and/or some heavy equipment to really enjoy liv‐
ing. 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 con‐
sidered 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 key‐
DropBall, 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.
Provided that teamImmunity: yes is set on the map, your teammates will
appear as blue ships, and so will their shots. With teamImmunity you
cannot be shot by members of your own team, nor do you bump into or
crash with them. The enemy, and the enemy's shots are always white.
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. Hav‐
ing 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 seeking missiles, or just plain dumb torpedos.
Usually these explode on impact with a small debris
explosion. However, if enabled, nuclear and/or clus‐
ter 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 ecmsRepro‐
gramMines is false). If you get close enough to a
mine, you will be able to sense who the mine is cur‐
rently programmed by. Mines dropped by different
players have a different external appearance -- mines
dropped by you or your team show up hollow. Repro‐
gramming 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 con‐
fuse 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 trans‐
porters range. You activate the transporter by press‐
ing 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, equiva‐
lent 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 run‐
ning 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 remain‐
ing 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, debris,
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 right Ctrl}
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 prob‐
ably want more power and a larger turn rate in com‐
bat than when you're doing some critical maneuver‐
ing.
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 autopi‐
lot 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 point‐
ing. Lasers have limited range and use a lot of
fuel, but they are instantaneous and therefore much
more deadly than normal shots. The precise elec‐
tronics 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 lim‐
ited 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 indica‐
tor 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 care‐
ful 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 mes‐
sage 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 indica‐
tor on your HUD (bottom left), only if modifiers are
allowed;
I All mine and missile explosions will be implo‐
sions 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, suc‐
cessively 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 set‐
ting will cause each missile to have more powerful
engines, and thus be much quicker and more maneaver‐
able, but at the cost of a drastically reduced dam‐
age capability. However when coupled with other
modifiers this can cause severe psychological advan‐
tages, consider the effect of trying to outrun four
minuture full cluster powered up nuclear smart mis‐
siles.
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 con‐
serving 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 win‐
dow 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 key‐
board, however you ship will no longer respond to
key presses. The following special keys are avail‐
able;
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 hap‐
pens 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.
keyToggleOwnedItems {o}
Causes all owned bonus items to be shown either con‐
stantly 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 record‐
File option). This recording can later be reviewed
with the xp-replay(6) program
keyPointerControl {KP_Enter}
Toggle mouse pointer control.
keySelectItem {KP_0 KP_Insert}
Press repeatedly to select an item to drop. A small
rectangle will be drawn around the item you can
drop. Use the keyLoseItem key to actually drop the
item. Note that you cannot select tanks to drop,
tanks can only be released (see the keyTankDetach
option).
keyLoseItem {KP_Delete KP_Decimal}
Drop the item selected with the keySelectItem key.
The server can either delete the item or drop it
back into the map depending upon the value of the
loseItemDestroys option.
keyPrintMessagesStdout {Print}
Print the current messages to stdout.
keyTalkCursorLeft {Left}
Move Cursor to the left in the talk window.
keyTalkCursorRight {Right}
Move Cursor to the right in the talk window.
keyTalkCursorUp {Up}
Browsing up in the history of the talk window.
keyTalkCursorDown {Down}
Browsing down in the history of the talk window.
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 INSTLIBDIR (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/xpi‐
lot, $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. If the XPILOTRC environment vari‐
able is defined then its value is used instead of $HOME/.xpilotrc. 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 set‐
tings 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 set‐
ting 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 rotat‐
ing, 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 rec‐
ommended 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 distri‐
bution. 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 speed‐
FactPTR is set.
charsPerSecond
This determines the speed in which messages are writ‐
ten, 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.
selectionAndHistory
Provide cut-and-paste for the player messages and the
talk window and a `history' for the talk window.
-maxLinesInHistory
Number of your messages saved in the `history' of the
talk window. `History' is accessible with
`keyTalkCursorUp/Down'. Valid values are in the range
[1-128]. The default value is: 32.
shotSize Size of shots in pixels.
teamShotSize
Size of team shots in pixels.
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.
messagesToStdout
Do you want messages to be sent to standard output?
0: No, 1: Only player messages, 2: Player and status
messages.
maxMessages The maximum number of messages to display.
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.
clockAMPM Displays clock in 24hr or 12hr format. (Default:
False)
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.
autoShield When this option is on then shields are lowered auto‐
matically when firing a weapon or dropping a mine.
After the firing the shields are raised again too.
shieldDrawSolid
Are shields drawn in a solid line. Not setting a
value for this option will select the best value auto‐
matically 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 man‐
agers 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 tex‐
ture 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 (over‐
load).
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 key‐
board 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 -vis‐
ual list.
mono Turns on mono display type.
colorSwitch <true/false>
Tells xpilot to use a color switching display tech‐
nique or not. Default is true if your display hard‐
ware 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 max‐
Colors.
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-propor‐
tional.
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 spec‐
ify 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 meta.xpilot.org, 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 meta.xpilot.org 4400 help list
Or:
telnet meta.xpilot.org 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 dis‐
card 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 drop‐
ping frames, but rather will it be a buffer for small changes in net‐
work performance and computer load. The maximum value of receiveWin‐
dowSize is four.
ENVIRONMENT
If XPILOTRC is set then its value is used instead of $HOME/.xpilotrc to
find the file containing the xpilot resources. XPILOTUSER and XPI‐
LOTHOST set the loginname and hostname as reported to the xpilots
server.
AUTHORS
XPilot was developed by Bj�rn Stabell <bjoern@xpilot.org> and Ken Ronny
Schouten <ken@xpilot.org> from the University of Troms�, Bert Gijsbers
<bert@xpilot.org> from the University of Amsterdam, and Dick Balaska
<dick@xpilot.org> from BuckoSoft.COM.
BUG REPORTS
The product is seemingly stable, so bug reports are highly appreciated.
Send email to xpilot@xpilot.org 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 Xresources you're using.
· The full version of xpilot, i.e., 4.5.5
· 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 trans‐
lated 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 & DISCLAIMERxpilot is Copyright � 1991-2002 by Bj�rn Stabell, Ken Ronny Schouten,
Bert Gijsbers & Dick Balaska. xpilot comes with ABSOLUTELY NO WAR‐
RANTY; for details see the provided LICENSE file.
FILES
/usr/local/share/xpilot/motd Message of the day.
/usr/local/share/xpilot/sounds File containing the sound to
sound-file mapping.
SEE ALSOxpilots(6), xp-replay(6)
Requires UDP and X11 XPILOT(6)