XPILOTS(6)

NAME
xpilots - XPilot multiplayer gravity war game server

SYNOPSIS
xpilots [-map map-file] [-robots number] [-rawmode] [-noquit] [-help] [-version] [-password password] [-serverHost hostname] [-reportMeta] [-clientPortStart port-number] [-clientPortEnd port-number]

DESCRIPTION
This manual explains the following topics:

    - Setting up a server.

    - Owner-only commands.

    - Creating new maps.

Complete coverage of the game basics and how to connect to a server are given in the manual pages for xpilot(6).

  Command options
This section describes the options which may be specified only as switches to the xpilots command. For a list of all options, try xpilots -help. See also sections Defaults file options and Map file options.

-help
    Prints a short help, including the supported commandline options. [command] Without a parameter, this displays a brief message, listing the supported commandline options. Specifying a command displays help for the command.

-version
    Prints the current version.

-dump
    Prints all options with their default values in defaults file format.

-defaultsFileName or defaults string
    The filename of the defaults file to read on startup.

  Defaults file options
This section describes the options which may be specified either as command switches or in the defaults file. For a list of all options, try xpilots -help. See also sections Command options and Map file options.

-passwordFileName string
    The filename of the password file to read on startup. This file should be protected against unwanted eyes with chmod(1) (e.g. chmod 600 password).

-robotFile string
    The file containing parameters for robot details.

-/+idleRun or rawMode
    Do robots keep on playing even if all human players quit? If this option is specified, xpilots doesn't go to sleep when there are no human players logged into the game. The noquit option must be specified for this to have any effect after the first player joins the game.

-/+noQuit
    Does the server wait for new human players to show up after all players have left. If this option is specified, xpilots won't quit when the last human player exits.

-/+logRobots
    Log the comings and goings of robots.

-mapFileName or map string
    The filename of the map to use. Or "wild" if you want a map by The Wild Map Generator. This option allows you to select the map you will use for this server. If it is omitted, you will have to manage with a computer generated random map. For instructions on how to create a map, see below. For example if -map fuzz2 or the equivalent -map fuzz2.xp is passed as command line arguments, the server will try to locate a file called fuzz2.xp in the current directory, or in a predefined directory (default is /usr/local/lib/xpilot/maps/).

-contactPort or port integer
    The server contact port number.

-serverHost string
    The server's fully qualified domain name (for multihomed hosts). Specifies to the meta server the FQDN (fully qualified domain name) of the server. This is helpful if the system has multiple identities and one is preferred over the other. Also, this option may be used to bind xpilots to a specific IP number on multihomed hosts (hosts with more than one IP number) such as virtual hosting sites. Otherwise, the default behaviour of xpilots is to listen to any IP number on the host and to try by various methods, starting with the value returned by gethostname(2) to determine the host's FQDN (fully qualified domain name) and report that to the meta servers.

-/+reportToMetaServer or reportMeta
    Keep the meta server informed about our game? The default for xpilots is -reportMeta. Specify +reportMeta to suppress reporting the xpilots server to the xpilot meta server so that other players on the Internet may find it. This should be done whenever a server is unreachable either due to a firewall that is not configured to allow access to it, or when the connection to the server is so poor that players on the Internet would not enjoy playing on it, as is arguably the case with any dialup ISP connection.

-/+searchDomainForXPilot
    Search the local domain for the existence of xpilot.domain?

-denyHosts string
    List of network addresses of computers which are denied service. Each address may optionally be followed by a slash and a network mask.

-/+ignore20MaxFPS
    Ignore client maxFPS request if it is 20 (the default setting).

-motdFileName or motd string
    The filename of the MOTD file to show to clients when they join.

-scoreTableFileName or scoretable string
    The filename for the score table to be dumped to.

-/+pLockServer
    Whether the server is prevented from being swapped out of memory.

-timerResolution integer
    If set to nonzero xpilots will requests signals from the OS at 1/timerResolution second intervals. The server will then compute a new frame FPS times out of every timerResolution signals.

-password string
    The password needed to obtain operator privileges. Allows operator privileges to be gained during a game by those who know the password via commands typed in the client's message window. See the Message-window commands section below. Note that specifying this on the command line is not secure unless you are the sole user of the host xpilots is started on, as ps(1) may be used to retrieve the options passed on the command-line when the server was started. A more secure way of starting a passworded server is to set the password in the password file and protect the mapfile with chmod(1) (e.g. chmod 600 password) to keep it private.

