Xfire_games.ini entries

Table of contents

Overview

This document contains all known properties and environment variables used in the main game detection file of Xfire, xfire_games.ini. You can use this document as a reference to see what values are available and what properties to use if you don't remember or are not sure.

This document has been written by Joonas Lehtolahti (aka GODJonez) to help people create game support code for Xfire. This document is especially written for Xfire Plus to help people to publish their code with other Xfire users easily. The copyright for this document is valid and belongs to the author. If you wish to use any part of the document on your own productions, please ask for the permission from the author. You can find contact information from his public profiles on the websites mentioned earlier. You are allowed to link to this document without any special permission. This document might contain wrong or misleading information. If you find some wrong information and know how it should be, please inform the author and the document will be updated if your information can be confirmed.

This document with all its contents copyrighted © 2006 by Joonas Lehtolahti

Properties

[ID number]
Required
The ID number is an unique number that Xfire uses to identify a game in both server and client side. For example, the ID for Counter-Strike 1.6 is 5, so when the user is playing Counter-Strike 1.6, Xfire reports to its servers that the user is playing game 5 and the server then checks from the database what the game name is and can then show in profile that the user is playing Counter-Strike 1.6.
Every game and voice chat software must have an unique number so that there won't be false detections. Every game detection entry in xfire_games.ini starts with the ID number block definition.
LongName
Required
This is the friendly name shown to people.
ShortName
Required
ShortName is an unique name consisting of only lower case letters and numbers. Xfire uses this name to look for the icon and custom infoview panels for the game.
LauncherDirKey
If the game stores its install location to Windows registry, it would be good if the registry location was told to Xfire. Xfire checks the registry entries on startup and if it finds the install path, it can automatically make the game status as "Installed" so you don't even have to manually click Apply on the Find Installed Software dialog or add the game from Tools -> Options... -> Games
If you use LauncherDirKey, do not use LauncherDirShortcut or LauncherDirDefault.
See also:
DetectDirKey
Optional
In case the executable file that is running when playing the game is different than the one used to launch the game and the file is stored in different location, you can use this property to show Xfire the key in Windows registry that stores the location of the file to be detected.
Use DetectDirKey only if it is necessary. The only games that need this property are those whose launcher is an external program, such as LaunchPad that is installed in its own location. In these cases, set the LauncherDir point to the folder where the launcher resides and use this property to make Xfire find the actual game executable that the launcher starts.
You may use other DetectDir properties in the same way as LauncherDir properties. As their usage is the same except that the executable they are for, they are not documented separately.
See also:
LauncherDirShortcut
One way to find out where the game is installed is to give Xfire the location where the game usually saves its shortcut. Usually the shortcut points to the game executable file, so you might also need to use LauncherDirTruncAt property to cut the path. The folder that points to the Programs folder in Start menu is CSIDL_PROGRAMS.
If you use LauncherDirShortcut, do not use LauncherDirKey or LauncherDirDefault.
See also:
LauncherDirTruncAt
Dependent
Used only with LauncherDirKey in case the registry value referenced to contains more than just the path. For example if the value in registry was C:\Program Files\Game\game.exe You would like to make the following line: LauncherDirTruncAt=game.exe To make Xfire to cut the value and leave only the program install dir.
See also:
LauncherDirAppend
Dependent
Used only with LauncherDirKey in case the registry value referenced to contains a path to a parent folder. For example if the value in registry was C:\Program Files You would like to make the following line: LauncherDirAppend=\Game To make Xfire to create the full path to: C:\Program Files\Game\ .
See also:
LauncherDirDefault
If the game does not store its installation path to registry you can still tell Xfire a path where the game is likely installed to. If the game is found from the location specified by this property Xfire is likely to add it to Installed games automatically.
If you use LauncherDirDefault, do not use LauncherDirKey.
See also:
LauncherExe
Required
This property tells Xfire the main executable file that is used to start the game. If this file is not found from the game folder, Xfire will not accept the game. When you choose the game from Xfire's Launch menu or use one-click joining, Xfire uses this file to start the game.
See also:
LauncherPasswordArgs
Optional
If one-click joining is supported for the game and there are password-protected servers, you can add the command line parameters used to deliver the password to the game using this property.
The password given to Xfire can be referenced using %UA_GAME_HOST_PASSWORD%
See also:
LauncherUsernameArgs
Optional
If one-click joining is supported for the game and the game needs username to be specified in the command line, you can use this property to tell Xfire how to add the username into the command line.
The username given to Xfire can be referenced using %UA_GAME_HOST_USERNAME%
See also:
LauncherLoginArgs
Optional
If the game needs logging in and it is supported by command line, you can specify the parameters for that procedure with this property. The login box is displayed automatically on Xfire when this property is used in the detection code.
The login information can be referenced with environment variables %UA_GAME_LOGIN_NAME% and %UA_GAME_LOGIN_PASSWORD%.
See also:
LauncherRconArgs
Optional
If one-click joining is supported for the game and the game supports giving RCON password from command line you can give the form of the command line parameter using this property.
The RCON password given to Xfire can be referenced using %UA_GAME_RCON_PASSWORD%
See also:
LauncherNetworkArgs
Optional
If one-click joining is supported for the game, this property defines the parameters given to the game when joining a server.
The variables that can be used:
See also:
LauncherUrl
Optional
Some online games need you to log in to the game on a website. For those games you can enter the URL as a value for this property.
DetectExe
Optional
If the game is using different executable file from the one that is used to launch the game, use this property to tell Xfire what file to track. If this file is not found from the install location, the game can't be added to Lauch list.
See also:
InstallHint
Optional
If there is some kind of unique file that would be a good hint to tell that the game exists in the folder, you can specify that file as Install hint. If the file specified does not exist, Xfire does not recognize the game in that folder. This is especially useful with game mods.
See also:
Launch
Required

