Kquery 4.0: Game Setup
Kquery 4 FAQ - Configuring Games
  • Here is a list of all major supported Kquery games as of 2nd April 04

         Query Server     Browse Master     Join Server  
    Americas Army
    BattleField 1942
    BattleField Vietnam
    Call of Duty
    Counter Strike Retail
    Counter Strike Condition Zero
    Day of Defeat Retail
    Half-Life
    (including all mods)
    Halo
    Jedi Knight 2
    Jedi Academy
    Quake 2
    Quake 3
    MOHAA
    MOHAA Breakthrough
    MOHAA Spearhead
    Return to Castle Wolfenstein
    RTCW : Enemy Territory
    Savage
    Soldier of Fortune II
    Steam Powered Games
    StarTrekVoyager : Elite Force
    StarTrekVoyager : Elite Force II
    Unreal Tournament
    Unreal Tournament 2003
    Unreal Tournament 2004
    Unreal 2 XMP

    Q. I want to play a game that isn't listed here
    Click to submit a new game request, or read further below to try to set it up manually.
    Q. I run a Gaming Service Provider and I would like to be listed in the masters
    Click to post a master list addition
    Q. Why do you not have master support for some games?
    Many games use the Gamespy(tm) Networking Middleware and thus have Gamespy-only masters. Third party programs such as kquery are not allowed access to critical information that is required so that you can browse for game servers.
    Q. ASE/Gamespy/Other supports game [X], why don't you?
    Kquery is a freeware product with no spyware or adware. The website is paid for out of my own pocket. To support the wide variety of games that have 'locked' masters, I would need a dedicated colo server that would use up around 20GB of bandwidth / month. And you can't get those for free :)
    Q. Can I code my game to have kquery support?
    Yes, easily! As long as you have a public master server (such as all ID software and Valve games) and you accept a simple command line parameter that tells your game to connect to an IP:Port, Kquery can support your game.

    Game support is configured from a simple text file called 'gamelist.txt' in your kquery directory. This means that future updates should be simply a case of updating the gamelist.txt file manually or using the auto-update feature.

  • How to edit the gamelist.txt to support different games

    Warning: Editing your gamelist.txt file is not recommended for novice computer users


    Each entry in the gamelist file is delimited by ASCII(255) characters (˙). The format for each line is :

    Gamename | Query system | Game ID | iconindex | big icon index | registry file | registry params | game version | common ports | default port | commandline

    • The 'query system' determines what protocol should be used to query the gameserver (currently supports the UT,HL,and Q3 query mechanisms). These query mechanisms cover virutally all game types apart from the tribes series of games. UT is the most common (and most broken!) format. UT2k3's new server query mechanisms have not yet been implemented as we are running fine with the old protocol.

    • The 'Game ID' should be a unique field that's reported by a server query, such as a half-life modtype (cstrike, dod, etc), part of the quake3 version string (ST:V , Elite Force II, MOHAA), or the UT gameid/gamename (BFIELD1942). Kquery uses this information when it tries to join a game by searching through the gamelist looking for matches (Note, the higher up the game is in the list the higher 'priority' it is given)

    • The Icon Indexes are used internally to display the game icons. Since these can not be updated externally, they will be ignored for the purposes of this document.

    • The Registry File / Params specifies the registry keys that will be used to hold this game's path to EXE and executable parameters. These are stored in HKEY_CURRENT_USER\software\coldstorage\kquery4

    • Game Version specifies the network protocol version that the game uses, this is sometimes used to distinguish between very similar games, although it's not really relavent right now.

    • Common Ports list all the port numbers that you want kquery to automatically recognise as a particular gametype. If you try to query a game server who's port isn't in this list, kquery will try to send multiple-gametype queries to the destination. Needless to say, this can be expensive on bandwidth/latency. Please notice the leading and traling comma characters

    • Default Port indicates the port that servers are normally run on.

    • CommandLine indicates the commandline that should be used for this game.

    Tip: Comments (delimited with //) must start at the beginning of the line.

    You could simply edit the gamelist.txt file to get rid of games you'll never want to play (this could save on the query bandwidth if you got rid of a whole 'gametype'), to lock down the user to specific games, or to add some more commonly used ports for a game.
    In the example below, we have overridden the gamelist so that we can have our own 'game' for the half-life modtype 'ns' (natural selection). Obviously this doesn't make much sense since half-life launches NS anyway, but it's here to demonstrate what we can do.

    Natural Selection ˙HL ˙ns ˙102 ˙14 ˙game_ns ˙game_ns_params ˙37 ˙,27015,27016,27017,27018,27019,27020,27025,27035,27005, ˙27015˙+connect %IP%:%PORT%


Support :
Please see the Kquery Technical Support Forums.