-clientPortStart integer
    Use UDP ports clientPortStart - clientPortEnd (for firewalls) When the xpilots server is behind an IP masquerading or NAT firewall, the UDP ports used for client connections (as distinct from the contact port, which by default is 15345/udp) must be defined by the server, and the firewall must be configured to forward the defined port range to the xpilots server host. Use this switch with -clientPortEnd to define the range. For example, start the server with xpilots -clientPortStart 40000 -clientPortEnd 40009 and on the firewall redirect ports 40000/udp through 40009/udp to the host that xpilots is running on. One port must be reserved for each client, so reserve the same number of ports as there are bases on the map.

-clientPortEnd integer
    Use UDP ports clientPortStart - clientPortEnd (for firewalls) Used with -clientPortStart to reserve a range of UDP ports for client connections.

  Map file options
This section describes the options which may be specified either in the map file, in the defaults file, or as command line switches. For a list of all options, try xpilots -help. See also sections Command options and Defaults file options.

-robots number
    Tells the server that you want number robots instead of the default - number-of-bases/2. A value of -1 will fill the entire server with robots. Note however that there will always be room for one new player, the robots will be kicked out of the game to accomodate for new players, they will also enter the game when there is space for them.

  Prompt options (owner only)
If you are the owner of a server you have successfully connected to (with xpilot(6)), you have several special commands available, all of which applies to the current server only:

m   Send a message to the players.

k   Kick a player out of the game. Currently, this command does not stop the player from re-joining the game. Hopefully, however, he or she would have learned their lesson.

l   Lock/unlock the game. This prevents other users from joining the game.

d   Shutdown/cancel shutdown. This command will ask for a reason and a shutdown delay (in seconds) and transmit these to the server. A timer will appear showing how much time is left before the game goes down. If you don't specify a delay, you will be canceling an already initiated shutdown.

  Message-window commands
The server now supports commands typed via the client's message window while in the game. This provides a more convenient way to communicate with the server than the old command-prompt interface, as it does not require the user to leave the game window to operate the controls. All such message-window commands start with the slash (/) character. These are divided into two groups, those which can be typed by ordinary players and those which are only accessible to operators who have first supplied the correct password with the /password message-window command. If a password is not set on the server by the owner, the operator commands are not usable. Where a name is specified in the following commands, only leading characters in the name need to be typed. If two names start with the same characters, type as many characters as are needed to uniquely identify the player.

Player message-window commands

    /help [command]
        Without a parameter, this displays a brief message, listing the supported commandline options. Specifying /help command displays brief help for the command.

    /team number
        Swaps you to the specified team number.

    /queue
        Show the names of the players waiting on the queue to enter the game. See also /advance.

    /version
        Displays the server version number.

        Operator message-window commands

            /password password
                When the correct password is given, the player is granted operator privilege for the server. Subsequently, any of the other operator commands listed here may be executed by the player.

            /advance name
                Moves the named player to the front of the queue. See also /queue.

            /kick name
                Kicks the named player from the game.

            /lock [value]
                Without a parameter, this displays the lock status of the game. Specify /lock 0 to unlock the game or /lock 1 to lock the game so that no more players may enter.

            /pause name
                Pauses the named player.

            /reset [all]
                Resets the current round number to 1. If /reset all is specified, all scores are set to 0 as well.

            /set option value
                Sets the named option to the specified value. Note that some server options cannot be changed at runtime. The server will notify you if you cannot change a value, or if you specify an invalid value.

WARNINGS AND BUGS
See xpilot(6).

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.

CREDITS
See the provided CREDITS file.

COPYRIGHT & DISCLAIMER
XPilot is Copyright © 1991-2002 by Bjørn Stabell, Ken Ronny Schouten, Bert Gijsbers & Dick Balaska. XPilot comes with ABSOLUTELY NO WARRANTY; for details see the provided LICENSE file.

FILES
/usr/local/lib/xpilot/maps/
    Miscellaneous maps.
/usr/local/lib/xpilot/log
    Log file.
/usr/local/lib/xpilot/defaults
    Defaults file.
/usr/local/lib/xpilot/password
    Password file.

SEE ALSO
xpilot(6), xset(1), emacs(1)