When you choose to launch the game from Xfire or you use one-click joining, this is the actual command line used to start the game. Almost always this line is the line:
%UA_LAUNCHER_EXE_PATH% %UA_LAUNCHER_NETWORK_ARGS% %UA_LAUNCHER_EXTRA_ARGS%

The only exception usually made is to add extra command line parameters that are always used to launch the game (especially with game mods).

See also:
ServerStatusType
Optional
The value of this property tells Xfire how to query the server data. There are only limited number of values you can assign to this property. You can't add a new server type as they are coded inside the Xfire program. The values accepted are:
Value Server type
AA America's Army
ASE All Seeing Eye
BF1942 Battlefield 1942
BF2 Battlefield 2
BFVIETNAM Battlefield Vietnam
COD Call of duty
DEUSEX Deus Ex
DH2K5 Deer Hunter 2005
DOOM3 Doom 3
FARCRY Farcry
FL Freelancer
GHOSTR Ghost Recon
GORE Gore
GS GameSpy
GS2 GameSpy 2
HL Half-Life
HLSTEAM Steam - Half-Life
HND2 Hidden & Dangerous 2
MOHAA Medal of honor: Allied Assault
NWN Neverwinter Nights
OPFLASH Operation Flashpoint
PAINKILLER Painkiller
Q2 Quake 2
Q3A Quake 3 Arena
Q4 Quake 4
QW QuakeWorld
R63 Rainbox six 3
RNG Command & Conquer Renegade
SAVAGE Savage
SOF Soldier of fortune
SOURCE Steam - Source
SWAT4 Swat 4
SWRC Star Wars Republic Commando
THPS3 Tony Hawk's Pro Skater 3
TRIBES Tribes
TRIBES2 Tribes 2
TRIBESV Tribes Vengeange
U2 Unreal II
UT Unreal Tournament
UT2K3 Unreal Tournament 2003
VCG Vietcong
WOLFET Wolfenstein: Enemy Territory
See also:
ServerEncodingType
Optional
In some cases you need to specify the encoding of the server query. The valid values are UTF8 and ASCII. If the game you are trying to add uses one of the supported server types but the query doesn't seem to return valid data, you might try using either values of this property to see if that makes the query successful.
See also:
InGameRenderer
Optional
This is the main property to define Xfire In-Game support for the game. The value of this property is determined by the rendering engine the game uses. Valid values are:
Value Rendering type Commonly used in
DDRAW DirectDraw Games using 2D graphics
D3D7 Direct3D 7 Older 3D games
D3D8 Direct3D 8 Newer 3D games
D3D9 Direct3D 9 Current 3D games
OGL OpenGL Many 3D games, especially ones found on Linux/Mac also
See also:
InGameFlags
Optional
Some games need additional tweaks to make the in-game chat to work properly. InGameFlags is the most common method to use tweaks built into XIG engine. To assign more than one tweak, use the vertical pipe character |. The valid values for this property are:
Value Meaning When to use
BLOCK_ASYNC Exact information not available
CHECK_LISTENER Exact information not available
DISABLE_RELEASE Disables releasing control Low FPS rate
DISPATCH_CONURE_MESSAGES Exact information not available Game crashes with XIG support
DISABLE_DIRECT_INPUT_HOOK Completely disables DirectInput hook Game does not receive keyboard input
OGL_EXTRA_HOOKS Special OpenGL hook used XIG not working in OpenGl game
REINSTALL_KEYBOARD_HOOK Restart keyboard hook Keyboard problems
USE_DINPUT1 Alternate DirectInput method Keyboard problems
USE_PRESENT Exact information not available
USE_WINDOWS_INPUT Alternate input method Keyboard problems
VALIDATE_USING_EXE_NAME Ensure game executable XIG not working
WGLSWAPLAYERBUFFERS Special tweak Only for nwn
WOLF_ETPRO Special tweak Only for wolfet
See also:
InGameOGLTextureOffset
Optional
This property was made to replace InGameFlags=OGL_EXTRA_HOOKS with a more precise offset value. The only value so far used is 32000.
See also:
InGamePaletteIgnore
Optional
This propery is only useful on games running in 256 color mode. You can specify ranges of colors that should not be modified when Xfire In-Game chat window is drawn. You know when you need to specify this property when the colors in the game are messed up due to XIG.
An example value could be 1-13,248-254, meaning that palette entries 1 to 9 and 240 to 254 should not be altered. To find out what palette entries are used in which part of the screen, take a screenshot, paste it to a good image manipulating program and check the palette.
See also:
InGameDelay
Optional
This property assigns a delay to the in-game system. The values are usually multiplies of 10000. Details are still unknown.
See also:
ChangeTolerance
Optional
This property is used to make in-game chat work better in some games. Details are still unknown.
See also:
DisconnectTolerance
Optional
Details are still unknown.
SoftwareType
Optional
This property only accepts one value currently: VoiceChat. It is used to make Xfire detect the program as a voice chat program instead of a game. Since voice chat programs need support from Xfire servers also, this property is of no use in custom game support.
DetectServer
Optional
If you set this property a value FALSE, then Xfire will not track the server IP for the game. This is often used with MMORPG's since the user doesn't usually need to know the IP address of the server.
See also:
ExcludeIPPorts
Optional
The value of this property is comma separated list of ports that Xfire should not detect IP address from. This is useful for example if the master server uses different port than normal game server, so excluding the master server port prevents the master server IP being detected as the server the user is playing on.
See also:
PlayingDetectType
Optional
Sometimes it is needed to order Xfire to detect the game by using window title instead of just the executable name to prevent false detections. In these cases this property should be given value: ByWindow. If this is used, then ProcessWindowTitle must be used also.
See also:
ProcessWindowTitle
Dependent
If PlayingDetectType has been set to ByWindow, then this property is also needed. The value used should be exactly the same as the window title of the game.
See also:
CommandLineMustContain[i]
Optional
This property is useful with game mods: when multiple games are launched from the same executable file. Then you can make Xfire to check the command line parameters given to the detected exe and the command line must contain the parameters given in this property. You can assign more than one of these properties. To make this possible, you need to include an incremental number inside the square brackets, starting from 0. You must always include the number if you use this property.
See also:
CommandLineMustNotContain[i]
Optional
This property is useful with game mods: when multiple games are launched from the same executable file. Then you can make Xfire to check the command line parameters given to the detected exe and the command line must not contain the parameters given in this property. So this property is especially useful in the detection code of the master game. You can assign more than one of these properties. To make this possible, you need to include an incremental number inside the square brackets, starting from 0. You must always include the number if you use this property.
See also:
Locale
Optional
Currently only used with WoW. Details are still unknown.
AlwaysFullScreen
Optional
Currently only used with wormsa. Details are still unknown.
LobbyGUID
Optional
The value of this property should be the game lobby GUID, an unique identifier that is used to distinguish between the games in DirectPlay.
See also:
LobbyType
Specifies the type of the DirectPlay lobby. Two values are available:
Value Explanation
DP DirectPlay 7 and older
DP8 DirectPlay 8 and newer

