November 04, 2006
Documentatiom written by:
Alex Burger <alex_b@users.sourceforge.net>
Documentation contributors:
Jordi Mallach <jordi@debian.org>
XQF is a 3D action game (such as Quake, sequels and derivatives) server browser. It uses X and is written using the GIMP Tool Kit.
XQF is a front-end to QStat, a program by Steve Jankowsk which is used to retrieve server info.
With XQF you can search for the following games:
Quake
Quake World
Quake2
Quake3
Quake4
Return to Castle Wolfenstein
Enemy Territory
Doom3
Voyager Elite Force (wine)
Hexen2
HexenWorld
Sin
Half-Life (wine)
Half-Life 2 (wine)
Kingpin
Soldier of Fortune
Soldier of Fortune 2 (wine)
Tribes 2
Heretic 2
Unreal Tournament
Unreal Tournament 2003
Unreal Tournament 2004
Rune
Postal2
America's Army
Descent 3
Serious Sam: The First Encounter
Serious Sam: The Second Encounter
Tremulous
Medal of Honor: Allied Assault
Call of Duty (wine)
Savage
Battlefield 1942 (wine)
Jedi Knight: Jedi Academy (wine)
Netpanzer
Nexuiz
Warsow
Searching for games involves communicating with 'master servers' on the Internet which game servers advertise to on the Internet. XQF can spawn your client into a selected server with customized options. You can also apply filters while searching for servers, trimming full or empty servers, for example.
The program has been translated to the following languages: English,
Spanish, German, Catalan, Danish and French.
Highlight of features:
- Supports (unauthenticated) Gamespy style master servers
using QStat 2.4a
- Displays server rules and player info
- Players and servers sorting
- Favorite servers list
- Simple filtering for servers
- Player Filter (Buddy Lists)
- Player name, color, skin and model selection
- QuakeWorld skin visualization with coloring
- Custom configs
- Decodes and displays extended bit-field server flags (dmfalgs,
teamplay, etc...)
- Remote server administration tool (rcon) for QuakeWorld,
HexenWorld,
Quake2, Quake3, Quake4, RTCW, Enemy
Territory,
Doom3, Half-Life,
Sin, Kingpin, Heretic2 servers
- Busy server redial
The minimum system requirements are:
XQF has been tested as is known to run on Intel / AMD and PowerPC
platforms.
XQF can be downloaded as a pre-compiled binary for some
distributions, or as source code. The source code can be downloaded
as either a .tar.gz file, or via CVS. See the file section of http://www.linuxgames.com/xqf
for
downloading instructions.
XQF 1.0.5 -- November 04, 2006
XQF 1.0.4 -- October 20, 2005
- new games: Warsow, Tremulous
- fix Quake 4 RCON
- add "Show only configured games" button again
- fix SOF2 query
- add new America's Army master server
- support copying server info values to clipboard
- fix build with newer GTK2 versions
- don't pass -steam option to hl2 anymore
- fix cursor navigation in server list
- allow to also delete servers that are not in the Favorites list
- split Half-Life support into old and new version
- new Polish translation
XQF 1.0.3 -- April 03, 2005
- New games: new games: Nexuiz, Quake 4
- add Epic's second UT2004 master
- new Finish translation
- add q3a Excessive Plus gametypes
- honor setting to ignore bots when copying server info to clipboard
- add support for plugin scripts
- support multiple sort modes per column
XQF 1.0.2 -- December 22, 2004
- New games: Half-Life 2 (wine)
- make all icons themeable
- use GTK2 colors and Raleigh theme by default in GTK1 version
- add --nomapscan command line parameter
- fix ut2k4 and doom3 master query not working after starting xqf
- fix saving of quake2 passwords
- fix doom3 protocol detection
- fix q1/qw/q2 skin list update
- fix crashes in GTK2 version
XQF 1.0 -- August 15, 2004
- New games: Netpanzer
- Support for Gslist (http://aluigi.altervista.org/papers.htm#gslist)
- Automatic detection of the Doom3 network protocol version
- Check osmask of Doom3 servers and warn if the server has no Linux support
- Configurable qstat source ip and port range for people with broken NAT
- Contry statistics for game servers
- Additional Descent3 server listing
- UT2004 Master support (requires qstat 2.7)
- xqf-rcon uses $XQF_RCON_PASSWORD for the rcon password if set
- Various bugfixes as usual
XQF 0.9.14 -- March 21, 2004
- New games: Doom3, Jedi Academy (wine), America's Army 2.1
- Redial also when only private slots are free and no password is set
- Support for the Half-Life steam master
- Support for America's Army 2.1
- Export the variables XQF_SERVER_NAME, XQF_SERVER_MAP, XQF_SERVER_HOSTNAME
and XQF_SERVER_GAME when launching a game- Custom arguments for RedOrchestra, Troopers, AlienSwarm UT2004 mods
- Animated tray icon for the GTK2 version
- Quake 3 gametypes for World of Padman
- Also copy to CLIPBOARD instead of only PRIMARY to allow paste via CTRL-v
- Quick Filter
- Requires qstat 2.6
XQF 0.9.13 -- November 24, 2003
- New games: UT2004, Postal2, BF1942(wine). All without official master.
- Improved --launch parameter, now only requires IP address and asks for type if needed. It's possible now to use this together with e.g. XChat.
- Add --add parameter to just add a server to favorites
- Fix LAN browsing
- Add LAN masters by default
- Support password on Savage servers
- New server properties: Comment and "this server sucks"
- Add exec function for hexenworld (anyone ever played that game?)
- Switch to intltool for i18n
- Install desktop files
XQF 0.9.12 -- June 10, 2003
- New games: America's Army, Savage, Medal of Honor, Call of Duty(wine)
- New splash screen and desktop icons
- GeoIP support allows filtering by country
- Server side filtering for Half-Life
- Updated Enemy Territory default protocol number
- Quake III gametypes for TrueCombat 1.0 and Urban Terror 3
- Additional gametypes for some RTCW and ET mods
- Added custom arguments for Death Ball and FragOps UT2003 mods
- Detection of cheating-death on HalfLife servers
- Added twilight to q1 and qw command suggestion
- Display team of player for RTCW, ET and Q3 mods that provide the necessary information such as OSP and TrueCombat
- Command line option --launch to automatically add a server to favorites, ping it and then launch the game
- The environment variable XQF_SERVER_ANTICHEAT is now set before launching a game when the server requires some anti-cheat software.
- Option to stop current song in XMMS when launching a game
- Experimental GTK2 compilation support
- New French translation
- Added Enemy Territory Support support
- Added Serious Sam: The Second Encounter support
- Map scan function for q1, qw, q2 and hl tverify that you have the map installed before connecting tthe server
- Ability tsee level screenshot when clicking on the map column for jpg shots inside of PK3 files for Quake3 and Wolfenstein
- XQF startup splash screen support using gdk-pixbuf
- Allow filtering for map and server name
- Fix high cpu load when dialogs are shown during launch phase
- If more than 100 servers are to be updated, the screen is not immediately refreshed. This helps eliminate long delays with Half Life updates
- Pass RCON password on command line when launching Half-Life
- Minor memory leaks fixed
- Added QuakeForge's HexenWorld master
- Added Quake3 Western Q3 game type
- Default custom args for Rocket Arena removed as 1.6 does not need them anymore
- Now displays player team for Wolfenstein and Enemy Territory (skin column)
- With Half Life, private clients now set based on reserve_slots variable
- Display number of private clients in player column
- Option tnot count bots as players
- Move server filter submenu ttop level and remove rarely used buttons from toolbar
- Added docs/PreLaunch.example
- Hostname resolving now off by default
- Automatically creates qstat config if required
- gdk-pixbuf now required
- New Danish translation
- New French translation
XQF 0.9.11 -- December 18, 2002XQF 0.9.10 -- November 16, 2002
- Serious Sam support (requires SMS gametype via ~/.qstatrc). Does not currently support any masters.
- Fixed -game parameter for Half-Life
- RTCW voteflags decoded in properties pane
- Visual marker in Map column to show if you have the listed map installed on your comptuer. (Q3, RTCW, UT, Rune, UT2)
XQF 0.9.9 -- July 3, 2002
- File dialog boxes for adding game command line and directory
- Greatly speed up the startup of XQF when loading large lists
- Greatly speed up response time when applying filters to large lists
- Ability to automatically set cl_punkbuster when connecting to a server in Q3A
- Added Punkbuster icon to Priv column
- Ability to define custom command-line arguments for a game based on the 'game type
- Q3A now searches for a matching mod directory. Should correctly launch even if mod directory is incorrect by case
- Added sound disable support for Unreal based games
- Can now hide games that are not configured
- Changed default Quake3 protocol to 68
- Sound support for XQF events using external sound player
- Busy server redial with reserved slots support
- Soldier of Fortune 2 support (requires qstat sof2s gametype via ~/.qstatrc or qstat >2.5b)
- Use correct parameters (-game,+connect,+password) when launching Half-Life
- New master type of "file" to read IP addresses from a file
- Unreal Tournament 2003 support
- Fixed Half-Life rcon support
- Player search visible improvements
- Fixed Tribes2 master support and added additional masters
- Updated QuakeWorld master list
- Unlimited number of server filters instead of ten
- Changed default Wolf protocol to 60
- Standalone rcon program that doesn't need X (xqf-rcon)
- Quake3 launching now uses 'game' instead of 'gamename' to help prevent launch problems due to case
- Various segfault fixes
- XQF now requires qstat 2.5c
XQF 0.9.8 -- December 17, 2001
- Added Voyager Elite Force support
- Changed default Quake3 protocol to 67
- You can now select Quake3 and Wolfenstein's protocol
- Added 20sec timeout for wget (nice if Gameaholic is down)
- Added Tribes2 server statistics
- Fixed Tribes2 and Quake3 masters
- Added support for LAN broadcast queries
- Improved master support handling
- Added preferences tab for Quake3 memory settings
- New Catalan translation
XQF 0.9.7 -- December 16, 2001
- Repackaged with libtool 1.4, so it builds on all Linux architectures
- Fixed trasparency of Gamespy's pixmap
- Don't distribute debian stuff
XQF 0.9.6g -- September 25, 2001
- Support for games using the GameSpy protocol
- Support for Descent3 with qstat 2.4e (please note Descent can't be launched from within XQF at the moment)
- Support for Rune
- Reorganization of settings dialogs
- New gametypes for Quake3 mods Threewave and TribalCTF
- Support for Wolfenstein retail (protocol 57)
- Server statistics for Wolfenstein, Kingpin and Half-Life
- Works on PowerPC again
XQF 0.9.6f -- March 23, 2001
- Internationalization (gettext) support, Spanish and German translations
- Initial Return to Castle Wolfenstein support
- Tribes2 support
- Support for Q3A protocol v66
- Added "Quake3" preferences page which allows the protocol version and other options to be changed
- Added "General" preferences page, which hosts many of the options which were in "Appearance" previously
- Added "game type" filter
- New man page
- New documentation in html format (docs/xqfdocs.html)
- XQF now requires qstat 2.4c
- Multiple server filters; Filter name configurable and appears in the status bar
- Lock Icon to show if server is private or not; icon next to number of players turns yellow if all of the public client spaces are full
- Pressing "Insert" brings up the add server dialog; pressing SHIFT+Insert adds the currently selected server to ones favorites
- Added support for new Team Arena Game types
- Protocol 48 (1.27) Q3A servers get queried with protocol 48 in qstat
- Execute "PreLaunch" script when launching game (for use with ICQ scripts, etc.)
- Improved support for Half-Life servers
- Improved support for Unreal Tournament
- Improved support for Quake2
- Hack for supporting multiple Q3A protocols i.e. xqf can run different Q3A's depending on if it is a 1.17 or 1.27 server: see the README file
- Q3A hack for connecting to arena servers so that all of the vm_* settings are correct on the command line
- Resolved one major source of core dumps. It should be much more stable now
Loki-Setup installer
Execute the commands (substitute xxx with the actual version number):chmod 755 xqf-xxx.x86.run
./xqf-xxx.x86.run
The installer alreay includes suitable versions of qstat and GeoIP. You still need to install the gdk-pixbuf package provided by your distribution. The installer itself additionally depends on libxml1 and libglade.
RPM Binary package
As root, execute the command (substitute xxx with the actual version number):rpm -Uvh xqf.xxx.i586.rpm
The RPM package depends on qstat, GeoIP and gdk-pixbuf. The latter is usually provided by your distribution whereas qstat and GeoIP packages can be downloaded from the XQF home page.
DEB Binary package
As root, execute the command (substitute xxx with the actual version number):dpkg -i xqf_xxx-v_arch.deb
TAR.GZ source code
Make sure you have the development packages of GTK, gdk-pixbuf, GLIB and X installed.
Extract the source code (substitute xxx with the actual version number):tar xvfz xqf-xxx.tar.gz
cd into the directory:
cd xqf-*
Run configure script:
./configure
Compile source code:
make
Install compiled binary and man page (this step may require root privileges):
make install
The default location for XQF is /usr/local/bin.
You can optionally compile XQF with support for GeoIP (http://www.maxmind.com/download/geoip/api/c/).
CVS source code
Compiling CVS snapshots requires that you have recent versions of automake (at least 1.6), autoconf, libtool and gettext installed. You also need to have both GTK1 and GTK2 development packages installed.
Create the 'configure' script:
./autogen.sh
Run configure script:
./configure
Compile source code:
make
Install compiled binary and man page (this step must be done as root):
make install
The default location for XQF is /usr/local/bin.
The first time you launch XQF, it will attempt to search for games in your path. If any are found, it will automatically configure the command line for the game and attempt to configure the game directory based on the command line found. This should work with most native games. Wine games need to be configured manually.
If no games are found, the Source list will show ALL supported games. If XQF finds one or more supported games, it will only show CONFIGURED games in the Source column. See the Preferences / Appearance menu documentation for more information.
XQF accepts several command line parameters:
- --launch "[SERVERTYPE] IP": adds the server specified with IP (e.g. 10.10.0.1:27666) to the favorites, queries it and launches the game. XQF tries to automatically determine the correct game based on the port. If the autodetections fails XQF will ask you for the game. Alternatively you may directly specify the game type on the command line (e.g. Q3S).
- --add "[SERVERTYPE] IP": adds the specified server to the favories and queries it. Basically the same as --launch except that the game is not launched ;-)
- --debug <level>: set the specified debug level. Use this if you experience problems with XQF. Level 3 is usually sufficient for debugging most problems. Higher levels product lots of output.
- --version: prints the version of XQF.
XQF is normally installed into /usr/local/bin. If /usr/local/bin is not in your path, launch xqf with:
/usr/local/bin/xqf
You can also add the directory to your path, or simply make a symbolic link in /usr/bin. For example, as root:
ln -s /usr/local/bin/xqf /usr/bin/xqf
XQF can be customized via GTK's rc files. XQF parses $HOME/.qf/gtkrc in addition to the built in defaults of GTK.
Please see the Menu Bar / Preferences section for a description of the Preferences menu items.
Update, Refresh, Refresh Selected, Stop, Connect, Observe, Record S Filter, P Filter, SF Cfg, PF CfgUpdate:
Window Panes:See 'View - Update from Master'Refresh:See 'View - Refresh'Refresh Selected:See 'View - Refresh Selected'Stop:Abort the current taskConnect:See 'Server - Connect'Observe:See 'Server - Observer'Record:See 'Server - Record Demo'S Filter:Enable the currently selected Server filterP Filter:Enable the currently selected Player filter
Left pane: Source
Top pane: Server list
Middle bottom pane: Player list
Bottom right pane: Server infoWhile in the Server pane:
While in the Server, Player or Server info pane:
- Left double-click launches game on selected server.
- Right click pops up server option menu.
- Middle click selects one server and refreshes its information.
- Clicking on a map name for Quake3 based games (Wolfenstein etc) will bring up a map screen shot if it exists in the .PK3 file. Otherwise an 'X' will appear.
- The Map column will show red -- if the map has not been detected on your computer. Works with Q3, RTCW, UT, Rune and UT2.
- The Players column will show the number of private clients reserved on the server in brackets (). Example: 5/14(-2) is 5 players out of 14 with 2 reserved.
Bottom status bar:
Left bar: Current XQF activityMenu bar:
Middle bar: Filter information
Right bar: Moving activity bar
File, Edit, View, Server, Preferences
Statistics:Servers tab:Display server statistics for all games such as number of servers, # up, times on, # down, # info not available, # of players
O/S tab:
Quake2, Quake3, Wolfenstein, Kingpin and Half-Life server statistics based on CPU/architecture and operating system
Exit:Exit / quit XQF
Add new Server:View:Add a new server to the Favorites listAdd to Favorites:
Add the currently selected server(s) to the Favorites listRemove from Favorites:Delete server entry from Favorites list. This is only available when viewing the Favorites list.Copy:Copy basic server information to clip board:Copy+:ip:port
Example:
24.101.93.126:27912
Copy more detailed server information to clip board:Add Default Masters:ping ip:port name map curplayers maxplayers
Example:
0 24.101.93.126:27912 Toronto_NH_BatCave q2dm2 0 of 5
Adds all the default masters that would normally appear when XQF is run for the very first time. Use this if new masters have been added to XQF, or you accidentally deleted a master.
Add Master:Add a master server to the 'Source' pane.Rename Master:Enter the name of the master server, the type of game, and the master server address. XQF supports the following types of master servers in the address field:
master://
Considered a standard master server. When XQF calls QSTAT, it will use use QSTAT's standard master support. For example, Quake2 would use the qstat option '-q2m'gmaster://Example:
master://q2master.planetquake.com
When XQF calls QSTAT, it will use the '-gps' option to query 'Gamespy' style master servers. This will not allow you to query master servers at gamespy.com, as they use an key to only allow Gamespy users to use their master servers.http://Unreal Tournament uses this type of master server protocol, but does not require the key.
Example:
gmaster://unreal.epicgames.com
Parses html pages for server listings. Common in Quake1, Quake2, Kingpin and Heretic II.lan://Example:
http://www.gameaholic.com/servers/qspy-heretic2
Issues a broadcast search for servers in your LAN. This does not work with all games. UT and Rune use the Gamespy protocol for LAN queries and will therefore be listed under "Generic Gamespy".Example:
lan://255.255.255.255
file://
Note: Not specifying a prefix will default to master://Parses a list of servers from a local text file that is in the html master format.
Example:
file://~/quake3-servers
file:///home/alex/quake3-servers
Sample text file:
61.139.69.204:27960
68.41.236.152:27960
213.40.130.42:27961
This protocol type is used for querying the Gamespy master server using the 'gslist' program. You need to run gslist -u to fetch the list of supported games before you can actually use it. The URL accepts options separated by semicolon:
- gsmtype: the gamespy name of the game to query. This parameter is mandatory. See ~/.gslist/gslist.cfg for a list of valid names.
- portadjust (optional): integer value to add to the port number before adding the server to XQF. Useful if the native query protocol has a fixed port offset.
Example:
gslist://master.gamespy.com;portadjust=-1;gsmtype=rune
Allow you to change the name of the master. You can not modify the address or game type.Delete Master:Removes a master from the Source listFind Player:Search for a player by name using an exact match string, sub string or regular expression.Find Again:Find the next player that matches the previously defined search string.Properties:Displays the following server properties:
- IP address
- game port
- host name (if available)
- date and time of last refresh
- number of reserved slots (see below)
- sources - what master(s) the server is listed in
- custom cfg (see below)
- server password (if supported for this game)
- spectator password (if supported for this game)
- RCon password (if supported for this game)
Number of reserved slots is used by the redial feature to determine how many free slots must be free on a server before it attempts to connect. For example, if the reserved slots are set to 2 and there are a max of 8 players in the game, there must be 3 free slots avabilabe (5/8 players in the game) for it to launch the game.
Server, spectator and RCon password allow you to set the password for that particular server so you will not be prompted when connecting. The password is stored in the configuration file (~/.qf/config). The selected game determines which of these options are available.
For custom cfg, enter a custom configuration file to be executed when the game starts. For example: custom2.cfg. If you have specified a custom configuration file for the game in Preferences / Games, they will both be executed.
Refresh:Server:Refresh (ping) all servers for the current game / source. Note: If more than 100 servers are to be updated, the screen is not immediately refreshed. This helps eliminate long delays when a large number of serves is being updated / refreshed.Refresh selected:Refresh (ping) all servers for the currently selected / highlighted servers. Note: If more than 100 servers are to be updated, the screen is not immediately refreshed. This helps eliminate long delays when a large number of serves is being updated / refreshed.Update from Master:Fetch the latest list of servers from the master server. Note: If more than 100 servers are to be updated, the screen is not immediately refreshed. This helps eliminate long delays when a large number of serves is being updated / refreshed.Show host names:
Configure XQF to attempt to convert IP addresses to host names. Also available in Preferences menu.Show default port:Configure XQF to display the port next to the IP address if it is considered the default port for the game. Also available in the Preferences menu.For example:
When on, a Quake2 server on port 27910 would be displayed as:
quake2.somedomain.com:27910
When off, a Quake2 server on port 27910 would be displayed as:
quake2.somedomain.com
Server Filters:Preferences:Select a custom filter. The bottom status bar will update showing your selection. The filter is not activated until you click the 'S Filter' button on the tool bar.Connect:Connect to selected server.Observe:The server is 'pinged / refreshed' before the connection is attempted. If the server is found to be down, you will be warned before the game is launched.
If the game is busy (no free player slots) you can choose to Launch anyways, Cancel or Redial. When redialing, XQF will refresh the server every 5 seconds until a free slot is available. For servers that reserve slots for administrators, you can define the number of free slots by right clicking on the server and entering the number of reserved slots.If the server has a password set, a password prompt will appear.
Launches the game in observer / spectator mode. Only effective for some games.Record Demo:Launches game with +record option. Only works in Quake1, Quake2 and Quake3.Add new Server:Add a new server to the list.Add to Favorites:
Add the currently selected server(s) to the Favorites list.Remove from Favorites:Delete server entry from Favorites list.DNS Lookup:Attempt to convert IP addresses to host names of the selected servers.RCON:Remote Console to Quake2 servers. Will be prompted for rcon password.Properties:See Edit / Properties
General:Server Filters:On StartupGamesRefresh Favorites:On ExitRefresh / ping servers in Favorites when XQF starts
Show splash screen:
Show the splash screen if it exists when XQF starts. File should be in $datadir/xqf/pixmaps/xqflogo.png (usually /usr/share/xqf/pixmaps).
Scan for Maps:
Scans your game directories for maps you have installed for the following games:
The Game column will contain a red -- before the game name if you do not have the map installed on your computer. For some games a small preview window with a picture of the map is also shown when clicking the map column
- Quake
- Quake World
- Quake2
- Quake3
- Return to Castle Wolfenstein
- Enemy Territory
- Medal of Honor
- Call of Duty
- Jedi Knight: Jedi Academy
- Half-Life
- Unreal Tournament
- Unreal Tournament 2003
- Unreal Tournament 2004
- Rune
Note: This will increase the time it takes for XQF to launch and you will notice a lot of disk activity during startup.
To re-scan for maps, click the 'scan now' button.
Save Server lists:When Launching a GameSave list of servers when you quit XQF. Recommended if you have a slow connection
Save server information:
Save server information such as map name, game type, flags etc when you quit XQF. Recommended if you have a slow connection
Save player information:
Save list of players and scores when you quit XQF.
Terminate XQF:Quit XQF when you launch a game. Not normally necessary unless you areextremely low on RAM
Create Launchinfo.txt:
A Launchinfo.txt file will be created in the (home directory)/.qf directory. This can be used by external programs such as IRC scripts that notify other people in IRC that you are playing a game. Usually used in combination with 'Execute prelaunch'. Saves the same information as Copy+ does:
ping ip:port name map curplayers maxplayers
Iconify XQF window:
Iconify / minimize the XQF window when you launch a game.
Execute prelaunch:
A file (if exists) PreLaunch will be launched / executed from the (home directory)/.qf directory before launching the game. This can be used by external programs such as IRC scripts that notify other people in IRC that you are playing a game. Two arguments are passed, the qstat type name (e.g. Q3S) and the address of the server (e.g. 10.0.0.1:27960). Also Useful in combination with 'Create Launchinfo.txt'.
A sample PreLaunch script is included in the XQF source in the docs folder..
For each game supported by XQF there are one or more configuration tabs.
Following are the common options for all games.Invoking:
Command Line:Command to execute the gameWorking directory:Example with game in your path: quake2
Example with game not in your path: /usr/bin/quake2
Note: If the command you enter is in your path, it will be expanded to the full path when you click OK, if you press <enter> inside the text box, or you click on the Guess button.
The Suggest button will search for the game in the search path and if found, will populate the command line. This should work with Quake1, QuakeWorld, Quake2, Quake3, Return to Castle Wolfenstein, Soldier of Fortune, Descent3, Tribes 2, Unreal Tournament 1 / 2003 and Rune.
Directory to run the game fromExample: /games/quake2
The Guess button will try to determine the correct directory for the game. This is done by using the following rules:
For example:
- If Command Line is a symbolic link, use path of the directory of the file it is linked to
- If Command Line is NOT a symbolic link, use path of the defined Command Line
Note: If the Command Line does not contain a path and is not in your search path, or a symbolic link contains any '..'s (such as ../../games/quake2) then nothing is returned.
- quake2 is in your path and is a sym link to /games/quake2/quake2 would result in /games/quake2/
- /usr/bin/quake2 sym linked to /games/quake2/quake2 would result in /games/quake2/
- /games/quake2/quake2 (not a sym link) would result in /games/quake2/
Disable sound:Disable sound if the game supports the option on the command line. For example, Quake2 would be called with the
+nosound switch
Disable CD audio:Disable cd audio if the game supports the option on the command line. For example, Quake2 would be called with the
+nocd switchFollowing are the game specific options:
Quake
Invoking:
Custom CFG:
Enter a custom configuration file to be executed when the game starts. For example: custom.cfg
Player ProfileQuakeWorldEnter your player name. Can also define your player's colour, skin or model
WeaponsThe highest weapon that Quake should switch toupon a weapon pickup:Choose the highest weapon that Quake should switch to when you pick up a new weapon. Passed to Quakeworld as the 'setinfo w_switch x' switchupon a backpack pickup:Choose the highest weapon that Quake should switch to when you pick up a backpack. Passed to Quakeworld as the 'setinfo b_switch x' switchDisable auto-aiming:Disable automatic aimingThis is passed to Quakeworld as the 'noaim' switch.
Options:Skins:
Use skins:Allow skins to be used during the game.
Don't use skins:
Disable skins. This is passed to Quakeworld as the 'noskins' switch.
Don't download new skins:
QuakeWorld and Quake2 can automatically download skins from servers you play on if you donot already have the skins on your computer. This options disables the downloading of skins.
Rate:
This controls network packets so that your connection bandwidth does not get saturated. Lowering the number reduces the number of packets sent / received. Slower connections should use a lower rate setting.Default is 2500.
This is passed to Quakeworld/Quake2 as the 'noaim' switch.
Pushlatency:Do not set (use game default)Troubleshooting: special options for those who know what they mean ;-)Use whatever the Quakeworld default isAutomatically calculate from server ping timeUse the following formula to determine pushlatency setting.Fixed valueIf ping is <= 0, set to 10 (minimum)
If ping is >= 2000, set to 1000 (maximum)
Otherwise, set to (((ping / 2) +9 ) / 10 ) * 10
This is passed to Quakeworld as the 'pushlatency' switch.
Enter a value to be passed to QuakeworldDisable delta-compression (cl_nodelta)
Disable player/entity prediction (cl_predict_players)Player Profile:Quake2NameEnter your player name. Can also define your player's team, skin and colors. Uses pictures from your Quake directory.
Invoking:
Custom CFG:
Enter a custom configuration file to be executed when the game starts. For example: custom.cfgOptions:
Skins:Use skins:Troubleshooting: special options for those who know what they mean ;-)Allow skins to be used during the game.
Don't use skins:
Disable skins. This is passed to Quakeworld as the 'noskins' switch.
Don't download new skins:
QuakeWorld and Quake2 can automatically download skins from servers you play on if you donot already have the skins on your computer. This options disables the downloading of skins.
Rate:This controls network packets so that your connection bandwidth does not get saturated. Lowering the number reduces the number of packets sent / received. Slower connections should use a lower rate setting.Default is 2500.
This is passed to Quakeworld/Quake2 as the 'noaim' switch.
Disable delta-compression (cl_nodelta)
Disable player/entity prediction (cl_predict_players)AppearancePlayer Profile:Quake3: ArenaNameEnter your player name
Model / SkinDefine your player's model and skin. Uses pictures from your Quake2 directory.
Invoking:
Custom CFG:Custom Args:
Enter a custom configuration file to be executed when the game starts. For example: custom.cfg
Custom command line arguments can be defined for any game type based on the Game column.
Some game modifications (mods) require special command line options for the game to start correctly. An example is Rocket Arena. For Rocket Arena to launch correctly, the vm_game, vm_cgame and vm_ui variables must be set to 0. Note: Rocket Arena 1.6 and higher does not require custom args.
To create a new argument, click New and enter the name of the game that appears in the game column (example: arena), and in the second box enter the arguments separated by spaces (example: +set vm_game 0 +set vm_cgame 0 +set vm_ui 0). Click Add / Update to insert into the list.
There can only be one definition for each unique game at one. Case is ignored for the game name.
Clicking 'Add Defaults' will add any default arguments that are included with XQF.
Options:Wolfenstein
Master server protocol version:MemoryPasses the defined protocol version to QSTAT when finding servers. Each patch for Quake3 usually changes this value.vm_cgame_fix:This is passed to QSTAT as -q3m,## where ## is the protocol version. Defaults to 68 (v1.32).
Sets command line options to make Quake3 prefer QVM to shared objects (.so). This should only be required if there are .so files from an older release floating around in baseq3.Rocketarena fix:Sets command line options to make Quake3 prefer shared objects (.so) to QVM. Rocket Arena uses shared objects. Only affects Rocket Arena (game type of arena).set fs_game on connect:XQF will pass the game directory the server is using on the command line to ensure the game launches and connects properly.set cl_punkbuster on connect:
Sets command line options to ensure cl_punkbuster is set to 1 if the server has it enabled (server punkbuster variable)
Pass memory settings on command line:
Enable or disable the passing of the memory options specified belowcom_hunkmegs, com_zonemegs, com_soundmegs, cg_precacheddmodels:
Allow you to set the values passed for each of the above variables.Preset values:
Click a button to set the memory options based on the amount of memory you have, or the defaults.
Options:Enemy TerritoryMaster server protocol version:Passes the defined protocol version to QSTAT when finding servers. Each patch for Wolfenstein usually changes this value.This is passed to QSTAT as -q3m,## where ## is the protocol version. Defaults to 60 (v1.4)
set fs_game on connect:
XQF will pass the game directory the server is using on the command line to ensure the game launches and connects properly.
Options:Master server protocol version:Passes the defined protocol version to QSTAT when finding servers. Each patch for Enemy Territory usually changes this value.This is passed to QSTAT as -q3m,## where ## is the protocol version. Defaults to 82 (v2.55)
set fs_game on connect:
XQF will pass the game directory the server is using on the command line to ensure the game launches and connects properly.
Voyager Elite Force
Options:Master server protocol version:Passes the defined protocol version to QSTAT when finding servers. Each patch for Voyager Elite Force usually changes this value.This is passed to QSTAT as -q3m,## where ## is the protocol version. Defaults to 24.
Tribes 2 - Player Profile:set fs_game on connect:XQF will pass the game directory the server is using on the command line to ensure the game launches and connects properlyLogin Name:Unreal / UT / UT 2003Login name to use to log into Tribes 2. If present, it will be passed on the command line. To prevent a password prompt, you must save your password inside of Tribes 2.
Custom Args:
Custom command line arguments can be defined for any game type based on the Game column.
Some game modifications (mods) require special command line options for the game to start correctly.
To create a new argument, click New and enter the name of the game that appears in the game column, and in the second box enter the arguments separated by spaces. Click Add / Update to insert into the list.
There can only be one definition for each unique game at one. Case is ignored for the game name.
Clicking 'Add Defaults' will add any default arguments that are included with XQF.
See the Quake3 section above for an example.
Server List:Qstat:Show host names:Toolbar:Attempt to convert IP addresses to host names.Show default port:Configure XQF to display the port next to the IP address if it is considered the default port for the game. Also available in the Preferences menu.Do not count bots as players:For example
When on, a Quake2 server on port 27910 would be displayed as:
quake2.somedomain.com:27910
When off, a Quake2 server on port 27910 would be displayed as:
quake2.somedomain.com
Prevents users with 0 ping as being reported as a player for the 'Players' column. This will not be 100% accurate as users running non-dedicated servers normally have a 0 ping.Sort servers real-time during refresh:
Sort servers names while refreshing the list.Refresh on Update:Automatically refresh server list after updating list of servers.Show only configured games:
If enabled, will only show games in the Source column that have a command line configured.Icons / Text / BothShow top toolbar as icons, text or icons/textTooltips:Enable or disable tooltips. Gives a description of a button when you hold the mouse pointer over it for a couple secondsQstat Options:Sounds:
Number of simultaneous servers to queryHow many servers QSTAT should query at once. This number is passed to QSTAT as the -maxsim switch. Defaults to 20. Increase if you have a high speed connection, lower it if xqf reports bad ping times.Number of retriesNumber of times QSTAT should retry a server if it doesn't reply to status queries. This number is passed to QSTAT as the -retry switch. Defaults to 3
Sound Enable / Disable
Enable SoundSoundsEnable or disable the playing of sounds in XQF when an event occurs.Player Program
The program used to play sounds. For example:
esdplayIf the program is not in your path, you must specify the entire path. For example:
play
/myfolder/bin/theplayerNote: You may experience sound blocking problems depending on the programs you are running. For example, while playing a song on a cheap sound card with XMMS configured for OSS output, play (sox) waits until XMMS is finished before playing the sound. Results may vary depending on your system.
Enter the sound file to play for each event. If the entry does not start with a /, the user's ~/.qf/ directory is assumed. For example:
/home/alex/sounds/stop.wav (absolute path)
sounds/stop.wav (same as ~/.qf/sounds/stop.wav)
Configure:
Server Filter:
Server filters can be used to reduce and or fine tune the servers listed. An unlimited number of custom filters can be defined.
To create a new filter, click New. To select an existing filter to edit, click the top left menu selector and select the filter.
The current filter can be renamed or deleted by clicking the Rename or Delete buttons.
The following options can be defined for each filter:
Server would pass filter if:
ping is less than:The server's ping must be less than this number to be displayedThe number of retries is fewer than:If XQF must retry more than this number to contact a server, remove it from the listIt is not full:The server has room for another playerIs not empty:Has someone playing on it. BOTS on the server are considered as playersCheats are not allowed:Cheats is not enabled on the serverNo password required:Server is a public access serverThe game contains the string:Enter text that must be in the game name. For example: 'arena'The game type contains the string:Enter text that must be in the game name. For example: 'ctf'The version contains the string:Only servers that have the text in the 'version' variable
The map contains the string:
Enter text that must be in the map name. For example: 'q3dm'
The server name contains the string:
Enter text that must be in the server name. For example: 'Batcave'
Player:
Player filters can be used to help you find your friends on servers. Each player defined has a colour assigned to it - red, green or blue. The server list will display the coloured dot next to the server name if the player is found on that server.Click 'New' and enter a player name using an exact match (string), a partial match (substing) or by using a regular expression.
Note: You can also add a player to the player filter by right-clicking the player name in the Players pane.
Words typed here are searched in every server's name, hostname, map, game, gametype and rule value.
Following are notes on using specific games with XQF. Most games should work with basic setup in XQF, but some may require special configuration.
Quake3
Under Preferences - Games, enter the 'command line' and 'working directory'. Nothing special is normally needed.XQF uses the 'game' server variable to determine how to launch Quake3. For example, if the server reports a game of q3ut2, Quake3 will be launched with +set fs_game q3ut2. In some cases, a server may report the incorrect case such as Q3UT2. This would cause XQF to launch Quake3 using+set fs_game Q3UT2 which would result in a new directory being created in your Quake3 directory, and none of the mods files being found.
In XQF 0.9.10 and newer, if an exact match is not found in the Quake3 / ~/.q3a directory, a search will be performed to find a matching directory regardless of case. In the above example, Quake3 would be launched with +set fs_game q3ut2even if the server reported Q3UT2 and you had the mod installed as q3ut2.
QUAKE 3 ARENA SPECIAL INSTRUCTIONS (AKA HACK) for v1.17 and 1.27
This may also apply to newer versions of Quake3 as they are released.
In Q3A, clients and servers can only talk with each other if they are using the same protocol. The protocol in Q3A is defined by a number. So, for instance, Q3A 1.17 uses protocol 45 wile 1.27 uses protocol 48. During the switch-over time after ID releases a new point release, it can be frustrating to not be able to connect to any server one wants. However, if you have lots of disk space, it is possible to get around this problem.
I (Bill 'EvilBill' Adams) will outline what I did to get it so I can play both 1.17 and 1.27 Q3A games without much fuss.
For reference, my Q3A is installed under /usr/local/games/... and I have a symlink from /usr/local/bin/quake3 to ../games/quake3/quake3.(1) Rename /usr/local/games/quake3 (as I used to have it) to /usr/local/games/quake3-1.17.
(2) mkdir /usr/local/games/quake3; cd /usr/local/games/quake3
(3) cp -Rav ../quake3-1.17 .
(4) Install the point release, copy all of the TA pk3 files into baseq3. Remove any old mods from 1.17.
(5) cd..; mv quake3 quake3-1.27
(6) Edit both of the quake3 scripts so the directories all match, here is the script I use for 1.17: (/usr/local/games/quake3-1.17/quake3)
==begin==
#!/bin/sh
# Needed to make symlinks/shortcuts work.
# Run Quake III with some default argumentsLD_LIBRARY_PATH="/usr/local/games/quake3-1.17"
export LD_LIBRARY_PATHcd "/usr/local/games/quake3-1.17"
quake="./quake3.x86"
"$quake" +set in_dgamouse 1 $*
exit $?
==cut==(7) [as root], cd into /usr/local/bin. Make symlinks for each of the Q3A directories that correspond to the protocol each uses. So:
ln -s ../games/quake3-1.17 quake3proto45
ln -s ../games/quake3-1.27 quake3proto48
ln -s ../games/quake3-1.27 quake3Note the last one is there as the default.
(8) Get a very (CVS) recent version of xqf. You will need >=0.9.6e-beta. Set up the executable for quake3 such that it is the FULL path to quake3, in my case I entered /usr/local/bin/quake3. This is VERY important because of the hack I used where I put 'protoNN' on the end of whatever you entered for the program and see if xqf can fopen it. Without the full path, chances are that xqf will not find it.
If you have problems, run xqf with "-d 5" on the command line. This will give you some hints as to that which it is looking.
Soldier of Fortune (1.06)
Create a script in your sof directory called 'startsof-xqf' that contains: ./sof +set console 1 +won_login username password "$@"Replace username and password with your WoN username and password
Make the script executable with: chmod +x startsof-xqf
Under Preferences - Games, enter startsof-xqf for 'command line' and enter the directory sof is installed in for 'working directory'.
When you connect to a server, SoF will authenticate to WoN and you will have to click 'OK' to the hopefully successful login screen. You should then be connected to the selected server
Soldier of Fortune 2
Qstat 2.5c supports Soldier of Fortune 2 by using a ,qstatrc configuration file (normally stored in your home directory or /etc/qstat.cfg). You must properly install qstat with the qstatrc configuration file for XQF to work with this game. See the qstat documentation for more information.
Unreal Tournament (436) and Rune
The startup scripts of Unreal Tournament and Rune have a bug that prevents them from automatically connecting to servers when beeing started by xqf. Fortunately it's easy to fix (for Rune the startup script is called 'rune' instead of 'ut):
Inside of the directory where Unreal Tournament is installed, backup your ut file: cp ut ut.org (ut is a script that finds and launches ut-bin)Edit the ut file and change the line near the bottom from exec "./ut-bin" -log $* to exec "./ut-bin" $* -log
(-log and $* need to be swapped)
Under Preferences - Games, enter ut for 'command line' and enter the directory UnrealTournament is installed in for 'working directory'.
Half-Life
Nothing special required anymore, just enter a command that launches a normal Half-Life such as:
wine hl.exe -- hl.exe -consoleYou should no longer need to specify a special script to launch Half-Life.
To play Half-Life under Linux, see the following sites:
Linux Half-Life
TransGaming
Descent 3
Descent 3 does not currently launch from XQF. This appears to be a problem with the Descent3 program, and not XQF. Descent3 for Linux does not accept connections to servers from the command line.
Serious Sam
For Serious Sam to query properly, a QStat configuration file is required. XQF since version 0.9.12 installs a working one for you.
Note: At the time of this release, there are no known public Serious Sam master servers that work with QStat / XQF.
Medal of Honor
For Medal of Honor to query properly, a QStat configuration file is required. XQF since version 0.9.13 installs a working one for you.
Call of Duty
There is currently no native client for Call of Duty, you need wine to run it. You can find an installer at http://liflg.org/?catid=7&gameid=1
Savage
The shell script shipped with Savage is broken. You need to adjust it to pass command line parameters to the game itself. Change the line that looks like
LD_LIBRARY_PATH=libs:$LD_LIBRARY_PATH ./savage.bin /usr/local/games/Savage_Demoto
LD_LIBRARY_PATH=libs:$LD_LIBRARY_PATH ./silverback.bin "$@" /usr/local/games/Savage_Demo
There is currently no native client for Jedi Knight: Jedi Academy, you need wine to run it. You can find an installer at http://www.liflg.org/?catid=7&gameid=44
Please report problems to the XQF home page Forum at http://www.linuxgames.com/xqfor the user mail list at http://sourceforge.net/projects/xqf.Most problems can be solved by deleting the '.qf' directory in your home directory. This directory contains the configuration of XQF including game preferences, server lists, player lists etc.
Q: Do you know of any good web sites with technical information on playing games on Linux?
A: http://www.icculus.org/lgfaq/
Q: When I refresh or update a list, all servers come back with a ping of 'n/a'
A: Make sure qstat is in your path. Go to a shell and type qstat. If a screen full of qstat command options does not appear, qstat is not installed, or it is not in your path. After compiling QStat, copy qstat to the /usr/bin directory. See the QStat home page for installation instructions.
Q: QStat is installed, but when I refresh or update a list, all servers come back with a ping of 'n/a'
A: If you are behind a firewall such as a LinkSys or Dlink router, or are using filtering on your machine (iptables or ipchains) you are probably blocking the game's traffic from entering your computer. Games generally use UDP, not TCP. Because of this, your firewall needs special configuration. Search the internet for 'gamename firewall port' and you should find something helpful.
Q: When I try to launch XQF, I get 'command not found'
A: XQF is not in your path. See the Launching XQF section
Q: I have added master0.gamespy.com to XQF, but I can not retreive any servers from that master
A: Gamespy's master servers use an authentication sequence that is not supported by QStat. This means that you can not query a Gamespy master using QStat and XQF. Other games such as Unreal Tournament use the Gamespy style master server but do not require authentication which is why they work.
Q: I deleted one of the default master servers. How do I get it back?
A: Edit - Add Default Masters to add ALL the default master servers back into the list. If you know the address, you can add a single master with Edit - Add Master.
Q: Why do LAN searches not find any servers?
A: You either need a default route to your ethernet device or a host route for the broadcast address (try e.g. route add -host 255.255.255.255 eth0).
Q: I am behind a firewall / proxy server and can not retrieve http master lists
A: XQF uses wget to retreive http master lists. To configure wget to use a proxy server, set the environment variable 'http_proxy' before launching XQF. For example:
export http_proxy=http://address-of-proxy-server:port/
Q: My game is not launching properly. What do I do?
A: The command line arguments passed by XQF may not be correct due to a configuration problem or maybe a bug. Launch XQF from a command prompt using:
xqf -d 1
and 'Connect' to the server. The command line used by XQF to launch the game will be displayed in the console. Use that to figure out what is wrong. If you can determine it is a but, please fill out a bug report at http://sourceforge.net/projects/xqf.
Q: XQF sounds are not playing when XMMS or another sound program is running. What do I do?
A: The Enlightened Sound Daemon (ESD or ESounD) allows multiple programs to play sounds at the same time. The software you are running may or may not be using ESD to play sounds.
To have XQF use ESD, configure the sound player to be /usr/bin/esdplay instead of play or sox.
Configure your other applications to use ESD. For example, to configure XMMS to use ESD, press Control P inside of XMMS and on the Audio I/O Plugins page select 'eSound Output Plugin' for the Output Plugin.
On an RPM based system, use 'rpm -q esound' to see if it ESD is installed.
For more information on ESD, see /usr/share/doc/esound*.
Under KDE you may want to use arts and artsplay instead
Q: When updating server lists for Quake3, Wolfenstein or Enemy Territory, XQF only shows servers for an old version or the demo. What's wrong?
A: You need to choose a suitable Masterserver protcol version. If xqf doesn't know about the newest version yet, manually add a server running the new version and enter the value of the server rule "protocol"
Q: Can XQF integrate with any chat programs such as IRC or ICQ?
A: To integrate XQF with XChat or LICQ, use XQF -> XChat. When you start a game with XQF, this script notifies other chat channel users that you are playing a game and (optionally) changes your nick to reflect your gaming status. Also, your Licq status can be changed (n/a, occupied, etc) and the autoresponse message will be changed to the stats of the server you are using.
Q: Will XQF be availble for Windows?
A: We have no plans to port XQF to Windows, however there are many Windows game browser applications available. You may try aGSM (alternative Game Server Monitor) which supports both LAN and Internet gaming for many popular online games and is freeware (but no free software unfortunately).
Included in the XQF source is a program called XQF-Rcon. XQF-Rcon is a text mode (does NOT require X) remote console program for Quake2 and other games. The program is completely independant of XQF, but uses some XQF source files to compile. It does NOT replace or alter the existing RCON support inside of XQF.
To use xqf-rcon, type:
xqf-rcon ip portYou will be prompted for the rcon password and then it behaves like a normal shell.
It will always waits for an answer after sending a line. It will time out and return to the prompt if no answer is received within five seconds.
To compile xqf-rcon, make sure you have readline and ncurses development packages. For example, readline-devel and ncurses5-devel (depends on distribution).To compile xqf-rcon, the steps are the same as compiling XQF except for the ./configure line. See below:
Extract the source code:
tar xvfz xqf-xxx.tar.gz
cd into the directory:
cd xqf-*
Run configure script:
./configure --enable-externalrcon
Compile source code:
make
After compiling, you should have the program 'xqf-rcon' in src/, along with xqf.
Note: To compile from CVS, make sure you are running automake 1.6 or newer.