xpilot-ng-4.7.3/0000775000175000017500000000000011344326764010730 5ustar kkxpilot-ng-4.7.3/doc/0000775000175000017500000000000011344326746011475 5ustar kkxpilot-ng-4.7.3/doc/FAQ0000664000175000017500000010652211344054165012026 0ustar kkFrom: faq@xpilot.org (XPilot FAQ) Newsgroups: rec.games.computer.xpilot,rec.answers,news.answers Subject: XPilot multi-player Internet game FAQ Approved: news-answers-request@MIT.EDU Distribution: world Expires: Thu, 12 Jun 2003 23:59:59 GMT Summary: Frequently Asked Questions about XPilot with Answers Keywords: xpilot,games,Internet,faq Archive-name: games/xpilot-faq Last-modified: 2002/06/12 Version: 4.5.4 Submitted-By: faq@xpilot.org This is the Frequently Asked Questions list With Answers for XPilot. Copyright (C) 1993-2002 by the XPilot FAQ Group (faq@xpilot.org). This FAQ is posted in rec.games.computer.xpilot on irregular intervals. It is also part of the XPilot distribution. It can also be obtained from or Or by mailing the following message to mail-server@rtfm.mit.edu: send usenet/rec.games.computer.xpilot/XPilot_multi-player_Internet_game_FAQ New questions in this release: 3, 4, 8, 21, 27, 28 Questions changed in this release: 1 - 28 Questions changed in the previous release: 2 Questions: 1) Does this FAQ answer all my questions about XPilot? 2) What is this wonderful game called XPilot everybody is talking about? 3) Does the Windows version work on ...? 4) Will it work on my Macintosh? 5) What is the latest version? 6) Where can I get it as soon as possible? 7) Where can I get precompiled XPilot executables? 8) Is the latest development version also available? 9) Sound? Does it really have sound? 10) How can I uncompress the source XPilot distribution files? 11) Compilation fails, because the compiler generates lots of error messages? 12) How should I start the game? 13) The xpilots server complains that it is unable to read globe.map? 14) Why is the client so slow? Why is my display so jerky? 15) Where can I get new maps? 16) How can I distribute my own carefully crafted maps? 17) How can I design my own maps easily? 18) How can I design my own ship? 19) I have a problem because this and that is not working. 20) What is the meta server? Where can I find other players? 21) Why do I get "Could not establish connections with any metaserver"? 22) What information on XPilot is available online? 23) What is the unofficial XPilot Newbie Guide? 24) How can I contribute bugfixes and new features to the game? 25) Why do I never get any items (triangles) to appear in my maps? 26) What are the Well Known Problems for the latest version? 27) Why can't I shoot players flying at high speeds? 28) Are there other implementations of XPilot? Answers: 1) Does this FAQ answer all my questions about XPilot? No, this FAQ is only meant to get you up and running and covers some issues not found elsewhere. In the XPilot distribution there is authoritative documentation any wanna-be XPiloteer should read. Pay special attention to the two manual pages in the man6 directory and to all README files. Please see question 22 for more sources of information about XPilot. 2) What is this wonderful game called XPilot everybody is talking about? XPilot is a multi-player tactical manoeuvring game for Windows, Linux and Unix workstations. The essential elements of play are that all players have fighters which move through an artificial world with a number of customizable features, shooting each other and at the same time trying to attain some objective to score points. Players need to master a number of tactics in order to succeed. Depending on the kind of world, the game can be extremely fast paced, or taken at a more leisurely pace. But whatever the world or style of play, the main objective is to have a lot of fun. Well designed maps with various challenging objectives are what makes XPilot a rich and compelling game. Because of this, it has captured a loyal following of players who have stuck with the game over a span of several years, meeting yearly for tournaments. The camaraderie developed between players is strong. For example, it brought about the XPilot Summer Camp of 1999 in Denmark which you can read more about at the XPilot web site, drawing players from all over Europe. The principal kinds of XPilot maps are as follows. In a team map with "treasures" the objective is to steal the opponent's treasure (also simply referred to as the "ball") and return it to your own base, "caching" it to score before your opponent does. In a race map, the objective is to finish first. And then there is the "items map" where the objective is simply to collect items to help you slaughter your opponent while attempting to avoid getting shot. On these maps, your ship can have various kinds of special weapons like mines, smart missiles, heat seekers and so on. Maps can also feature robots flying around shooting players and other robots, or special bonuses to improve the possibilities of their ship like more engine power, phasing, deflectors, or cloaks. The odd map out there has various combinations of all of these elements of play: treasure-race maps, item-treasure maps, and team-bot maps, to name a few possibilities. People can create their own maps using either a standard text editor or a nifty map editor with easy-to-use graphical user interface. Nice maps are a popular item to share with others. The game is very configurable in that you can specify many parameters in a defaults file, in the map file or on the command line. Configurable options include the speed of shots, the lifetime of shots, the force and direction of the gravity, whether players can use shields or not, the chance that some kind of special bonus appears in the world, the number of screen updates per second and so on. Since release 3.0 it is possible to play games across the Internet if the roundtrip times are below 150 milliseconds or so, depending on the frame rate of the XPilot server. Some crazy players actually do play routinely with latencies of 200 to 250 ms, or even higher, so it can be done if necessary, but is not particularly recommended for a newbie. XPilot is copyrighted by Bjoern Stabell, Ken Ronny Schouten, Bert Gijsbers and Dick Balaska. Many people around the world have contributed a plethora of ideas and source code or helped in other ways to have XPilot run on a diverse set of UNIX computers. See the CREDITS file for more details. The XPilot home page on World-Wide Web is: There is a large, entertaining, but rather dated Newbie Manual on WWW which encompasses more than 160 articles. Its URL is: There is also the wildly popular unofficial XPilot Newbie Guide by Jarno here: 3) Does the Windows version run on ...? The Windows version runs on all 32 bit Windows platforms, including 95/98/ME/NT/Win2K and WinXP. 4) Will it work on my Macintosh? With some effort, probably, unless you have a really old Mac. For the Mac, there are ports of Linux available for most models (except for the very oldest m68k models with no MMU) and XPilot will run on that. Or if you run Mac OS/X, you can get XPilot working following the instructions at To summarize, you need to install fink, use it to install an X server, install a window manager (e.g. Afterstep), compile & install XPilot (you need to have installed the Developer CD to do this) and drop to Darwin at boot time to run startx instead of running it under the Aqua interface which is very slow. Then invoke xpilot by specifying the path to the installed binary (or add the directory xpilot is in to your PATH so you can just type "xpilot") in an xterm. 5) What is the latest version? 4.5.4. Which is XPilot release 4.5, patchlevel 4. Subscribe to xpilotgame-announce if you want to be notified each time a new release is announced. See: 6) Where can I get it as soon as possible? Anonymous ftp to ftp.xpilot.org. Use as login name anonymous or ftp and supply your email address as password. Go to the directory /pub and look for the file named xpilot-4.5.4.tar.gz. Some patches for older versions are also available. Debian carries the latest version of the official XPilot source here: and at its mirror sites. 7) Where can I get precompiled XPilot executables? Most Linux distributions carry precompiled XPilot executables. See your distribution's nearest archive mirror. ftp.xpilot.org itself also distributes binaries for Windows and Red Hat Linux, the latest of which will be named XPilot4.5.4-NT##.exe and xpilot-4.5.4-##.i386.rpm respectively where "##" is the package revision number for each. 8) Is the latest development version also available? We encourage new users to stick with the latest stable version, but if you would like to play with the latest development source, it is available at . Note: this is not the same as which was so named simply because it was the first XPilot-based project hosted on SourceForge. See question 28. Only later did the official XPilot project move to sf.net, and thus it had to be named xpilotgame. Instructions are given on the xpilotgame site for browsing or checking out the source from CVS. If the release number in ./xpilot/Local.config has the suffix "alpha", features are still being added, and many things may still be broken. If the suffix "beta" is present, features are frozen and the final bugs are being worked out to prepare for a release. If you use either an alpha or beta release, please upgrade to the final release once it comes out. You should at the very least be on the xpilotgame-announce list so that you'll receive final release announcements. See: Note: again, be aware that this is not the same as the xpilot-announce list also hosted at sf.net. At the same time, you should also consider joining the xpilot-hacks list where you will be made aware of any problems others may have encountered in the development versions: 9) Sound? Does it really have sound? Yes, but the consensus is that sound support is barely usable. The principal objections are that latency is too great, and it is based on rather dated sound server libraries: rplay, ncd, and DEC AudioFile that hardly anyone uses anymore. So if you read the docs, go through the bother of setting it up, and then are underwhelmed by the results, don't say we didn't warn you. 10) How can I uncompress the XPilot source distribution files? The files are "tarballs", compressed tar archives in GNU zip (.gz) format. On most systems, this should work: gunzip xpilot-4.5.4.tar.gz 11) Compilation fails, because the compiler generates lots of error messages? This is probably due to not using an ANSI C compliant compiler. Consider using gcc. Also, do not use the -ansi option together with GCC, because some system include files are not fully ANSI compatible. 12) How should I start the game? When you have managed to compile and install XPilot successfully or have installed binary packages for both the client and server, you will have two executables. One program is named "xpilots", which is the server program. If you do: "xpilots -help" then you will see some configuration options with explanations. Start this program in one window simply by typing: xpilots or ./xpilots. Nothing much will happen yet. The other program is named "xpilot", which is the client program. Startup this program in a second window. If you start this program without arguments, you will see a login screen containing three buttons: Local, Internet and Quit. Local tries to find all XPilot servers on your local network. Internet contacts the XPilot meta server to locate servers on the Internet. Quit does the obvious. You can also start xpilot with the host where the XPilot server is running as its command line argument. When started this way, the xpilot client will give you access to a command line which gives you the advantage of several options before entering the game, e.g. *** Server on xpilot.e.kth.se. Enter command> Now type a question mark "?" to see some possible options. Or simply type a return to enter the game. To join a server when playing from Windows, the program XPWho is available, and included in the standard installation. This handy tool automatically downloads a list of the currently running servers from meta.xpilot.org. The displayed list will tell a lot of information about each server, including who is currently playing on it. You can join any server you like simply by double clicking on the name. XPWho provides the option of selecting a shipshape, and joining a specific team on team-enabled games. 13) The xpilots server complains that it is unable to read globe.map? First read the READMEs more carefully. They tell you that you need to adapt the Imakefile or Makefile and possibly the config.h file to your XPilot installation configuration. Specifically modify LIBDIR to the directory where you have your XPilot lib directory and MAPDIR in case you have changed your map directory. There are also two manual pages included which may offer you more help. 14) Why is the client so slow? Why is my display so jerky? A slowdown in frame rate is usually due to poor server performance. Delayed "responsiveness" is most likely high network latency, and jerkiness (frames are lost) could either be poor client performance or packets being dropped by the network due to congestion. Various meters are available from the "Config" menu in the client to help diagnose the kind and severity of lag you are experiencing. I'll start by outlining a few common "lag factors" and then go on to describe some detailed performance tuning tips. a) Common lag factors i. Hardware XPilot is not so demanding as to demand the latest whizbang multi-hundred-dollar graphics card. Virtually anything on the PC market today will do, and some of the better old stuff will manage quite nicely. [ When the current FAQ maintainer started playing XPilot in 1997, his then-one-year-old S3-based graphics card was perfectly adequate. ] However, if you have a really ancient card with no 2D acceleration, you're not going to get decent peformance. In a word: upgrade. ii. Demanding client options Turning on any of the texture options will strain your graphics performance. Conversely, turning them off will alleviate the problem. You'll need to experiment with these along with various client tuning tips to find the right balance for your hardware. iii. Demanding server options Great strides have been made recently to make certain server options that are demanding on both the CPU and network, such as cluster nukes, put less strain on both. However, if you have an underpowered server system or low bandwidth connection, you should think twice about running very "busy" maps with lots of bots, cannons, shots, etc. each of which contributes to the total load put on your CPU and link. iv. Network The root of the problem could be poor network performance. There are a few suggestions below for dealing with this. v. Client or server system load Finally, if either the XPilot client or server system is under heavy load, be that CPU or a high rate of I/O (usually disk or network), clients will experience lag. Common sense says that xpiloting while burning mp3s or performing backups is generally a bad idea. If you have a "mysterious" source of system load, use "top" to try to locate the problem processes. The rest of this answer explains some performance tuning tips for the XPilot client, server and your X server. b) Network performance tuning tips Play outside peak network usage hours. Some bad performance is due to saturated LANs (or high-speed Internet provider's network if you're playing across the Internet). A network with as little as possible load, or at least an even load is important for getting good, smooth response. Decrease sparkprob. This will result in fewer sparks being sent over the network (sparks take up much of the network bandwidth). This is particularly important for servers with low bandwidth (e.g. 128K ISDN or a 56K dialup connection). In such cases not only should you decrease sparkprob, but you should recommend to all other players to decrease sparkprob. In general, 128K ISDN and 56K servers are a poor choice for running an Internet accessible server. You should probably start the server +reportMeta so that only people to whom you have disclosed the location of your server will join. Or if possible, relocate your server to a higher bandwidth connection. c) Client performance tuning tips The first thing to try is to enable at compile time either DoubleBufferExtension or MultiBufferExtension and then start the client with -multiBuffer on. To determine if your X server supports these extensions, check xdpyinfo, e.g. $ xdpyinfo | grep -i double XFree86 version 4.x, the most popular X server currently in use, supports the double buffering extension. Therefore some pre-compiled XPilot client binaries (e.g. the XPilot client in Debian) have this option enabled at compile-time by default. Decrease the number of colours. This might help, but it depends on which double buffering routine you use and probably on the implementation of the X server. Decrease the window size (it is resizable now). This will result in fewer packets sent over the network and a lot less work for the X server. Clearing a 1024x1024 window is roughly four times more work than clearing a 512x512 window, and clearing/copying for double buffering often seems to be the limiting factor. Try the erase-hack by starting xpilot like this: $ xpilot -erase This will have the client use a different drawing technique, which is reported to speed up the client for older/cheaper workstations by about 50 percent. Unfortunately, this comes at the expense of some drawing artefacts that you may find distracting. Improvements in this area of the code are welcome. Try another double buffering method - you can specify "-colorSwitch no" to select pixmap copying. Color switching is the default. The effect depends on your platform. Try a different visual. Try: "xpilot -visual list" to see a list of supported visuals on your system, or use xdpyinfo. d) Server performance tuning tips Run the server on a different machine from the client. If you have root on the server system, you can run the server at a lower priority (scheduling the server for execution more frequently). For example, assuming you have created a user "xpilots" to run the server under (running any server as root is generally considered a security risk) and you want the server to run at the highest possible priority, start it as follows: # nice -20 su -c xpilots xpilots Or start it in the usual way and renice it afterwards as root: # renice -20 `pidof xpilots` Decrease the frames per second generated by the server by setting the -FPS option. This won't make the server faster, but it might make the game run more smoothly and evenly, and perhaps make the game more fair. Users joining across the Internet really appreciate a slightly lower frame rate (try values like: 14, 12 or 10). 15) Where can I get new maps? There is a collection of older maps at ftp.xpilot.org available via anonymous ftp: In the FAQ editor's opinion, designing a really good XPilot map is a rather difficult endeavour. As a result, many of these old maps fall short, as is evidenced by virtually none of them being actually in use today (see question 20 regarding using the meta server to show maps actively in use). Newer maps can be found on the web. One up-to-date repository of XPilot maps that features thumbnails, brief descriptions of the maps, and a means for submitting your own maps through a form is at: Paul Drees (Zemyla) actively develops new maps, especially demonstrating new or experimental features of the server, several of which started as "Zemyla hacks" and are now in the official XPilot distribution. He also typically has several of these maps running at once hosted at auk.tamucc.edu so you can try them out right away. Zemyla's site is at: Vincent has a map site which, although now a bit old, deserves mention because it is so nicely done: 16) How can I distribute my own carefully crafted maps? See the previous question. Jarno's site makes it easy to add a new map but it is perhaps also a good idea to post an announcement in rec.games.computer.xpilot explaining the ideas behind your map. 17) How can I design my own maps easily? On Unix, use the XMapEdit (xp-mapedit) program, which was made by Aaron Averill and donated to the XPilot project. It is now maintained by the XPilot project and is distributed with XPilot source in the ./src/mapedit directory. On Windows, the nice editor MapXpress has been created by Jarrod Miller, and is included with the installation. This editor includes special features such as a random map generator, and the ability to shift and rotate maps. The latest version is always available from Jarrod's homepage: The map format is in ASCII so you can also make or change maps with your standard text editor (vi, emacs). And everybody did it that way before XMapEdit, but that seems hopelessly complex and tedious now. Special thanks go to Aaron for making XMapEdit. 18) How can I design my own ship? On Unix, use editss. You can get it by anonymous ftp to ftp.xpilot.org in the /pub/contrib directory. For a cross-platform solution, look at Jarno's Java shipshape editor at XPShipEditor is a ship editor by Lewis Beard that comes with the Windows distribution of XPilot. It is written in Visual Basic, and is no longer actively developed. If you have questions about it, please email xpilot@xpilot.org. There is also Jonny Svrling's Java "Ship Shaper" available from This is reported to work on Windows but not Unix. It also seems to be no longer maintained. 19) I have a problem because this and that is not working. Make sure you use the latest "officially released" version. You will be most cooperative if you try to fix it yourself first. If you tried everything and you still cannot solve it then post a help request to rec.games.computer.xpilot or email xpilot-hacks@nslug.ns.ca. There are some things that are generally helpful to mention, when relevant: The XPilot version and where you obtained the distribution. Your hardware. Operating system. Windowing system (X11, ...) C Compiler used. Changes you made to configuration files. Any changes you have made to the source code or installation procedures. Any problems you had during installation. 20) What is the meta server? Where can I find other players? The meta server is a server program that allows people to find other XPilot servers running on the Internet. XPilot servers can report their existence to the meta server on startup and every three minutes of active play. Then other players can query the meta server and find status information on XPilot games in progress. The meta server also maintains a nickname database containing all the nicknames in use by Internet XPiloteers. XPiloteers can add their nickname interactively and protect it by a password. The most obvious way to use the meta server is by pressing the "Internet" button when you start the XPilot client. This will show you a screenful of active servers which you can ping to measure latency. This will help you select a reasonably unlagged server. Generally, 150ms or less is considered playable. Click on the server name to join the game. You can also access other features of the meta server by connecting with telnet. Jarno reports, however, that this doesn't work with the default Windows telnet client, nor with another one for Windows that he tried. If you find a Windows telnet solution that works for you, please let us know. To access meta via telnet, do the following: telnet meta.xpilot.org 4400 Help is available online. Example session:
    telnet meta.xpilot.org 4400
    Trying...
    Connected to meta.xpilot.org..
    Escape character is '^]'.

    Welcome to the XPilot Meta server

    These are the available ports on the Meta server:
    4400:   This port.  The interactive user port.
    4401:   The program port.  It lists all info in one go and terminates.
    4402:   The FAQ port.  It will give you the FAQ in one go and terminate.
    4403:   The nickname port.  This will give you the current nick name list.

    Type "help" to list possible commands.

    E-mail problems to xpilot@xpilot.org.

    >list
    4.5.3          :xpilot.void.adminz.be         :15345 :0  :2d 21.56  :Xpilot-Tournament Map (Blood's
    4.5.3          :xp.abgenix.com                :15345 :0  :1d 21.56  :West Coast Blood's Music
    4.5.3          :host217-34-82-162.in-addr.btopenworld.com:15345 :1  :0.00      :The Globe
    4.5.3          :whipit.devo.com               :15345 :0  :8d 18.45  :Blood's Music II
    4.5.1          :xpilot.terrabox.com           :15345 :0  :1d 11.19  :tzx-rambunctious
    4.5.3          :xpilot.games.zoreil.com       :15345 :0  :9.15      :The Globe
    4.5.3          :atfilm1.informatik.tu-muenchen.de:15345 :0  :7d 3.15   :Large Tournament
    4.5.1          :stinkymonkey.cc.columbia.edu  :15345 :5  :7d 14.48  :New Dark Hell
    4.?.4          :angus.rap.ucar.edu            :15345 :0  :17.59     :Ultra Doom
    4.5.3          :fishy.fishy.fishy             :15345 :0  :46d 13.27 :Xpilot-Tournament Map (Blood's
    >server stinkymonkey.cc.columbia.edu
    >status
    SERVER VERSION...; 4.5.1
    STATUS...........; ok
    MAX SPEED........; 14 fps
    WORLD (200x200)..; New Dark Hell
          AUTHOR.....; PeaceMaker
    PLAYERS (10/16)..;
    
    NO;  TM; NAME;             LIFE;   SC;    PLAYER;
    -------------------------------------------------
     1... *  Bosmans Jos        014   193     verhaege@bennevis.esat.kuleuven.ac.be
     2...    Thomas             079   147     thomas@gemini
     3...    Kazak              009    44     abc0@pc-boschi.cineca.it
     4... R  R2D2               004    36     robot@xpilot.org
     5...    Schnucki           007    25     bohnenka@alkhwarizmi.cs.utwente.nl
     6... R  Terminator         002     3     robot@xpilot.org
     7...    Mary jane          014    -3     DaxxHutchinson@dax
     8... R  Mickey             001    -6     robot@xpilot.org
     9... R  Capone (Kazak)     007   -20     robot@xpilot.org
    10... R  Neuro (Kazak)      005   -26     robot@xpilot.org
    >quit
    Connection closed by foreign host.
Try port 4401 instead of 4400 to get the server listing in a different format. Port 4402 will get you the latest version of this FAQ. Port 4403 will list the current nicknames database. Due to some software problems the meta server may not be running at all times, but it mostly will. In case it happens to be unreachable there is an backup meta server at telnet meta2.xpilot.org 4400. The graphical meta interface in the XPilot client will attempt to contact both servers. The meta server is developed and maintained by Ken Ronny Schouten and Bert Gijsbers with email address meta@xpilot.org. 21) Why do I get "Could not establish connections with any metaserver"? The XPilot client will display this message when all attempts to contact the meta server fail. There may temporarily be a network split between you and both the primary and backup meta servers, or (although this is rather unlikely) both meta servers may be down. Try again later, or specify the address of a known xpilot server directly on the command line, bypassing the meta interface (see question 12). If meta or meta2 is simply slow and not completely down, you can try using the telnet interface to obtain the name of the desired xpilot server (see the previous question). There is one other possible cause for this error. In XPilot 4.5.2, the IP number of meta.xpilot.org changed. The XPilot client has the IP# embedded in it to make connection to meta quick and reliable even if the DNS server for xpilot.org is temporarily unreachable. Thus, if you are using an older client, the connection to meta.xpilot.org will fail, and meta2.xpilot.org will be contacted. If meta2 is slow or unreachable, the connection attempt will time out before you get a list of servers. The solution here is to upgrade your client. 22) What information about XPilot is available online? The XPilot home page can be found at: Highly recommended is the unofficial XPilot Newbie Guide by Jarno van der Kolk at: All things XPilot-related may be discussed on the Usenet newsgroup rec.games.computer.xpilot, for which this FAQ was originally written. XPilot mailing lists of interest to users are xpilotgame-users and xpilotgame-announce, which are hosted here: The XPilot development home page can be found at: The unofficial mailing list for XPilot development discussions between the official developers and contributing developers from the XPilot player community is at: Other WWW pages related to XPilot come and go. There are too many to list here. Your best bet finding recent pages is to simply try a search with your favourite web search engine for the keyword "xpilot". Try: 23) What is the unofficial XPilot Newbie Guide? The Newbie Guide is an interactive web site that incorporates much of the knowledge and wisdom of experienced players into a single document. It largely supercedes the expansive but now quite dated earlier work, the Newbie Manual hosted at www.xpilot.org/NM. One of the very nice features of this guide is the ability to add your own comments on any page. Using this format, Jarno has succeeded in keeping the Newbie Guide up-to-date with the latest releases, patches and pearls of wisdom. It is available here: Topics ranging from complete descriptions of all weapons to ship-making, map-making, jargon and etiquette are all covered by this guide. 24) How can I contribute bugfixes and new features to the game? Make your contributions as context diffs against the latest version and mail them to xpilot-hacks@nslug.ns.ca which is an open forum where patches and new ideas for the game are discussed. A subscription form and the archives of the list are here: You can make context diffs with the diff command. Use "diff -c oldfile newfile" or "diff -cr olddir newdir". The authors very much appreciate fixes and improvements. XPilot has a longstanding tradition of incorporating code from hackers all over the world. 25) Why do I never get any items (triangles) to appear in my maps? At startup the xpilot server looks for a configuration file to retrieve default values for some of the options. The default name for this file is LIBDIR/defaults, where LIBDIR is defined during compilation in the Makefile or Imakefile. If you forgot to change the value of LIBDIR before compilation or if you have (re)moved the XPilot directories after installation then the xpilot server cannot find this file anymore. In which case some of the values will have no or a useless value. This is the case if you do not get any items to appear in your maps. An example defaults file with reasonable default values can be found in the XPilot distribution as ./lib/defaults. 26) What are the Well Known Problems for the latest version? None. 27) Why can't I shoot players flying at high speeds? Uoti Urpala provides this explanation: If you fly fast, the server doesn't check for all possible collisions. The analytic collision checking itself would be accurate to half warp[1] speed but the server only does the check for bullets that are within a certain distance from the ship. So if you're shooting at someone trying to reach warp speed, it is likely the hit won't be detected. I think the distance on [chuck-yeager.e.kth.se] is 4 blocks around the ship. So if the speed difference between ship and bullet is more than that per frame hits can go undetected, depending on where the bullet appears at the start of a frame. [1] Editor's note: "warp" is achieved by flying in a straight path on a world with edgeWrap = true until the ship appears to be stationary, i.e. is flying so fast that each frame it moves the entire height (or width) of the map. 28) Are there other implementations of XPilot? Yes and no. Nothing has been released by either of these projects yet, but they are being actively developed, and the very daring and adventuresome may download and try out what they have produced so far. a) XPilot++ XPilot++ is an ambitious project led by XPilot developer Dick Balaska (Bucko) that is still in alpha development to port all of XPilot to C++. This will enable support for many new features more easily and unify Unix and Windows versions into a single codebase, doing away with the need for platform-specific versions of XPilot utilities such as XPWho and xp-mapedit. XPilot++ can be found here: One new feature is more aggressive and smarter bots. Jarrod Miller (Daedlaes) is working on a new integrated shipshape and map editor as a part of this project. XpilotControl is actually much more than that, as it will, when finished, also allow remote administration of running XPilot++ servers and provides a single meta interface for both Windows and Unix for listing and joining XPilot servers. b) xpilot.sf.net As noted earlier, this is a distinct project from the official XPilot project at xpilotgame.sf.net. Uoti Urpala (U) leads this project. Its most distinctive feature is a polygon map format which is more flexible and extensible than the current cell-block-based map format. This as-yet-unamed version can be found here: Other enhancements include: - Better collision detection between objects -- the server now notices a bullet hitting a ship even if it hits a wall later in the same frame. - The official version lacked ship-wall collision detection for wall edges which did not touch any vertices of the ship. Now, a player will no longer be able to get stuck on the corner of a wall due to this problem. - Different textures and colors can be specified in the map format. - The client can automatically download textures over HTTP. - Server-side recording allows re-enactment of a whole game from the vantage point of an onlooker who can "snoop" through the eyes of any player instead of just the limited view of the player who recorded the game, as with client-side recordings. - Scaling of framerate allows smoother play at higher framerates (assuming enough bandwidth is available) without distorting the speed of the game. - When player passwords are enabled on a server, its users may register nicknames. Once a password is set on a nickname, a player must authenticate to use the nickname. Compatibility: - The server doesn't work with original XPilot clients which only understand the cell-based map format. - The server doesn't read original cell-based maps, but there is a utility provided to convert them to polygon format. - Robots are not implemented. EOFAQ xpilot-ng-4.7.3/doc/man/0000775000175000017500000000000011344326746012250 5ustar kkxpilot-ng-4.7.3/doc/man/xpilot-ng-xp-mapedit.man0000664000175000017500000000121211344054165016721 0ustar kk.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36. .TH XPILOT-NG-XP-MAPEDIT "6" "August 2006" "xpilot.sourceforge.net" "Games" .SH NAME xpilot-ng-xp-mapedit \- Edit block based XPilot maps. .SH DESCRIPTION Usage : .IP xpilot\-ng\-xp\-mapedit [options] [mapfile] .PP [mapfile] is the map you wish to edit. Leaving it blank will start a new map [options] can be .HP \fB\-font\fR .IP Use this font instead of the default .HP \fB\-display\fR .IP Display mapeditor on this display instead of the current .HP \fB\-help\fR .IP Output this help .HP \fB\-\-help\fR .IP Output this help .HP \fB\-\-version\fR .IP Output version xpilot-ng-4.7.3/doc/man/xpilot-ng-replay.man.old0000664000175000017500000001627311344054165016737 0ustar kk.\" -*-Text-*- .\" .\" Copyright © 1991-2004 by Bjørn Stabell, Ken Ronny Schouten, Bert Gijsbers, Dick Balaska, Uoti Urpala, Juha Lindström, Kristian Söderblom and Erik Andersson & Steven Singer. .\" .TH XPILOT-NG-REPLAY 6 "Requires X11" .ds )H GNU General Public License 2.0 applies .ds ]W XPilotNG 4.6.0: Mar 18, 2004 .if n .ad l \" If nroff formatter, adjust left margin only .if t .ad b \" If troff formatter, adjust both margins .SH NAME xpilot-ng-replay \- Playback an XPilot session. .SH SYNOPSIS .B xpilot-ng-replay .B [-help] .B [-scale \fIfactor\fC] .B [-gamma \fIfactor\fC] .B [-compress] .B [-fps \fIvalue\fC] .B [-FPS \fIvalue\fC] .B [-loop] .B [-play] .B [-verbose] .B inputfile .SH OVERVIEW xpilot-ng-replay is a program to view an XPilot recording. It takes record files produced by \fIxpilot-ng-x11(6)\fP and allows the user to replay them and make snapshots of frames. .SS Options .TP 15 .B -help Prints some help, including commandline options. .TP 15 .B -verbose Prints some information about the record file. .TP 15 .B -compress Save frames in compress format using the \fBcompress\fP program. .TP 15 .B -scale \fIfactor\fP Sets the scale reduction factor for saving operations. Valid scale factors are in the range [0.01 - 1.0]. .TP 15 .B -gamma \fIfactor\fP Sets the gamma correction factor when saving scaled frames. Valid gamma correction factors are in the range [0.1 - 10]. .TP 15 .B -fps \fIvalue\fP Set the number of frames per second used for replay and recording. .TP 15 .B -FPS \fIvalue\fP Same as -fps \fIvalue\fP. .TP 15 .B -play Start playing immediately. .TP 15 .B -loop Loop after playing. .PP If the filename given is `\-' then the standard input is read. Frames read from the standard input are stored in memory to allow the user to jump backward and forward through them, however, with large record files earlier frames may be discarded to make way for later frames. This will mean that it may not be possible to jump back to the start of a large recording. This restriction only affects files read from pipes. .SH THE GRAPHICAL USER INTERFACE When you start the program you will be presented two windows. The first and largest window is the recording view window where you will see the recorded game. The second window is the control window which contains a row of pushbuttons and which shows some information about the recorded game. A third window may be popped up giving access to the controls to save frames. The buttons in the control window allow you to move through the recording. They are, from left to right: record, rewind, reverse play, play, fast-forward, pause, stop and eject. The symbols on them match the standard symbols seen on tape and CD players. Just below the buttons is information about the recording. The position of the current frame within the recording, the server the game was played on, the player's nickname and username, the client that the player connected from and the number of frames per second the server was running at. Playback can be in either of two modes \- normal or paused. In normal mode the recording will play back in real time as close to the original frame rate as possible. In paused mode, you can single step through frames. In addition to the buttons certain keys perform shortcuts. .SS Buttons .TP 15 .B Record This button pops up a window allowing you to mark frames for recording, and to save the marked frames in either a standard graphics format (\fIppm\fP) or in the XPilot Record format. .TP 15 .B Rewind In normal mode this plays the recording backwards at 10 times normal speed. In paused mode this button steps backward 10 frames. .TP 15 .B Reverse play In normal mode this plays the recording backwards. In paused mode it single steps backward one frame. .TP 15 .B Play In normal mode this plays the recording forward at normal speed. In paused mode it single steps forward 1 frame. .TP 15 .B Fast-forward In normal mode this plays the recording forward at 10 times normal speed. In paused mode it steps forward 10 frames. .TP 15 .B Pause This suspends playback and switches to paused mode. .TP 15 .B Stop This suspends playback and switches to normal mode. .TP 15 .B Eject This quits the program. .SS Keys .TP 15 .B f, space Step forward 1 frame. .TP 15 .B b, delete, backspace Step backward one frame. .TP 15 .B z Go to frame zero. .TP 15 .B [ Mark this as the first frame to be saved. .TP 15 .B ] Mark this as the last frame to be saved. .TP 15 .B * Save marked frames in PPM format. .TP 15 .B & Save marked frames in XPilot Recording format. .TP 15 .B q Quit the program. .SS Recording Either by using the keys, or the popup record window, you can mark a section of the playback for recording. To do that, you move to the first frame you wish to save and mark it as the first frame. Then move to the last frame and mark that. Then save the marked frames. When saving in PPM format the frames will be saved in files called .B xpNNNNN.ppm. Each frame wil be placed in a separate file, and the .B NNNNN will be replaced by the frame number within the original recording. When saving in XPilot Recording format the frames will be saved in one new file called .B xpN-M.xpr, where N is the frame number of the first frame and M is the frame number of the last frame to be saved. Since having a large number of PPM files can be quite costly in diskspace, an option exists to automatically shrink them whilst saving. Use the .B -scale option to specify a scaling factor, for example, a scale factor of 0.25 on a 768x768 recording would result in the saved frames being 192x192. When a frame is shrunk like that, the thin lines draw by .B xpilot can appear dimmed. To overcome this, use the .B -gamma option with a gamma value greater than 1. That should brighten up the saved frames. In addition a .B -compress option is available to save files in compressed format. .SH EXAMPLES The simplest invocation is .IP .B xpilot-ng-replay test-recording.xpr .PP which will play back a recording, and save frames at the original size. You may want to compress the recording files to save disk space. You can then play them back directly without uncompressing them first using .IP .B gzip -cd test-recording.xpr.gz | xpilot-ng-replay - .PP however, this may limit your ability to rewind through the recording. .B xpilot-ng-replay automatically recognizes if a file is in gzip, bzip2 or compress format. If this is the case then it automatically starts .B gzip -d or .B bzip2 -d or .B compress -d to uncompress the file before playback. To save frames smaller that the original size use something like .IP .B xpilot-ng-replay -scale 0.5 -gamma 2 test-recording.xpr .PP which will save frames at half size. .SH AUTHORS \fBxp-replay\fP was originally designed and developed by Steven Singer (S.Singer@ph.surrey.ac.uk). Additional development was performed by Bert Gijsbers (bert@xpilot.org). \fBxpilot-ng-replay\fP is a slightly improved version. The scaling and gamma correction code was taken from the \fBpbmplus\fP package, which is Copyright (C) 1989, 1991 by Jef Poskanzer. .SH BUG REPORTS Bugs can be mailed to \fBkps@users.sourceforge.net\fP. .SH SEE ALSO xpilot-ng-x11(6), xpilot-ng-server(6), ppm(5), gzip(1) .\" .\" index \fIxpilot-ng-x11\fP \- multiplayer war game .\" index \fIxpilot-ng-server\fP \- XPilotNG server xpilot-ng-4.7.3/doc/man/xpilot-ng-x11.man.in0000664000175000017500000015275211344054165015707 0ustar kk.\" -*-Text-*- .\" .\" @XP_COPYRIGHT@. .\" .TH XPILOT 6 "Requires UDP and X11" .ds )H GNU General Public License 2.0 applies .ds ]W @PACKAGE_STRING@: @XP_RELEASEDATE@ .if n .ad l \" If nroff formatter, adjust left margin only .if t .ad b \" If troff formatter, adjust both margins .SH NAME xpilot \- XPilot multiplayer gravity war game client .SH SYNOPSIS .B xpilot .B [-help] .B [-version] .B [-name \fInickname\fC] .B [-team \fIteam-number\fC] .B [-join] .B [-list] .B [-shutdown [\fImessage\fC]] .B [-display \fIstring\fC] .B [-port \fIport-number\fC] .B [-text] .B [\fIconfiguration-options]\fC .B [\fIserver-host ...\fC] .SH 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 \fBcombat\fP (optionally with teams and/or limited lives) and \fBrace\fP. 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 \fBserver\fP by using a \fBclient\fP program called \fIxpilot\fP. If there are no servers running, you will have to start one of your own (see man-page \fIxpilots(6)\fP). .SS Options .TP 15 .B -help Prints some help, including commandline options. .TP 15 .B -version Prints the current version. .TP 15 .B -name \fIplayer-name\fP 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 \fPname\fP, you will be known by your \fIlogin name\fR. .TP 15 .B -team \fIteam-number\fP Joins team number \fBteam-number\fR. See below for notes about team play. When the server is not configured for team mode, this option has no effect. .TP 15 .B -help Prints a small usage message. .TP 15 .B -version Prints version information. .TP 15 .B -join Automatically joins the first server you get response from. If no \fIserver-host\fP is specified, a \fIbroadcast query\fP is performed to locate a server on the local network. .TP 15 .B -list A \fIbroadcast query\fP is performed on the local network and status information is displayed from all servers found. .TP 15 .B -shutdown [\fImessage\fP] Sends a shutdown to the server, the message part is optional. .TP 15 .B -name \fInick\fP Specifies your nick name. .TP 15 .B -team \fInumber\fP Specifies your wanted team number. .TP 15 .B -display \fIdisplay-string\fP Specifies which X server to contact. .TP 15 .B -port \fInumber\fP Specifies the port number to use when contacting a server. .TP 15 .B -text Invokes the old text-based \fBcommand prompt\fP interface instead of the new \fBWelcome Window\fP. If no \fIserver-host\fP is specified, a \fIbroadcast query\fP is performed to locate a server on the local network. If a \fIserver-host\fP is specified, \fB-text\fP is implied. .TP 15 .B \fIconfiguration-options\fP All the X resource values can be configured separately from the command line. For example to change the ecm key to just `z' use; .B -keyEcm z .TP 15 .B \fIserver-host\fP Tries to connect to server at host \fIserver-host\fP. If successful and \fB-join\fP is not specified, you are presented with the \fBcommand prompt\fP. If neither \fIserver-host\fP nor \fB-join\fP are specified, the \fBWelcome Window\fP is displayed and a server may be selected from there. .SH PROMPT COMMANDS When you startup \fBxpilot\fP specifying a server name but no \fB-join\fP option, or \fB-text\fP is specified, you will get a prompt asking you for directions. You may type .B h or .B ? 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 \fIxpilots(6)\fP. .SH THE WELCOME WINDOW When you startup \fBxpilot\fP without specifying a server name you will be presented with a Welcome window with three buttons in the upper left corner. These buttons are: .RS 5 .TP 12 .B Local Search for \fBxpilot\fP servers on the local network and display a list of matches. Press the \fBJoin game\fP button beside the desired server name to start playing. If no servers are listed, you will need to start one. See \fIxpilots(6)\fP. .TP 12 .B Internet Search the xpilot meta servers (see \fBnotes\fP section) for currently running xpilot servers on the Internet. If the meta servers could be contacted, a list of servers will be displayed. .TP 12 .B Quit Press this button to exit the program. .RS -5 When the \fBInternet\fP 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 \fBserver\fP column for each server listed: .RS 5 .TP 12 .B Next Page If there is more than a screenful of servers, this will allow you to see the rest of them. A \fBFirst Page\fP button will appear to return to the top of the list when you are not on the first page. The page is initially sorted by the \fBpl\fP column in descending order. .TP 12 .B Measure Lag This will fill the \fBping\fP column with the round-trip time for a packet to reach each server (in milliseconds). If the server is not reachable, \fBnone\fP will appear in this column. The results will be sorted by \fBPl\fP in descending order and subsorted in ascending order by \fBPing\fP time. .TP 12 .B Server The hostname of the server is displayed as a red button to join that server. The button is highlighted when the program is attempting to establish a connection to the server. If the server cannot be contacted after two retries, the button will revert to its unhighlighted state. If the button stays highlighted and you do not enter the game immediately, this means you have been \fIqueued\fP 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 display 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 window, or forcibly with \fBkill(1)\fP 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 established 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. .RS -5 The columns of the Internet server table, from left to right are as follows: .RS 5 .TP 12 .B Pl The number of human players on the server. .TP 12 .B Q The number of players currently queued to join the server. .TP 12 .B Ba The number of bases on this map. .TP 12 .B Tm The number of teams, if the map is a teamplay map. .TP 12 .B FPS The framerate of the server in frames-per-second. .TP 12 .B Stat The status of the game, e.g. \fBlock\fP if the game is locked. .TP 12 .B Version The version number of the server. .TP 12 .B Map The name of the map. .TP 12 .B Server The hostname of the server. .RS -5 .SH THE GRAPHICAL USER INTERFACE When you enter a game you will hopefully be presented a window. This window is divided into three major areas: .RS 5 .TP 12 .B 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. On teamplay maps, your fellow team members will appear as green dots on the radar, whereas the enemy will appear as white dots. .TP 12 .B Rating list (Bottom left) This area shows the list of players (sorted with respect to their \fBrating\fP, or `score') currently logged on the server. The player with the highest / 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: .B R means the player is a robot, .B T means the player is not a player but a detached tank, .B D means player is dead (only possible in limited lives mode), .B P means the player is paused and .B 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. .TP 12 .B 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 \fBHUD\fP (Head Up Display) which greatly simplifies and compresses the information you need to know. Currently, the HUD displays the following information: .RS 5 .TP 12 .B 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. .TP 12 .B 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. .TP 12 .B 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'. .TP 12 .B 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 \fBXresources\fP below). .TP 12 .B Score messages Relevant score information is shown below the HUD, as well as on the game field. .TP 12 .B 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. .RS -5 .RS -5 Between the \fBradar\fP and the \fBRating list\fP there are three push buttons: .RS 5 .TP 12 .B Quit Exits the game and the program. .TP 12 .B About Pressing the \fBAbout\fP 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. .TP 12 .B Menu The \fBMenu\fP button pops up a pull down menu with the following buttons: .RS 5 .TP 12 .B Keys Will popup the \fBKeys\fP window, which contains a list of all the \fBX keysyms\fP that have one or more xpilot actions bound to them. .TP 12 .B Config Changes the \fBRating list\fP into a window with a list of most of the options. The options can be changed interactively. Pushing the \fBSave configuration\fP button will save the options and the key bindings to the .xpilotrc file in your home directory. .TP 12 .B Score Displays the players and their scores in the \fBRating list\fP window. .TP 12 .B Player Lists the players with their login name and their host address in the \fBRating list\fP window. .TP 12 .B MOTD Displays the Message Of The Day if the server has one available. .RS -5 .RS -5 .SH GAME CONCEPTS The game objective varies as the server (\fIxpilots(6)\fP) is very configurable. However, below you will find short descriptions of some of the main concepts of the game. .SS 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 \fIxpilots(6)\fP), and can even be set to 0. Some objects affect the gravity in a limited area, these are called \fBgravs\fP 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 \fIxpilots(6)\fP.) .SS 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. .SS Fuel You will also have to worry about your \fBfuel level\fP 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 \fBbonus items\fP 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 \fBF\fP 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 \fIkeyRefuel\fP key (see \fBcontrols\fP section). Fuel takes up mass and will also determine how big the explosion will be when (sorry, `if' :) you meet your destiny. .SS Combat There are two different and mutually exclusive modes which have greatly different objectives: \fBcombat mode\fP and \fBrace mode\fP. The most extensive is the \fBcombat mode\fP, 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 \fBbonus items\fP section. .SS Race In \fBrace mode\fP, 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. .SS Team play \fBTeam play\fP is useful in combination with \fBcombat mode\fP. It is different from straight \fBcombat mode\fP 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 \fBtargets\fP or \fBtreasures\fP. 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 \fIkeyConnector\fP 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 \fIkeyConnector\fP 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 \fIkeyDropBall\fP, 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 \fBteamImmunity: yes\fP is set on the map, your teammates will appear as blue ships, and so will their shots. With \fBteamImmunity\fP 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. .SS 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 \fIkeyShield\fP key (see \fBcontrols\fP 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. .SS 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: .RS 5 .TP 12 .B Fuel can More fuel/energy. .TP 12 .B 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. .TP 12 .B Sensors Enables you to see cloakers to a limited extent. Having more sensors improves this. .TP 12 .B Rear cannon Extra rear cannon. .TP 12 .B Front cannons 2 extra front cannons. .TP 12 .B Afterburner Your main engine becomes more powerful and uses your fuel more efficiently. .TP 12 .B 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 cluster variants of each may be possible. See the description of \fIkeyToggleNuclear\fP, \fIkeyToggleCluster\fP and \fIkeyToggleModifier\fP. .TP 12 .B 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 \fIecmsReprogramMines\fP 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 \fIkeyToggleNuclear\fP, \fIkeyToggleCluster\fP, and \fIkeyToggleModifier\fP. .TP 12 .B 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. .TP 12 .B 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 \fIkeyECM\fP key. .TP 12 .B 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 \fIkeyTransporter\fP key. .TP 12 .B Laser Gives you a laser weapon with limited range. Having more of these increases the range and the repeat rate of the laser subsystem. .TP 12 .B 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. .TP 12 .B 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. .TP 12 .B 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. .TP 12 .B 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. .RS -5 .SH 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 \fBXresources\fP section below. .RS 2 .TP 4 \fIPrimary keys\fP The primary keys are: .RS 5 .TP 12 .B keyTurnLeft {a} Turn left (anti-clockwise). .TP 12 .B keyTurnRight {s} Turn right (clockwise). .TP 12 .B keyThrust {right Shift or left Shift} Thrust me. .TP 12 .B keyFireShot {return or linefeed} Fire normal shot. .TP 12 .B keyShield {space or Caps Lock} Raise shield. Must be held down for continuous use. .TP 12 .B keyRefuel {f or left Ctrl or right Ctrl} Try to connect to nearest fuel station. Must be held down during refueling. .TP 12 .B keyRepair {f} Repair a target. .RS -5 .TP 4 \fISecondary keys\fP The following commands are not always available, some require bonus items to have any functionality at all. .RS 5 .TP 12 .B 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. .TP 12 .B 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. .TP 12 .B 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. .TP 12 .B 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. .TP 12 .B 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. .TP 12 .B keyDetachMine {bracketright} Drop a moving mine - that is, a bomb. .TP 12 .B keyDetonateMines {equal} Detonate the mine you have dropped or thrown, which is closest to you. .TP 12 .B keyEcm {bracketleft} Fire an ECM pulse. .TP 12 .B keyChangeHome {Home or h} Change home base. You will need to be landed on the base of your choice. (The \fBHome\fP key is located just right of the \fBReturn\fP key on most HP-keyboards.) These keys are convenient for HP keyboards, also somewhat adapted to SUN keyboards. .TP 12 .B keyTankNext {e} If you have additional tanks, the current tank will be the next tank. .TP 12 .B keyTankPrev {w} If you have additional tanks, the current tank will be the previous tank. .TP 12 .B keyTankDetach {r} Detach the current tank (or the last additional tank). Heat-seeking missiles will hopefully follow this tank. .TP 12 .B 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. .TP 12 .B keyFireMissile {backslash} Fire smart missile if available. The missile will home onto the player that you have currently locked on. You must have \fBa clear lock\fP on a player for this to work. Requires lock. .TP 12 .B 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. .TP 12 .B keyFireTorpedo {quoteright} Fire a missile without flight control. It runs very fast in shot direction. .TP 12 .B 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. .TP 12 .B keyToggleNuclear {n} Pressing this key will toggle through the following indicators on your HUD (bottom left), only if nuclear weapons are allowed; .RS 12 .TP 4 .B N All missiles or mines launched from now are limited nuclear weapons. .TP 4 .B FN All missiles or mines launched from now are full (or fusion) nuclear weapons. Pressing the key again clears the nuclear weapons mode. .RS -12 .RS -5 .RS 12 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. .RE .RS 5 .TP 12 .B keyToggleCluster {c} Pressing this key will toggle the following indicator on your HUD (bottom left), only if cluster weapons are allowed; .RS 12 .TP 4 .B C All missiles or mines launched are cluster weapons. .RS -12 .RS -5 .RS 12 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. .RE .RS 5 .TP 12 .B keyToggleImplosion {i} Pressing this key will toggle the following indicator on your HUD (bottom left), only if modifiers are allowed; .RS 12 .TP 4 .B I All mine and missile explosions will be implosions instead. .RS -12 .RS -5 .RS 5 .TP 12 .B keyToggleVelocity {v} Pressing this key will toggle through \fBV1\fP through \fBV3\fP 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 \fBV2\fP or \fBV3\fP modifier should be used. .TP 12 .B keyToggleMini {x} Pressing this key will toggle through \fBX2\fP through \fBX4\fP 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. .TP 12 .B keyToggleSpread {z} Pressing this key will toggle through \fBZ1\fP through \fBZ3\fP 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 \fBV3\fP is a single beam of shots. .TP 12 .B keyTogglePower {b} Pressing this key will toggle through \fBB1\fP through \fBB3\fP 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. .TP 12 .B keyClearModifiers {k} Clears all current modifiers in effect. .TP 12 .B keyLoadModifiers1 {1} Loads the modifiers stored in bank 1, as set by the modifierBank1 resource. .TP 12 .B keyLoadModifiers2 {2} Loads the modifiers stored in bank 2, as set by the modifierBank2 resource. .TP 12 .B keyLoadModifiers3 {3} Loads the modifiers stored in bank 3, as set by the modifierBank3 resource. .TP 12 .B keyLoadModifiers4 {4} Loads the modifiers stored in bank 4, as set by the modifierBank4 resource. .TP 12 .B keyToggleAutoPilot {h} This toggles the autopilot feature. You need atleast one Autopilot item before this will work. .TP 12 .B 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. .TP 12 .B 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. .TP 12 .B 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. .TP 12 .B 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. .TP 12 .B 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; .RS 12 .TP 4 .B Return Linefeed This finishes and sends the message. The talk window is also removed from the screen and the message text cleared. .TP 4 .B Backspace Del These keys delete the last character. .TP 4 .B Ctrl-W This deletes the last word. .TP 4 .B Ctrl-U This deletes the entire line of text. .TP 4 .B 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. .RS -12 .RS -5 .RS 12 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; .nf \fI<> Hello world\fP. .fi 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; .nf \fIvip: Hello\fP .fi will send a message to only one player who's name begins the letters \fIvip\fP (the case does not matter). .RE .RS 5 .TP 12 .B keyToggleCompass {y} Turns of the HUD compass display. .TP 12 .B keyLockClose {Select Up} Will lock onto the closest player if he/she is within range. .TP 12 .B keyLockNextClose {Down} Will lock onto the next closest player after the currently locked player. .TP 12 .B keyLockNext {Next Right} Will, if possible, lock onto the next player in the game. .TP 12 .B keyLockPrev {Prior Left} Will, if possible, lock onto the previous player in the game. .TP 12 .B keyConnector {Control_L} Use connector (for the moment, all this is used for is picking up treasures/balls). .TP 12 .B keyDropBall {d} Drop the ball if you are carrying it. .TP 0 These keys let you adjust the control sensitivity: .TP 12 .B keyIncreasePower {KP_Multiply} Increase engine power. .TP 12 .B keyDecreasePower {KP_Divide} Decrease engine power. .TP 12 .B keyIncreaseTurnspeed {KP_Add} Increase turn speed. .TP 12 .B keyDecreaseTurnspeed {KP_Subtract} Decrease turn speed. .TP 12 .B keyToggleOwnedItems {o} Causes all owned bonus items to be shown either constantly or for a brief period after they change in amount on the HUD. .TP 12 .B keyToggleMessages {0} Causes messages to be shown or not shown. .TP 12 .B keyReprogram {quoteleft} Reprogram a modifier bank or lock bank. .TP 12 .B keyLoadLock1 {5} Load player lock from bank 1. .TP 12 .B keyLoadLock2 {6} Load player lock from bank 2. .TP 12 .B keyLoadLock3 {7} Load player lock from bank 3. .TP 12 .B keyLoadLock4 {8} Load player lock from bank 4. .TP 12 .B keyToggleRecord {KP_5}. Toggle recording of session to file (see the recordFile option). This recording can later be reviewed with the \fIxp-replay(6)\fP program .TP 12 .B keyPointerControl {KP_Enter} Toggle mouse pointer control. .TP 12 .B 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 \fIkeyLoseItem\fP key to actually drop the item. Note that you cannot select tanks to drop, tanks can only be released (see the \fIkeyTankDetach\fP option). .TP 12 .B keyLoseItem {KP_Delete KP_Decimal} Drop the item selected with the \fIkeySelectItem\fP key. The server can either delete the item or drop it back into the map depending upon the value of the \fIloseItemDestroys\fP option. .TP 12 .B keyPrintMessagesStdout {Print} Print the current messages to stdout. .TP 12 .B keyTalkCursorLeft {Left} Move Cursor to the left in the talk window. .TP 12 .B keyTalkCursorRight {Right} Move Cursor to the right in the talk window. .TP 12 .B keyTalkCursorUp {Up} Browsing up in the history of the talk window. .TP 12 .B keyTalkCursorDown {Down} Browsing down in the history of the talk window. .RS -5 .TP 4 \fIMouse control\fP There are up to five mouse buttons available to define as keys: .RS 5 .TP 12 .B pointerButton1 {keyFireShot} Define which keys are pressed when mouse button one is pressed. .TP 12 .B pointerButton2 {keyThrust} Define which keys are pressed when mouse button two is pressed. .TP 12 .B pointerButton3 {keyShield} Define which keys are pressed when mouse button three is pressed. .TP 12 .B pointerButton4 {} Define which keys are pressed when mouse button four is pressed. .TP 12 .B pointerButton5 {} Define which keys are pressed when mouse button five is pressed. .RS -5 .SH 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/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. If the .B XPILOTRC environment variable is defined then its value is used instead of $HOME/.xpilotrc. All of these resources can be overridden by their corresponding command line arguments. .RS 5 .TP 12 .B name Nick name of your player. .TP 12 .B team Preferred team number. .TP 12 .B 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. .TP 12 .B 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 \fBEsc\fP 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) .TP 12 .B turnSpeed Primary turnspeed setting of your ship. (Default 30.0) .TP 12 .B 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) .TP 12 .B altPower Secondary power setting of your engine. (Default 35.0) .TP 12 .B altTurnSpeed Secondary turnspeed setting of your ship. (Default 25.0) .TP 12 .B altTurnResistance Secondary turnresistance setting of your ship. (Default 0.12) .TP 12 .B 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 \fBshipShapeFile\fP option. .TP 12 .B 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. .TP 12 .B fuelNotify The limit when the HUD fuel bar will become visible. (Default 500.0) .TP 12 .B fuelWarning The limit when the HUD fuel bar will start flashing. (Default 200.0) .TP 12 .B fuelCritical The limit when the HUD fuel bar will flash faster. (Default 100.0) .TP 12 .B showHUD Should the HUD be on or off. (Default true) .TP 12 .B speedFactHUD Should the HUD me moved, to indicate the current velocity. Negativ values will inverse the moving of the HUD. (Default 0.0) .TP 12 .B 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. .TP 12 .B charsPerSecond This determines the speed in which messages are written, in characters per second. .TP 12 .B markingLights Should the fighters have marking lights, just like airplanes? .TP 12 .B sparkProb The chance that sparks are drawn or not. This gives a sparkling effect. Valid values are in the range [0.0-1.0] .TP 12 .B sparkSize Size of sparks in pixels. .TP 12 .B selectionAndHistory Provide cut-and-paste for the player messages and the talk window and a `history' for the talk window. .TP 12 .B -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. .TP 12 .B shotSize Size of shots in pixels. .TP 12 .B teamShotSize Size of team shots in pixels. .TP 12 .B showShipName Should all ships have the name of the player drawn below them. .TP 12 .B showMineName Should the name of the owner of the mine be drawn below the mine. .TP 12 .B showMessages Should messages appear on screen. .TP 12 .B messagesToStdout Do you want messages to be sent to standard output? 0: No, 1: Only player messages, 2: Player and status messages. .TP 12 .B maxMessages The maximum number of messages to display. .TP 12 .B showItems Should owned items be displayed permanently on the HUD, or only when their amount has changed? .TP 12 .B showItemsTime The time in seconds to display item information when it has changed and the showItems option is turned on. .TP 12 .B clock Display a small digital clock. .TP 12 .B clockAMPM Displays clock in 24hr or 12hr format. (Default: False) .TP 12 .B autoServerMotdPopup Automatically popup the MOTD of the server on startup. .TP 12 .B toggleShield Have the shield status be changed only by a key press and ignore the key release. .TP 12 .B autoShield When this option is on then shields are lowered automatically when firing a weapon or dropping a mine. After the firing the shields are raised again too. .TP 12 .B fuelMeter Determines if the fuel meter should be visible. This meter visualizes your fuel level in a different way than \fBfuelGauge\fP does. .TP 12 .B fuelGauge Determines if the fuel gauge should be visible. See \fBfuelMeter\fP. .TP 12 .B turnSpeedMeter Should the turnspeed meter be visible at all times. (Default false) .TP 12 .B powerMeter Should the power meter be visible at all times. (Default false) .TP 12 .B backgroundPointDist Specifies the block distance between points drawn in the background, used in empty map regions. 8 is default, 0 means no points. .TP 12 .B backgroundPointSize Specifies the size of the background points. The default is 2, 0 means no points. .TP 12 .B 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. .TP 12 .B slidingRadar If the game is in edgewrap mode (see \fIxpilots(6)\fP) 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. .TP 12 .B outlineWorld Draws only the outline of all the blue map constructs. .TP 12 .B filledWorld Draws the walls solid. Needs a fast graphics system. .TP 12 .B texturedWalls Draws the walls filled with a texture pattern. See also the wallTextureFile option. Be warned that this needs a very fast graphics system. .TP 12 .B wallTextureFile Specify a XPM format pixmap file to load the wall texture from. .TP 12 .B texturePath Optional search path for XPM texture files. This is a list of one or more directories separated by colons. .TP 12 .B packetSizeMeter Turns on a meter displaying the maximum packet size of the last few seconds. .TP 12 .B packetLostMeter Turns on a meter displaying the percentage of packets lost in the last second due to network failure (overload). .TP 12 .B 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. .TP 12 .B receiveWindowSize Specifies how big the receive window should be. See \fBNOTES\fP below. .TP 12 .B sounds Specifies the sound file. (Only if sound is enabled.) .TP 12 .B maxVolume Specifies the volume to play sounds with, where 0 turns off sound. (Only if sound is enabled.) .TP 12 .B audioServer Specifies the audio server to use. (Only if sound is enabled.) .TP 12 .B geometry Specifies the geometry to use like: -geometry 1280x1024+0+0. .TP 12 .B 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. .TP 12 .B 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. .TP 12 .B visual Specifies which visual to use. You can see which visuals your display supports by running: xpilot -visual list. .TP 12 .B colorSwitch Tells xpilot to use a color switching display technique or not. Default is true if your display hardware has enough colors available. .TP 12 .B 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. .TP 12 .B targetRadarColor Which color number to use for drawing targets on the radar. Valid values all powers of 2 smaller than maxColors. .TP 12 .B 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. .TP 12 .B 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. .TP 12 .B 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. .TP 12 .B sparkColors A list of color numbers to use for drawing sparks and debris of varying temperature. .TP 12 .B gameFont The font used on the HUD and for nearly all text part of the game field. .TP 12 .B messageFont The font used for messages displayed in the bottom left corner of the game field. .TP 12 .B scoreListFont The font used on the score list. Must be non-proportional. .TP 12 .B buttonFont The font used on all buttons. .TP 12 .B textFont The font used in the help and about windows. .TP 12 .B talkFont The font used in the talk window. .TP 12 .B motdFont The font used in the MOTD window and in the key list window. This must be a non-proportional font. .TP 12 .B 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. .RS -5 .SH INVOCATION EXAMPLES The simplest invocation of the hand-shake program is to just type: .IP .B xpilot .PP 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: .IP .B xpilot -join lglab08 where lglab08 is the name of the host running the server. .PP In the examples above your name would be your \fBlogin name\fP. Let's say you want to be really cool and your login name is .B gudmari, well - you're in loads of trouble if you don't know about the .B -name option; .IP .B xpilot -name FireEater .PP will fix the problem for you. .SH 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: .IP .B xset r .PP Please also note that xpilot can be addictive, and strenous for both you and your keyboard. We take no responsibility. :) There is a \fBmeta server\fP running on \fBmeta.xpilot.org\fP, port \fB4400\fP, into which all servers registers. This way you can easily check if there are any servers running nearby. To use it, try: .IP .B telnet meta.xpilot.org 4400 .B help .B list .PP Or: .IP .B telnet meta.xpilot.org 4401 .PP If you experience any problems with `jerkiness', you should try to adjust the \fIreceiveWindowSize\fP 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 \fIreceiveWindowSize\fP resource allows you to tune the buffering of frame updates a little. When set to one then there is no buffering and \fBxpilot\fP 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 \fIreceiveWindowSize\fP to two then \fBxpilot\fP 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 \fIreceiveWindowSize\fP 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 \fIreceiveWindowSize\fP is four. .SH ENVIRONMENT If .B XPILOTRC is set then its value is used instead of $HOME/.xpilotrc to find the file containing the xpilot resources. .B XPILOTUSER and .B XPILOTHOST set the loginname and hostname as reported to the xpilots server. .SH AUTHORS \fBXPilot\fP was developed by Bjørn Stabell and Ken Ronny Schouten from the University of Tromsø, Bert Gijsbers from the University of Amsterdam, and Dick Balaska from BuckoSoft.COM. .SH BUG REPORTS The product is seemingly stable, so bug reports are highly appreciated. Send email to \fB@PACKAGE_BUGREPORT@\fP and we will see what we can do. We merely ask that you remember to include the following information: .IP .PD 0 .RS 4 \(bu The platforms the bug occurs on .TP \(bu What kind of display you have (depth, color, type) .TP \(bu Which Xresources you're using. .TP \(bu The full version of @PACKAGE_NAME@, i.e., @PACKAGE_VERSION@ .TP \(bu What the bug looks like (symptoms) .TP \(bu When the bug usually occurs .PP .PD .IP .RS -4 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. .SH COPYRIGHT & DISCLAIMER xpilot is @XP_COPYRIGHT@. xpilot comes with ABSOLUTELY NO WARRANTY; for details see the provided COPYING file. .SH FILES .PD 0 .TP 40 .B @XP_DATADIR@/motd Message of the day. .TP .B @XP_DATADIR@/sounds File containing the sound to sound-file mapping. .PD .SH SEE ALSO xpilots(6), xp-replay(6) .\" .\" index \fIxpilot\fP \- multiplayer war game .\" index \fIxpilots\fP \- server module for xpilot xpilot-ng-4.7.3/doc/man/README0000664000175000017500000000024211344054165013117 0ustar kkTo read these files without installing them on your system, use nroff -man | more Man pages were created with help2man, take a look at help2man.sh. xpilot-ng-4.7.3/doc/man/xpilot-ng-server.man.in0000664000175000017500000002750311344054165016577 0ustar kk.\" -*-Text-*- .\" .\" @XP_COPYRIGHT@. .\" .TH XPILOTS 6 "Requires UDP and X11" .ds )H GNU General Public License 2.0 applies .ds ]W @PACKAGE_STRING@: @XP_RELEASEDATE@ .if n .ad l \" If nroff formatter, adjust left margin only .if t .ad b \" If troff formatter, adjust both margins .SH NAME xpilots \- XPilot multiplayer gravity war game server .SH SYNOPSIS .BR xpilots [\fB-map \fImap-file\fP] [\fB-robots \fInumber\fP] [\fB-rawmode\fP] [\fB-noquit\fP] [\fB-help\fP] [\fB-version\fP] [\fB-password\fP \fIpassword\fP] [\fB-serverHost\fP \fIhostname\fP] [\fB-reportMeta\fP] [\fB-clientPortStart\fP \fIport-number\fP] [\fB-clientPortEnd\fP \fIport-number\fP] .SH DESCRIPTION This manual explains the following topics: .IP .B - Setting up a server. .IP .B - Owner-only commands. .IP .B - Creating new maps. .PP Complete coverage of the game basics and how to connect to a server are given in the manual pages for \fIxpilot(6)\fP. .SS Command options This section describes the options which may be specified only as switches to the \fBxpilots\fP command. For a list of all options, try \fBxpilots -help\fP. See also sections \fBDefaults file options\fP and \fBMap file options\fP. .TP 15 .B -help Prints a short help, including the supported commandline options. [\fIcommand\fP] Without a parameter, this displays a brief message, listing the supported commandline options. Specifying a \fIcommand\fP displays help for the command. .TP 15 .B -version Prints the current version. .TP 15 .B -dump Prints all options with their default values in \fBdefaults file\fP format. .TP 15 .B -defaultsFileName or defaults \fIstring\fP The filename of the defaults file to read on startup. .SS Defaults file options This section describes the options which may be specified either as command switches or in the \fBdefaults file\fP. For a list of all options, try \fBxpilots -help\fP. See also sections \fBCommand options\fP and \fBMap file options\fP. .TP 15 .B -passwordFileName \fIstring\fP The filename of the password file to read on startup. This file should be protected against unwanted eyes with \fBchmod(1)\fP (e.g. chmod 600 password). .TP 15 .B -robotFile \fIstring\fP The file containing parameters for robot details. .TP 15 .B -/+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 \fBnoquit\fP option must be specified for this to have any effect after the first player joins the game. .TP 15 .B -/+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. .TP 15 .B -/+logRobots Log the comings and goings of robots. .TP 15 .B -mapFileName or map \fIstring\fP 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 .B -map fuzz2 or the equivalent .B -map fuzz2.xp is passed as command line arguments, the server will try to locate a file called \fBfuzz2.xp\fP in the current directory, or in a predefined directory (default is @XP_DATADIR@/maps/). .TP 15 .B -contactPort or port \fIinteger\fP The server contact port number. .TP 15 .B -serverHost \fIstring\fP 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 \fImultihomed\fP 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 \fBgethostname(2)\fP to determine the host's FQDN (fully qualified domain name) and report that to the meta servers. .TP 15 .B -/+reportToMetaServer or reportMeta Keep the meta server informed about our game? The default for xpilots is \fB-reportMeta\fP. Specify \fB+reportMeta\fB 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. .TP 15 .B -/+searchDomainForXPilot Search the local domain for the existence of xpilot.domain? .TP 15 .B -denyHosts \fIstring\fP List of network addresses of computers which are denied service. Each address may optionally be followed by a slash and a network mask. .TP 15 .B -/+ignore20MaxFPS Ignore client maxFPS request if it is 20 (the default setting). .TP 15 .B -motdFileName or motd \fIstring\fP The filename of the MOTD file to show to clients when they join. .TP 15 .B -scoreTableFileName or scoretable \fIstring\fP The filename for the score table to be dumped to. .TP 15 .B -/+pLockServer Whether the server is prevented from being swapped out of memory. .TP 15 .B -timerResolution \fIinteger\fP 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. .TP 15 .B -password \fIstring\fP 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 \fBMessage-window commands\fP 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 \fBps(1)\fP 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 \fBchmod(1)\fP (e.g. chmod 600 password) to keep it private. .TP 15 .B -clientPortStart \fIinteger\fP 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 \fB-clientPortEnd\fP to define the range. For example, start the server with \fBxpilots -clientPortStart 40000 -clientPortEnd 40009\fP 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. .TP 15 .B -clientPortEnd \fIinteger\fP Use UDP ports clientPortStart - clientPortEnd (for firewalls) Used with \fB-clientPortStart\fR to reserve a range of UDP ports for client connections. .SS Map file options This section describes the options which may be specified either in the map file, in the \fBdefaults file\fP, or as command line switches. For a list of all options, try \fBxpilots -help\fP. See also sections \fBCommand options\fP and \fBDefaults file options\fP. .TP 15 .B -robots \fInumber\fP Tells the server that you want \fInumber\fP 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. .SS Prompt options (owner only) If you are the owner of a server you have successfully connected to (with \fIxpilot(6)\fP), you have several special commands available, all of which applies to the current server only: .TP 15 .B m Send a message to the players. .TP 15 .B 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. .TP 15 .B l Lock/unlock the game. This prevents other users from joining the game. .TP 15 .B 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. .SS 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 \fB/password\fR message-window command. If a password is not set on the server by the owner, the operator commands are not usable. Where a \fIname\fP 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. .TP 15 .B Player message-window commands .RS 5 .TP 15 .B /help [\fIcommand\fP] Without a parameter, this displays a brief message, listing the supported commandline options. Specifying \fB/help\fP \fIcommand\fP displays brief help for the command. .TP 15 .B /team \fInumber\fP Swaps you to the specified team \fInumber\fP. .TP 15 .B /queue Show the names of the players waiting on the queue to enter the game. See also \fB/advance\fP. .TP 15 .B /version Displays the server version number. .RS -5 .TP 15 .B Operator message-window commands .RS 5 .TP 15 .B /password \fIpassword\fP 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. .TP 15 .B /advance \fIname\fR Moves the named player to the front of the queue. See also \fB/queue\fP. .TP 15 .B /kick \fIname\fR Kicks the named player from the game. .TP 15 .B /lock [\fIvalue\fR] Without a parameter, this displays the lock status of the game. Specify \fB/lock 0\fR to unlock the game or \fB/lock 1\fR to lock the game so that no more players may enter. .TP 15 .B /pause \fIname\fR Pauses the named player. .TP 15 .B /reset [all] Resets the current round number to 1. If \fB/reset all\fP is specified, all scores are set to 0 as well. .TP 15 .B /set \fIoption value\fR Sets the named \fIoption\fR to the specified \fIvalue\fR. 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. .RS -5 .SH WARNINGS AND BUGS See \fIxpilot(6)\fP. .SH AUTHORS \fBXPilot\fP was developed by Bjørn Stabell and Ken Ronny Schouten from the University of Tromsø, Bert Gijsbers from the University of Amsterdam, and Dick Balaska from BuckoSoft.COM. .SH CREDITS See the provided CREDITS file. .SH COPYRIGHT & DISCLAIMER XPilot is @XP_COPYRIGHT@. XPilot comes with ABSOLUTELY NO WARRANTY; for details see the provided COPYING file. .SH FILES .PD 0 .TP 40 .B @XP_DATADIR@/maps/ Miscellaneous maps. .TP 40 .B @XP_DATADIR@/log Log file. .TP 40 .B @XP_DATADIR@/defaults Defaults file. .TP 40 .B @XP_DATADIR@/password Password file. .PD .SH SEE ALSO xpilot(6), xset(1), emacs(1) xpilot-ng-4.7.3/doc/man/xpilot-ng-server.man0000664000175000017500000012611411344054165016170 0ustar kk.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36. .TH XPILOT-NG-SERVER "6" "August 2006" "xpilot.sourceforge.net" "Games" .SH NAME xpilot-ng-server \- server for multiplayer space war game. .SH SYNOPSIS .B xpilot-ng-server [ \fIoptions \fR] .SH DESCRIPTION .IP Copyright © 1991\-2005 by Bjørn Stabell, Ken Ronny Schouten, Bert Gijsbers, Dick Balaska, Uoti Urpala, Juha Lindström, Kristian Söderblom and Erik Andersson. XPilot NG 4.7.2 comes with ABSOLUTELY NO WARRANTY; for details see the provided COPYING file. .PP Option flags specify where an option can be used and whether it is visible or not. Default flags are "any" if not otherwise specified by one or more of these keywords: .PP command May be specified on the command\-line. passwordfile May be specified in the password file. defaults May be specified in the defaults file. any May be specified in the map file, defaults file, .IP or on the command line. .PP invisible Is not displayed when a list of options is .IP requested from the server by an operator. .PP The possible options include: .HP \fB\-help\fR .IP Print out this help message. .HP \fB\-version\fR .IP Print version information. .HP \fB\-dump\fR .IP Print all options and their default values in defaultsfile format. .HP \fB\-expand\fR .IP Expand a comma separated list of predefined settings. These settings can be defined in either the defaults file or in a map file using the "define:" operator. [ Flags: command, invisible ] .HP \fB\-gravity\fR .IP Gravity strength. .HP \fB\-shipMass\fR .IP Mass of fighters. .HP \fB\-ballMass\fR .IP Mass of balls. .HP \fB\-minItemMass\fR .IP The minimum mass per item when carried by a ship. .HP \fB\-shotMass\fR .IP Mass of bullets. .HP \fB\-shotSpeed\fR .IP Maximum speed of bullets. .HP \fB\-shotLife\fR .IP Life of bullets in ticks. .HP \-/+treasureCollisionKills or treasureKills .IP Does a player die when hitting a ballarea? .HP \fB\-ballCollisionFuelDrain\fR or ballFuelDrain .IP How much fuel does a ball collision cost? .HP \fB\-playerCollisionFuelDrain\fR or playerFuelDrain .IP How much fuel does a player collision cost? .HP \-/+shotHitFuelDrainUsesKineticEnergy or kineticEnergyFuelDrain .IP Does the fuel drain from shot hits depend on their mass and speed? This should be set to false on Blood's Music maps. .HP \fB\-fireRepeatRate\fR or fireRepeat .IP Number of ticks per automatic fire (0=off). .HP \fB\-pulseSpeed\fR .IP Speed of laser pulses. .HP \fB\-pulseLife\fR .IP Life of laser pulses shot by ships, in ticks. .HP \fB\-pulseLength\fR .IP Max length of laser pulse. .HP \fB\-laserRepeatRate\fR or laserRepeat .IP Number of ticks per automatic laser pulse fire (0=off). .HP \fB\-maxRobots\fR or robots .IP The maximum number of robots wanted. Adds robots if there are less than maxRobots players. .HP \fB\-minRobots\fR .IP The minimum number of robots wanted. At least minRobots robots will be in the game, if there is room. .HP \fB\-robotFile\fR .IP The file containing parameters for robot details. [ Flags: command, defaults, invisible ] .HP \-/+robotsTalk .IP Do robots talk when they kill, die etc.? .HP \-/+robotsLeave .IP Do robots leave the game? .HP \fB\-robotLeaveLife\fR .IP After how many deaths does a robot want to leave? (0=off). .HP \fB\-robotTeam\fR .IP Team to use for robots. .HP \-/+restrictRobots .IP Are robots restricted to their own team? .HP \-/+reserveRobotTeam .IP Is the robot team only for robots? .HP \fB\-robotUserName\fR or robotRealName .IP What is the robots' apparent user name? .HP \fB\-robotHostName\fR .IP What is the robots' apparent host name? .HP \fB\-tankUserName\fR or tankRealName .IP What is the tanks' apparent user name? .HP \fB\-tankHostName\fR .IP What is the tanks' apparent host name? .HP \fB\-tankScoreDecrement\fR or tankDecrement .IP How much lower is the tank's score than the player's? .HP \-/+selfImmunity .IP Are players immune to their own weapons? .HP \fB\-defaultShipShape\fR .IP What is the default ship shape for people who do not have a ship shape defined? .HP \fB\-tankShipShape\fR .IP What is the ship shape used for tanks? .HP \fB\-maxPlayerShots\fR or shots .IP Maximum number of shots visible at the same time per player. .HP \-/+shotsGravity .IP Are shots affected by gravity. .HP \-/+Log .IP Log major server events to log file? .HP \-/+idleRun or rawMode .IP Does server calculate frames and do robots keep on playing even if all human players quit? [ Flags: command, defaults ] .HP \-/+noQuit .IP Does the server wait for new human players to show up after all players have left. [ Flags: command, defaults ] .HP \-/+logRobots .IP Log the comings and goings of robots. [ Flags: command, defaults ] .HP \fB\-mapWidth\fR .IP Width of the world in pixels. .HP \fB\-mapHeight\fR .IP Height of the world in pixels. .HP \fB\-mapFileName\fR or map .IP The filename of the map to use. [ Flags: command, defaults, invisible ] .HP \fB\-mapName\fR .IP The title of the map. .HP \fB\-mapAuthor\fR .IP The name of the map author. .HP \fB\-mapData\fR .IP Block map topology. [ Flags: command, any, invisible ] .HP \fB\-contactPort\fR or port .IP The server contact port number. [ Flags: command, defaults ] .HP \fB\-serverHost\fR .IP The server's fully qualified domain name (for multihomed hosts). [ Flags: command, defaults ] .HP \fB\-greeting\fR or xpilotGreeting .IP Short greeting string for players when they login to server. .HP \-/+allowPlayerCrashes .IP Can players overrun other players? .HP \-/+allowPlayerBounces .IP Can players bounce with other players? .HP \-/+allowPlayerKilling or killings .IP Should players be allowed to kill one other? .HP \-/+allowShields or shields .IP Are shields allowed? .HP \-/+playerStartsShielded or playerStartShielded .IP Do players start with shields up? .HP \-/+shotsWallBounce .IP Do shots bounce off walls? .HP \-/+ballsWallBounce .IP Do balls bounce off walls? .HP \-/+ballCollisionDetaches or ballHitDetaches .IP Does a ball get freed by a collision with a player? .HP \-/+ballCollisions .IP Can balls collide with other objects? .HP \-/+ballSparkCollisions .IP Can balls be blown around by exhaust? (Needs ballCollisions too) .HP \-/+minesWallBounce .IP Do mines bounce off walls? .HP \-/+itemsWallBounce .IP Do items bounce off walls? .HP \-/+missilesWallBounce .IP Do missiles bounce off walls? .HP \-/+sparksWallBounce .IP Do thrust spark particles bounce off walls to give reactive thrust? .HP \-/+debrisWallBounce .IP Do explosion debris particles bounce off walls? .HP \-/+asteroidsWallBounce .IP Do asteroids bounce off walls? .HP \-/+pulsesWallBounce .IP Do laser pulses bounce off walls? .HP \-/+cloakedExhaust .IP Do engines of cloaked ships generate exhaust? .HP \fB\-maxObjectWallBounceSpeed\fR or maxObjectBounceSpeed .IP The maximum allowed speed for objects to bounce off walls. .HP \fB\-maxSparkWallBounceSpeed\fR or maxSparkBounceSpeed .IP The maximum allowed speed for sparks to bounce off walls. .HP \fB\-maxShieldedWallBounceSpeed\fR or maxShieldedBounceSpeed .IP The max allowed speed for a shielded player to bounce off walls. .HP \fB\-maxUnshieldedWallBounceSpeed\fR or maxUnshieldedBounceSpeed .IP Max allowed speed for an unshielded player to bounce off walls. .HP \fB\-playerWallBounceType\fR or wallBounceType .IP What kind of ship wall bounces to use. .PP .IP A value of 0 gives the old XPilot wall bounces, where the ship velocity in the direction perpendicular to the wall is reversed after which the velocity is multiplied by the value of the playerWallBounceBrakeFactor option. .PP .IP A value of 1 gives the "separate multipliers" implementation. .PP .IP A value of 2 causes Mara's suggestion for the speed change in the direction parallel to the wall to be used. Vtangent2 = (1\-Vnormal1/Vtotal1*wallfriction)*Vtangent1 .PP .IP A value of 3 causes Uau's suggestion to be used: change the parallel one by MIN(C1*perpendicular_change, C2*parallel_speed) if you assume the wall has a coefficient of friction C1. \&. .HP \fB\-playerWallBounceBrakeFactor\fR or playerWallBrake .IP Factor to slow down ship in direction perpendicular to the wall when a wall is hit (0 to 1). .HP \fB\-playerBallBounceBrakeFactor\fR or playerBallBrake .IP Elastic or inelastic properties of the player\-ball collision 1 means fully elastic, 0 fully inelastic. .HP \fB\-playerWallFriction\fR or wallFriction .IP Player\-wall friction (0 to 1). .HP \fB\-objectWallBounceBrakeFactor\fR or objectWallBrake .IP Factor to slow down objects when they hit the wall (0 to 1). .HP \fB\-objectWallBounceLifeFactor\fR .IP Factor to reduce the life of objects after bouncing (0 to 1). .HP \fB\-afterburnerPowerMult\fR or afterburnerPower .IP Multiplication factor for afterburner power. .HP \fB\-wallBounceDestroyItemProb\fR .IP The probability for each item a player owns to get destroyed when the player bounces against a wall. .HP \-/+reportToMetaServer or reportMeta .IP Keep the meta server informed about our game? [ Flags: command, defaults ] .HP \fB\-metaUpdateMaxSize\fR .IP Maximum size of meta update messages. .HP \-/+searchDomainForXPilot .IP Search the local domain for the existence of xpilot.domain? [ Flags: command, defaults ] .HP \fB\-denyHosts\fR .IP List of network addresses of computers which are denied service. Addresses may be followed by a slash and a network mask. [ Flags: command, defaults ] .HP \-/+limitedVisibility .IP Should the players have a limited visibility? .HP \fB\-minVisibilityDistance\fR or minVisibility .IP Minimum block distance for limited visibility, 0 for default. .HP \fB\-maxVisibilityDistance\fR or maxVisibility .IP Maximum block distance for limited visibility, 0 for default. .HP \-/+limitedLives .IP Should players have limited lives? See also worldLives. .HP \fB\-worldLives\fR or lives .IP Number of lives each player has (no sense without limitedLives). .HP \-/+reset .IP Does the world reset when the end of round is reached? When true all mines, missiles, shots and explosions will be removed from the world and all players including the winner(s) will be transported back to their homebases. This option is only effective when limitedLives is turned on. .HP \fB\-resetOnHuman\fR or humanReset .IP Normally, new players have to wait until a round is finished before they can start playing. With this option, the first N human players to enter will cause the round to be restarted. In other words, if this option is set to 0, nothing special happens and you have to wait as usual until the round ends (if there are rounds at all, otherwise this option doesn't do anything). If it is set to 1, the round is ended when the first human player enters. This is useful if the robots have already started a round and you don't want to wait for them to finish. If it is set to 2, this also happens for the second human player. This is useful when you got bored waiting for another player to show up and have started playing against the robots. When someone finally joins you, they won't have to wait for you to finish the round before they can play too. For higher numbers it works the same. So this option gives the last human player for whom the round is restarted. Anyone who enters after that does have to wait until the round is over. .HP \-/+allowAlliances or alliances .IP Are alliances between players allowed? Alliances are like teams, except they can be formed and dissolved at any time. Notably, teamImmunity works for alliances too. To manage alliances, use the '/ally' talk command: \&'/ally invite ' to invite another player to join you. \&'/ally cancel' to cancel such an invitation. \&'/ally refuse ' to decline an invitation from a player. \&'/ally refuse' to decline all the invitations you received. \&'/ally accept ' to join the other player. \&'/ally accept' to accept all the invitations you received. \&'/ally leave' to leave the alliance you are currently in. \&'/ally list' lists the members of your current alliance. If members from different alliances join, all their allies do so. .HP \-/+announceAlliances .IP Are changes in alliances made public? If this option is on, changes in alliances are sent to all players and all alliances are shown in the score list. Invitations for alliances are never sent to anyone but the invited players. .HP \-/+teamPlay or teams .IP Is the map a team play map? .HP \-/+lockOtherTeam .IP Can you watch opposing players when rest of your team is still alive? .HP \-/+teamFuel .IP Do fuelstations belong to teams? .HP \-/+teamCannons .IP Do cannons belong to teams? .HP \fB\-cannonSmartness\fR .IP 0: dumb (straight ahead), 1: default (random direction), 2: good (small error), 3: accurate (aims at predicted player position). Also influences use of weapons. .HP \-/+cannonsPickupItems .IP Do cannons pick up items? .HP \-/+cannonFlak or cannonAAA .IP Do cannons fire flak or normal bullets? .HP \fB\-cannonDeadTicks\fR .IP How many ticks do cannons stay dead? Replaces option cannonDeadTime. .HP \fB\-cannonShotSpeed\fR .IP Speed of cannon shots. .HP \fB\-minCannonShotLife\fR .IP Minimum life of cannon shots, measured in ticks. If this is set to a value greater than maxCannonShotLife, then maxCannonShotLife will be set to that same value. .HP \fB\-maxCannonShotLife\fR .IP Maximum life of cannon shots, measured in ticks. If this is set to a value less than minCannonShotLife, then minCannonShotLife will be set to that same value. .HP \fB\-cannonInitialFuel\fR .IP How much fuel cannons start with. .HP \fB\-cannonInitialTanks\fR .IP How many tanks cannons start with. .HP \fB\-cannonInitialECMs\fR .IP How many ECMs cannons start with. .HP \fB\-cannonInitialArmor\fR or cannonInitialArmors .IP How much armor cannons start with. .HP \fB\-cannonInitialMines\fR .IP How many mines cannons start with. .HP \fB\-cannonInitialMissiles\fR .IP How many missiles cannons start with. .HP \fB\-cannonInitialCloaks\fR .IP How many cloaks cannons start with. .HP \fB\-cannonInitialSensors\fR .IP How many sensors cannons start with. .HP \fB\-cannonInitialWideangles\fR .IP How many wideangles cannons start with. .HP \fB\-cannonInitialRearshots\fR .IP How many rearshots cannons start with. .HP \fB\-cannonInitialAfterburners\fR .IP How many afterburners cannons start with. .HP \fB\-cannonInitialTransporters\fR .IP How many transporters cannons start with. .HP \fB\-cannonInitialMirrors\fR .IP How many mirrors cannons start with. .HP \fB\-cannonInitialDeflectors\fR .IP How many deflectors cannons start with. .HP \fB\-cannonInitialHyperJumps\fR .IP How many hyperjumps cannons start with. .HP \fB\-cannonInitialPhasings\fR .IP How many phasing devices cannons start with. .HP \fB\-cannonInitialLasers\fR .IP How many lasers cannons start with. .HP \fB\-cannonInitialEmergencyThrusts\fR .IP How many emergency thrusts cannons start with. .HP \fB\-cannonInitialTractorBeams\fR .IP How many tractor/pressor beams cannons start with. .HP \fB\-cannonInitialAutopilots\fR .IP How many autopilots cannons start with. .HP \fB\-cannonInitialEmergencyShields\fR .IP How many emergency shields cannons start with. .HP \-/+keepShots .IP Do shots, mines and missiles remain after their owner leaves? .HP \-/+teamImmunity .IP Should other team members be immune to various shots thrust etc.? This works for alliances too. .HP \-/+ecmsReprogramMines .IP Is it possible to reprogram mines with ECMs? .HP \-/+ecmsReprogramRobots .IP Are robots reprogrammed by ECMs instead of blinded? .HP \-/+targetKillTeam .IP Do team members die when their last target explodes? .HP \-/+targetTeamCollision or targetCollision .IP Do team members collide with their own target or not. .HP \-/+targetSync .IP Do all the targets of a team reappear/repair at the same time? .HP \fB\-targetDeadTicks\fR .IP How many ticks do targets stay destroyed? Replaces option targetDeadTime. .HP \-/+treasureKillTeam .IP Do team members die when their treasure is destroyed? .HP \-/+captureTheFlag or ctf .IP Does a team's treasure have to be safe before enemy balls can be cashed? .HP \fB\-specialBallTeam\fR or specialBall .IP Balls that belong to this team are 'special' balls that score against all other teams. .HP \-/+treasureCollisionDestroys or treasureCollisionDestroy .IP Are balls destroyed when a player touches it? .HP \fB\-ballConnectorSpringConstant\fR .IP What is the spring constant for connectors? .HP \fB\-ballConnectorDamping\fR .IP What is the damping force on connectors? .HP \fB\-maxBallConnectorRatio\fR .IP How much longer or shorter can a connecter get before it breaks? .HP \fB\-ballConnectorLength\fR .IP How long is a normal connector string? .HP \-/+connectorIsString .IP Can the connector get shorter? .HP \fB\-ballRadius\fR .IP What radius, measured in pixels, the treasure balls have on the server. In traditional XPilot, the ball was treated as a point (radius = 0), but visually appeared on the client with a radius of 10 pixels. .HP \-/+treasureCollisionMayKill or treasureUnshieldedCollisionKills .IP Does a ball kill a player when the player touches it unshielded? .HP \-/+wreckageCollisionMayKill or wreckageUnshieldedCollisionKills .IP Can ships be destroyed when hit by wreckage? .HP \-/+asteroidCollisionMayKill or asteroidUnshieldedCollisionKills .IP Can ships be destroyed when hit by an asteroid? .HP \-/+ignore20MaxFPS .IP Ignore client maxFPS request if it is 20 (old default, too low). [ Flags: command, defaults ] .HP \-/+tagGame or tag .IP Are we going to play a game of tag? One player is 'it' (is worth more points when killed than the others). After this player is killed, the one who killed them becomes 'it', and so on. .HP \fB\-tagKillItScoreMult\fR or tagKillItMult .IP Score multiplier for killing 'it' (tagGame must be on). .HP \fB\-tagItKillScoreMult\fR or tagItKillMult .IP Score multiplier when 'it' kills an enemy player (tagGame must be on). .HP \-/+timing or race .IP Enable race mode? .HP \-/+ballrace .IP Is timing done for balls (on) or players (off)? Only used if timing is on. .HP \-/+ballraceConnected .IP Should a player be connected to a ball to pass a checkpoint? Only used if timing and ballrace are both on. .HP \-/+edgeWrap .IP Do objects wrap when they cross the edge of the Universe?. .HP \-/+edgeBounce .IP Do objects bounce when they hit the edge of the Universe?. .HP \-/+extraBorder .IP Give map an extra border of wall blocks?. .HP \fB\-gravityPoint\fR .IP If the gravity is a point source where does that gravity originate? Specify the point in the form: x,y. .HP \fB\-gravityAngle\fR .IP If gravity is along a uniform line, at what angle is that line? .HP \-/+gravityPointSource .IP Is gravity originating from a single point? .HP \-/+gravityClockwise .IP If the gravity is a point source, is it clockwise? .HP \-/+gravityAnticlockwise .IP If the gravity is a point source, is it anticlockwise? .HP \-/+gravityVisible .IP Are gravity mapsymbols visible to players? .HP \-/+wormholeVisible .IP Are wormhole mapsymbols visible to players? .HP \-/+itemConcentratorVisible .IP Are itemconcentrator mapsymbols visible to players? .HP \-/+asteroidConcentratorVisible .IP Are asteroidconcentrator mapsymbols visible to players? .HP \fB\-wormholeStableTicks\fR .IP Number of ticks wormholes will keep the same destination. .HP \fB\-defaultsFileName\fR or defaults .IP The filename of the defaults file to read on startup. [ Flags: command, invisible ] .HP \fB\-passwordFileName\fR .IP The filename of the password file to read on startup. [ Flags: command, defaults, invisible ] .HP \fB\-motdFileName\fR or motd .IP The filename of the MOTD file to show to clients when they join. [ Flags: command, defaults, invisible ] .HP \fB\-scoreTableFileName\fR or scoretable .IP The filename for the score table to be dumped to. This is a placeholder option which doesn't do anything. [ Flags: command, defaults, invisible ] .HP \fB\-adminMessageFileName\fR or adminMessage .IP The name of the file where player messages for the server administrator will be saved. For the messages to be saved the file must already exist. Players can send these messages by writing to god. [ Flags: command, defaults, invisible ] .HP \fB\-adminMessageFileSizeLimit\fR or adminMessageLimit .IP The maximum size in bytes of the admin message file. [ Flags: command, defaults, invisible ] .HP \fB\-rankFileName\fR .IP The filename for the XML file to hold server ranking data. To reset the ranking, delete this file. [ Flags: command, defaults, invisible ] .HP \fB\-rankWebpageFileName\fR or rankWebpage .IP The filename for the webpage with the server ranking list. [ Flags: command, defaults, invisible ] .HP \fB\-rankWebpageCSS\fR or rankCSS .IP The URL of an optional style sheet for the ranking webpage. [ Flags: command, defaults, invisible ] .HP \fB\-framesPerSecond\fR or FPS .IP The number of frames per second the server should strive for. .HP \fB\-gameSpeed\fR .IP Rate at which game events happen. The gameSpeed specifies how many ticks of game time elapse each second. A value of 0 means that the value of gameSpeed should be equal to the value of FPS. .HP \-/+allowSmartMissiles or allowSmarts .IP Should smart missiles be allowed? .HP \-/+allowHeatSeekers or allowHeats .IP Should heatseekers be allowed? .HP \-/+allowTorpedoes or allowTorps .IP Should torpedoes be allowed? .HP \-/+allowNukes or nukes .IP Should nuclear weapons be allowed? .HP \-/+allowClusters or clusters .IP Should cluster weapons be allowed? .HP \-/+allowModifiers or modifiers .IP Should the weapon modifiers be allowed? .HP \-/+allowLaserModifiers or lasermodifiers .IP Can lasers be modified to be a different weapon? .HP \-/+allowShipShapes or ShipShapes .IP Are players allowed to define their own ship shape? .HP \-/+playersOnRadar or playersRadar .IP Are players visible on the radar. .HP \-/+missilesOnRadar or missilesRadar .IP Are missiles visible on the radar. .HP \-/+minesOnRadar or minesRadar .IP Are mines visible on the radar. .HP \-/+nukesOnRadar or nukesRadar .IP Are nukes visible or highlighted on the radar. .HP \-/+treasuresOnRadar or treasuresRadar .IP Are treasure balls visible or highlighted on the radar. .HP \-/+asteroidsOnRadar or asteroidsRadar .IP Are asteroids visible on the radar. .HP \-/+distinguishMissiles .IP Are different types of missiles distinguished (by length). .HP \fB\-maxMissilesPerPack\fR .IP The number of missiles gotten by picking up one missile item. .HP \fB\-maxMinesPerPack\fR .IP The number of mines gotten by picking up one mine item. .HP \-/+identifyMines .IP Are mine owner's names displayed. .HP \-/+shieldedItemPickup or shieldItem .IP Can items be picked up while shields are up? .HP \-/+shieldedMining or shieldMine .IP Can mines be thrown and placed while shields are up? .HP \-/+laserIsStunGun or stunGun .IP Is the laser weapon a stun gun weapon? .HP \fB\-nukeMinSmarts\fR .IP The minimum number of missiles needed to fire one nuclear missile. .HP \fB\-nukeMinMines\fR .IP The minimum number of mines needed to make a nuclear mine. .HP \fB\-nukeClusterDamage\fR .IP How much each cluster debris does damage wise from a nuke mine. This helps to reduce the number of particles caused by nuclear mine explosions, which improves server response time for such explosions. .HP \fB\-nukeDebrisLife\fR .IP Life of nuke debris, in ticks. .HP \fB\-mineFuseTicks\fR .IP Number of ticks after which owned mines become deadly (0=never). .HP \fB\-mineLife\fR .IP Life of mines in ticks. .HP \fB\-minMineSpeed\fR .IP Minimum speed of mines. .HP \fB\-missileLife\fR .IP Life of missiles in ticks. .HP \fB\-baseMineRange\fR .IP Minimum distance from base mines may be used (unit is blocks). .HP \fB\-mineShotDetonateDistance\fR .IP How close must a shot be to detonate a mine? Set this to 0 to turn it off. .HP \fB\-shotKillScoreMult\fR .IP Multiplication factor to scale score for shot kills. .HP \fB\-torpedoKillScoreMult\fR .IP Multiplication factor to scale score for torpedo kills. .HP \fB\-smartKillScoreMult\fR .IP Multiplication factor to scale score for smart missile kills. .HP \fB\-heatKillScoreMult\fR .IP Multiplication factor to scale score for heatseeker kills. .HP \fB\-clusterKillScoreMult\fR .IP Multiplication factor to scale score for cluster debris kills. .HP \fB\-laserKillScoreMult\fR .IP Multiplication factor to scale score for laser kills. .HP \fB\-tankKillScoreMult\fR .IP Multiplication factor to scale score for tank kills. .HP \fB\-runoverKillScoreMult\fR .IP Multiplication factor to scale score for player runovers. .HP \fB\-ballKillScoreMult\fR .IP Multiplication factor to scale score for ball kills. .HP \fB\-explosionKillScoreMult\fR .IP Multiplication factor to scale score for explosion kills. .HP \fB\-shoveKillScoreMult\fR .IP Multiplication factor to scale score for shove kills. .HP \fB\-crashScoreMult\fR .IP Multiplication factor to scale score for player crashes. .HP \fB\-mineScoreMult\fR .IP Multiplication factor to scale score for mine hits. .HP \fB\-selfKillScoreMult\fR .IP Multiplication factor to scale score for killing yourself. .HP \fB\-selfDestructScoreMult\fR .IP Multiplication factor to scale score for self\-destructing. .HP \fB\-unownedKillScoreMult\fR .IP Multiplication factor to scale score for being killed by asteroids or other objects without an owner. .HP \fB\-cannonKillScoreMult\fR .IP Multiplication factor to scale score for being killed by cannons. .HP \fB\-movingItemProb\fR .IP Probability for an item to appear as moving. .HP \fB\-randomItemProb\fR .IP Probability for an item to appear random. Random items change their appearance every frame, so players cannot tell what item they have until they get it. .HP \fB\-dropItemOnKillProb\fR .IP Probability for dropping an item (each item) when you are killed. .HP \fB\-detonateItemOnKillProb\fR .IP Probability for undropped items to detonate when you are killed. .HP \fB\-destroyItemInCollisionProb\fR .IP Probability for items (some items) to be destroyed in a collision. .HP \fB\-asteroidItemProb\fR .IP Probability for an asteroid to release items when it breaks. .HP \fB\-asteroidMaxItems\fR .IP The maximum number of items a broken asteroid can release. .HP \fB\-itemProbMult\fR or itemProbFact .IP Item Probability Factor scales all item probabilities. .HP \fB\-cannonItemProbMult\fR .IP Average number of items a cannon gets per minute. .HP \fB\-maxItemDensity\fR .IP Maximum density for items (max items per block). .HP \fB\-asteroidProb\fR .IP Probability for an asteroid to appear. .HP \fB\-maxAsteroidDensity\fR .IP Maximum density [0.0\-1.0] for asteroids (max asteroids per block. .HP \fB\-itemConcentratorRadius\fR or itemConcentratorRange .IP Range within which an item concentrator can create an item. Sensible values are in the range 1.0 to 20.0 (unit is 35 pixels). If there are no item concentrators, items might popup anywhere. Some clients draw item concentrators as three rotating triangles. .HP \fB\-itemConcentratorProb\fR .IP The chance for an item to appear near an item concentrator. If this is less than 1.0 or there are no item concentrators, items may also popup where there is no concentrator nearby. .HP \fB\-asteroidConcentratorRadius\fR or asteroidConcentratorRange .IP Range within which an asteroid concentrator can create an asteroid. Sensible values are in the range 1.0 to 20.0 (unit is 35 pixels). If there are no such concentrators, asteroids can popup anywhere. Some clients draw these concentrators as three rotating squares. .HP \fB\-asteroidConcentratorProb\fR .IP The chance for an asteroid to appear near an asteroid concentrator. If this is less than 1.0 or there are no asteroid concentrators, asteroids may also appear where there is no concentrator nearby. .HP \fB\-rogueHeatProb\fR .IP Probability that unclaimed missile packs will go rogue. .HP \fB\-rogueMineProb\fR .IP Probability that unclaimed mine items will activate. .HP \fB\-itemEnergyPackProb\fR .IP Probability for an energy pack to appear. .HP \fB\-itemTankProb\fR .IP Probability for an extra tank to appear. .HP \fB\-itemECMProb\fR .IP Probability for an ECM item to appear. .HP \fB\-itemArmorProb\fR .IP Probability for an armor item to appear. .HP \fB\-itemMineProb\fR .IP Probability for a mine item to appear. .HP \fB\-itemMissileProb\fR .IP Probability for a missile item to appear. .HP \fB\-itemCloakProb\fR .IP Probability for a cloak item to appear. .HP \fB\-itemSensorProb\fR .IP Probability for a sensor item to appear. .HP \fB\-itemWideangleProb\fR .IP Probability for a wideangle item to appear. .HP \fB\-itemRearshotProb\fR .IP Probability for a rearshot item to appear. .HP \fB\-itemAfterburnerProb\fR .IP Probability for an afterburner item to appear. .HP \fB\-itemTransporterProb\fR .IP Probability for a transporter item to appear. .HP \fB\-itemMirrorProb\fR .IP Probability for a mirror item to appear. .HP \fB\-itemDeflectorProb\fR .IP Probability for a deflector item to appear. .HP \fB\-itemHyperJumpProb\fR .IP Probability for a hyperjump item to appear. .HP \fB\-itemPhasingProb\fR .IP Probability for a phasing item to appear. .HP \fB\-itemLaserProb\fR .IP Probability for a Laser item to appear. .HP \fB\-itemEmergencyThrustProb\fR .IP Probability for an Emergency Thrust item to appear. .HP \fB\-itemTractorBeamProb\fR .IP Probability for a Tractor Beam item to appear. .HP \fB\-itemAutopilotProb\fR .IP Probability for an Autopilot item to appear. .HP \fB\-itemEmergencyShieldProb\fR .IP Probability for an Emergency Shield item to appear. .HP \fB\-initialFuel\fR .IP How much fuel players start with. .HP \fB\-initialTanks\fR .IP How many tanks players start with. .HP \fB\-initialECMs\fR .IP How many ECMs players start with. .HP \fB\-initialArmor\fR or initialArmors .IP How much armor players start with. .HP \fB\-initialMines\fR .IP How many mines players start with. .HP \fB\-initialMissiles\fR .IP How many missiles players start with. .HP \fB\-initialCloaks\fR .IP How many cloaks players start with. .HP \fB\-initialSensors\fR .IP How many sensors players start with. .HP \fB\-initialWideangles\fR .IP How many wideangles players start with. .HP \fB\-initialRearshots\fR .IP How many rearshots players start with. .HP \fB\-initialAfterburners\fR .IP How many afterburners players start with. .HP \fB\-initialTransporters\fR .IP How many transporters players start with. .HP \fB\-initialMirrors\fR .IP How many mirrors players start with. .HP \fB\-initialDeflectors\fR .IP How many deflectors players start with. .HP \fB\-initialHyperJumps\fR .IP How many hyperjumps players start with. .HP \fB\-initialPhasings\fR .IP How many phasing devices players start with. .HP \fB\-initialLasers\fR .IP How many lasers players start with. .HP \fB\-initialEmergencyThrusts\fR .IP How many emergency thrusts players start with. .HP \fB\-initialTractorBeams\fR .IP How many tractor/pressor beams players start with. .HP \fB\-initialAutopilots\fR .IP How many autopilots players start with. .HP \fB\-initialEmergencyShields\fR .IP How many emergency shields players start with. .HP \fB\-maxFuel\fR .IP Upper limit on the amount of fuel per player. .HP \fB\-maxTanks\fR .IP Upper limit on the number of tanks per player. .HP \fB\-maxECMs\fR .IP Upper limit on the number of ECMs per player. .HP \fB\-maxMines\fR .IP Upper limit on the number of mines per player. .HP \fB\-maxMissiles\fR .IP Upper limit on the number of missiles per player. .HP \fB\-maxCloaks\fR .IP Upper limit on the number of cloaks per player. .HP \fB\-maxSensors\fR .IP Upper limit on the number of sensors per player. .HP \fB\-maxWideangles\fR .IP Upper limit on the number of wides per player. .HP \fB\-maxRearshots\fR .IP Upper limit on the number of rearshots per player. .HP \fB\-maxAfterburners\fR .IP Upper limit on the number of afterburners per player. .HP \fB\-maxTransporters\fR .IP Upper limit on the number of transporters per player. .HP \fB\-maxArmor\fR or maxArmors .IP Upper limit on the amount of armor per player. .HP \fB\-maxMirrors\fR .IP Upper limit on the number of mirrors per player. .HP \fB\-maxDeflectors\fR .IP Upper limit on the number of deflectors per player. .HP \fB\-maxPhasings\fR .IP Upper limit on the number of phasing devices per players. .HP \fB\-maxHyperJumps\fR .IP Upper limit on the number of hyperjumps per player. .HP \fB\-maxEmergencyThrusts\fR .IP Upper limit on the number of emergency thrusts per player. .HP \fB\-maxLasers\fR .IP Upper limit on the number of lasers per player. .HP \fB\-maxTractorBeams\fR .IP Upper limit on the number of tractorbeams per player. .HP \fB\-maxAutopilots\fR .IP Upper limit on the number of autopilots per player. .HP \fB\-maxEmergencyShields\fR .IP Upper limit on the number of emergency shields per player. .HP \fB\-gameDuration\fR or time .IP The duration of the game in minutes (aka. pizza mode). .HP \-/+baselessPausing .IP Should paused players keep their bases? Can only be used on teamplay maps for now. .HP \fB\-survivalScore\fR .IP Multiplicator for quadratic score increase over time survived with lowered shield .HP \fB\-pauseTax\fR .IP How many points to subtract from pausing players each second. .HP \fB\-friction\fR .IP Fraction of velocity ship loses each frame. .HP \fB\-blockFriction\fR .IP Fraction of velocity ship loses each frame when it is in friction blocks. .HP \-/+blockFrictionVisible .IP Are friction blocks visible? If true, friction blocks show up as decor; if false, they don't show up at all. .HP \fB\-coriolis\fR .IP The clockwise angle (in degrees) a ship's velocity turns each time unit. .HP \fB\-checkpointRadius\fR .IP How close you have to be to a checkpoint to register \- in blocks. .HP \fB\-raceLaps\fR .IP How many laps per race. .HP \-/+loseItemDestroys .IP Destroy item that player drops. Otherwise drop it. .HP \-/+useDebris .IP Are debris particles created where appropriate? Value affect ship exhaust sparks and cluster debris. To disallow cluster weapons but not sparks, set allowClusters off. .HP \-/+useWreckage .IP Do destroyed ships leave wreckage? .HP \fB\-maxOffensiveItems\fR .IP How many offensive items a player can carry. .HP \fB\-maxDefensiveItems\fR .IP How many defensive items a player can carry. .HP \fB\-maxRoundTime\fR .IP The maximum duration of each round, in seconds. .HP \fB\-roundsToPlay\fR or numRounds .TP The number of rounds to play. Unlimited if 0. .HP \fB\-maxVisibleObject\fR or maxVisibleObjects .IP What is the maximum number of objects a player can see. .HP \-/+pLockServer .IP Whether the server is prevented from being swapped out of memory. [ Flags: command, defaults ] .HP \-/+sound .IP Does the server send sound events to players that request sound. .HP \fB\-timerResolution\fR .IP 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. [ Flags: command, defaults ] .HP \fB\-password\fR .IP The password needed to obtain operator privileges. If specified on the command line, on many systems other users will be able to see the password. Therefore, using the password file instead is recommended. [ Flags: command, passwordfile, defaults, invisible ] .HP \fB\-clientPortStart\fR .IP Use UDP ports clientPortStart \- clientPortEnd (for firewalls) [ Flags: command, defaults ] .HP \fB\-clientPortEnd\fR .IP Use UDP ports clientPortStart \- clientPortEnd (for firewalls) [ Flags: command, defaults ] .HP \fB\-maxPauseTime\fR .IP The maximum time a player can stay paused for, in seconds. After being paused this long, the player will be kicked off. Setting this option to 0 disables the feature. .HP \fB\-maxIdleTime\fR .IP The maximum time a player can stay idle, in seconds. After having idled this long, the player will be paused. Setting this option to 0 disables the feature. .HP \fB\-maxClientsPerIP\fR or maxPerIP .IP Maximum number of clients per IP address allowed to connect. This prevents unfriendly players from occupying all the bases, effectively "kicking" paused players and denying other players to join. Setting this to 0 means any number of clients from the same IP address can join. [ Flags: command, defaults ] .HP \fB\-playerLimit\fR .IP Allow playerLimit players to enter at once. If set to 0, allow 10 more players than there are bases. (If baselessPausing is off, more than bases cannot enter.) During game, cannot be set higher than the starting value. .HP \fB\-recordMode\fR .IP If this is set to 1 when the server starts, the game is saved in the file specified by recordFileName. If set to 2 at startup, the server replays the recorded game. Joining players are spectators who can watch the recorded game from anyone's viewpoint. Can be set to 0 in the middle of a game to stoprecording. [ Flags: command, defaults, invisible ] .HP \fB\-recordFileName\fR or recordFile .IP Name of the file where server recordings are saved. [ Flags: command, defaults, invisible ] .HP \fB\-recordFlushInterval\fR or recordWait .IP If set to a nonzero value x, the server will flush all recording data in memory to the record file at least once every x seconds. This is useful if you want to replay the game on another server while it is still being played. There is a small overhead (some dozens of bytes extra recording file size) for each flush. .HP \-/+constantScoring .IP Whether the scores given from various things are fixed. .HP \-/+zeroSumScoring or zeroSum .IP Use Zero sum scoring? [ Flags: command ] .HP \-/+elimination .IP Race mode where the last player drops out each lap. .HP \fB\-dataURL\fR .IP URL where the client can get extra data for this map. .HP \-/+polygonMode .IP Force use of polygon protocol when communicating with clients? (useful for debugging if you want to see the polygons created in the blocks to polygons conversion function). .HP \-/+fastAim .IP When calculating a frame, turn the ship before firing. This means you can change aim one frame faster. Added this option to see how much difference changing the order would make. .HP \-/+ngControls .IP Enable improved precision steering and aiming of main gun. .HP \-/+legacyMode .IP Try to emulate classic xpilot behavior. .HP \fB\-constantSpeed\fR or oldThrust .IP Make ship move forward at a constant speed when thrust key is held down, in addition to the normal acceleration. The constant speed is proportional to the product of the acceleration of the ship (varying with ship mass and afterburners) and the value of this option. Note that this option is quite unphysical and can using it can cause weird effects (with bounces for example). Low values close to 0.5 (maybe in the range 0.3 to 1) for this option can be used if you want to increase ship agility without increasing speeds otherwise. This can improve gameplay for example on the Blood's Music map. Higher values make the ship behaviour visibly weird. .HP \fB\-turnPushPersistence\fR or pushPersist .IP How much of the turnpush to remain as player velocity. (0.0\-1.0) .HP \fB\-turnGrip\fR or turnPushGrip .IP How much of of the turnPush should pull the ship sideways by gripping to the friction of the wall?. (0.0\-1.0) .HP \fB\-thrustWidth\fR or sprayWidth .IP Width of thrust spark spray 0.0\-1.0 where 1.0 means 180 degrees. .HP \fB\-thrustMass\fR or sparkWeight .IP Weight of thrust sparks. .HP \fB\-sparkSpeed\fR or sparkVel .IP Multiplier affecting avg. speed (relative ship) of thrust sparks. .HP \-/+ballStyles .IP Send ball styles to clients. .HP \-/+ignoreMaxFPS .IP Ignore client maxFPS requests and always send all frames. This is a hack for demonstration purposes to allow changing the server FPS when there are old clients with broken maxFPS handling. Those clients could be better dealt with separately. This option will be removed in the future (hopefully). .HP \fB\-pausedFramesPerSecond\fR or pausedFPS .IP Maximum FPS shown to paused players. 0 means full framerate. Can be used to reduce server bandwidth consumption. .HP \fB\-waitingFramesPerSecond\fR or waitingFPS .IP Maximum FPS shown to players in waiting state. 0 means full framerate. Can be used to limit bandwidth used. Waiting players are those that have just joined a game and have to wait until next round starts. Note that in clients, a W is shown next to waiting players' names in the score list. .HP \fB\-deadFramesPerSecond\fR or deadFPS .IP Maximum FPS shown to players in dead state. 0 means full framerate. Can be used to limit bandwidth used. This option should only be used if pausedFPS and waitingFPS options don't limit bandwidth usage enough. Dead players are those that have played this round but have run out of lives. Note that in clients, a D is shown next to dead players' names in the score list. .HP \-/+teamcup .IP Is this a teamcup match?. [ Flags: command, any, invisible ] .HP \fB\-teamcupName\fR .IP The name of the teamcup (used only if teamcup is true). [ Flags: command, any, invisible ] .HP \fB\-teamcupMailAddress\fR .IP The mail address where players should send match results. [ Flags: command, any, invisible ] .HP \fB\-teamcupScoreFileNamePrefix\fR .IP First part of file name for teamcup score files. The whole filename will be this followed by the match number. [ Flags: command, any, invisible ] .HP \fB\-teamcupMatchNumber\fR or match .IP The number of the teamcup match. [ Flags: command ] .HP \fB\-mainLoopTime\fR .IP Duration of last Main_loop() function call (in milliseconds). This option is read only. [ Flags: command ] .HP \fB\-cellGetObjectsThreshold\fR or cellThreshold .IP Use Cell_get_objects if there is this many objects or more. .IP The probabilities are in the range [0.0\-1.0] and they refer to the probability that an event will occur in a block per second. Boolean options are turned off by using +