Environment variables

%UA_GAME_HOST_NAME%
This evaluates to the server's IP address.
%UA_GAME_HOST_PORT%
This evaluates to the server's port.
%UA_GAME_LOGIN_NAME%
This evaluates to the username given to log in to the game.
%UA_GAME_LOGIN_PASSWORD%
This evaluates to the password given to log in to the game.
%UA_GAME_HOST_PASSWORD%
This evaluates to the password the user typed in.
%UA_GAME_HOST_USERNAME%
This evaluates to the username the user typed in. For games without LauncherUsernameArgs, this environment variable contains the nickname of the Xfire user.
%UA_GAME_RCON_PASSWORD%
This evaluates to the RCON password user typed in.
%UA_LAUNCHER_EXE_DIR%
This evaluates to the Install folder of the game being launched.
%UA_LAUNCHER_EXE_PATH%
This evaluates to the combination of %UA_LAUNCHER_EXE_DIR% and LauncherExe.
%UA_LAUNCHER_URL%
This evaluates to the final value of LauncherUrl.
%UA_LAUNCHER_EXTRA_ARGS%
This evaluates to the extra command line parameters given in the advanced options of the game in Xfire client.
%UA_LAUNCHER_NETWORK_ARGS%
This evaluates to the final value of LauncherNetworkArgs
%UA_LAUNCHER_PASSWORD_ARGS%
This evaluates to the final value of LauncherPasswordArgs
%UA_LAUNCHER_RCON_ARGS%
This evaluates to the final value of LauncherRconArgs
%UA_LAUNCHER_USERNAME_ARGS%
This evaluates to the final value of LauncherUsernameArgs
%UA_LAUNCHER_LOGIN_ARGS%
This evaluates to the final value of LauncherLoginArgs