GameCreate provides a number of data feeds in a custom XML format to enable you to inspect your GameCreate domain. The following feeds are available:
Permanent game servers. The file contains a list of your permanent servers, detailing their host, gametype, and basic settings.
Games. The file contains a list of all games supported by GameCreate.
These feeds can all be used in conjunction with Manual Web Service as a way of programmatically retrieving the Unique IDs required by the various web services.
The "Permanent game servers" file contains all the information necessary to create a server status page to display on your website.
Permanent game servers
This file can be retrieved by making a HTTP request to
http://yourdomain.cc.gamecreate.com/admin/Servers.xml.aspx , using your domain's hostname. For example, Mammoth Media's file would be at
http://mammoth.au.gamecreate.com/admin/Servers.xml.aspx . It is important you use your domain's hostname as this allows GameCreate to locate your domain's servers.
This resource does require any authentication to request. As such, only information that could be publicly retrieved in some other way is displayed. You can remove a game server from this list by setting its "Public Listing" property to "No" using the server's Configuration page.
Here is an example file:
<?xml version="1.0" encoding="utf-8"?>
<serverList>
<domain>
<name>Xtra</name>
</domain>
<programs>
<program id="program-37" systemId="37">
<name>Soldat</name>
<queryCode>SDS</queryCode>
</program>
</programs>
<games>
<game id="game-63" systemId="63" programRef="program-37">
<name>Soldat</name>
</game>
</games>
<hosts>
<host id="host-2137" systemId="2137">
<name>My Host</name>
<address>10.1.1.20</address>
</host>
</hosts>
<servers>
<server id="server-237334" systemId="237334" gameRef="game-63" hostRef="host-2137" running="yes">
<name>My First Soldat Server</name>
<port>20200</port>
<permanent>True</permanent>
<playerCount>0</playerCount>
<playerLimit>12</playerLimit>
<mapName>inf_Fortress</mapName>
</server>
</servers>
</serverList>
The root element is <serverList>. It contains five elements: <domain>, <programs>, <games>, <hosts>, and <servers>.
<domain>
<domain> contains one element: <name> . It contains the name of your domain.
<programs>
The <programs> element contains a list of <program> elements. Each <program> element details one program in use by your domain.
"Programs" are a concept you do not run into when using the GameCreate interface: however they are included here if you wish to group server's by program or otherwise display the information. A program represents the underlying executable program that is used to run the game server. Multiple games can share the same program.
The <program> element has two attributes: id and systemId. The id attribute matches one or more <game> element's programRef attribute (see next section). The systemId attribute specifies the Unique ID used by GameCreate to identify this program. (Note: GameCreate's web services do not require the specification of a program Unique ID. It is included here for completeness).
Each <program> has two subelements: <name> and <queryCode>. <name> specifies the name of the program. <queryCode> is a short string used by GameCreate to determine how to query a game server for status information.
http://www.qstat.org/ uses similar (although not always identical) codes for querying game servers.
<games>
The <games> element contains a list of <game> elements. Each <game> element details one game in use by your domain.
The <game> element has three attributes: id, systemId, and programRef. The id attribute matches one or more <server> element's gameRef attribute (see <server> section). The systemId attribute specifies the Unique ID used by GameCreate to identify this game. It is suitable for use with GameCreate's web services whenever a game Unique ID is required.
The programRef attribute uniquely identifies the program this game is for. It matches exactly one <program>'s id attribute.
Each <game> has one subelement: <name>. <name> specifies the name of the game.
<hosts>
The <hosts> element contains a list of <host> elements. Each <host> element details one host in use by your domain.
The <host> element has two attributes: id and systemId. The id attribute matches one or more <server> element's hostRef attribute (see <server> section). The systemId attribute specifies the Unique ID used by GameCreate to identify this host. It is suitable for use with GameCreate's web services whenever a host Unique ID is required.
Each <host> has two subelements: <name> and <address>. <name> specifies the name of the host, as configured in GameCreate (which defaults to the hostname of the computer as configured in the operating system). <address> is the primary IP address of the host.
<servers>
The <servers> element contains a list of <server> elements. Each <server> element details one server in use by your domain that has its "Public Listing" property set to "Yes".
The <server> element has five attributes: id, systemId, gameRef, hostRef and running. The id attribute is currently unused. The systemId attribute specifies the Unique ID used by GameCreate to identify this game server. It is suitable for use with GameCreate's web services whenever a server Unique ID is required.
The gameRef attribute uniquely identifies the game type of this server. It matches exactly one <game>'s id attribute. The hostRef attribute uniquely identifies the host this server is assigned to. It matches exactly one <host>'s id attribute.
The running attribute specifies if the server is currently configured to be running or not running (corresponding to requesting the server "Start" or "Stop" respectively). It can be one of two values:
"yes": The server is configured to be running
"no": The server is configured to not be running
Note that this does determine if the game server is actually available right now. For example, you will find running="yes" when the server's host computer is switched off or not working correctly.
Each <server> has six subelements: <name>, <port>, <permanent>, <playerCount>, <playerLimit>, <mapName>. <name> specifies the name of the server, as configured in GameCreate. <port> is the host port used on the server's host.
<permanent> specifies if this server is permanent. It can have one of two values:
True: The server is permanent.
False: The server is temporary.
Temporary servers are included in the XML only while they are scheduled to be running - so if a temporary server is in the XML it should be 'live' and usable by players.
<playerCount> specifies the number of players currently using the server. <playerLimit> is the maximum number of players permitted on the game server, as specified in GameCreate. <mapName> is the map currently being played on the server.
Games
This file can be retrieved by making a HTTP request to
http://yourdomain.cc.gamecreate.com/bookings/Games.xml.aspx , using your domain's hostname. For example, Mammoth Media's file would be at
http://mammoth.au.gamecreate.com/bookings/Games.xml.aspx . It is important you use your domain's hostname as this allows GameCreate to locate your domain's servers.
This resource does require any authentication to request. It contains a list of all games supported by GameCreate. As such, it is a handy way to programmatically retrieve game Unique ID's for use with GameCreate's web services.
Here is a (cut down) example file:
<?xml version="1.0" encoding="utf-8"?>
<gameList>
<programs>
<program id="program-16" systemId="16">
<name>America's Army</name>
<queryCode>AAS</queryCode>
</program>
</programs>
<games>
<game id="game-29" programRef="program-16" systemId="29">
<name>America's Army</name>
</game>
</games>
</gameList>
The root element is <gameList>. It contains two elements: <programs> and <games>.
<programs>
The <programs> element contains a list of <program> elements. Each <program> element details one program in use by your domain.
"Programs" are a concept you do not run into when using the GameCreate interface: however they are included here if you have a need for the information. A program represents the underlying executable program that is used to run the game server. Multiple games can share the same program.
The <program> element has two attributes: id and systemId. The id attribute matches one or more <game> element's programRef attribute (see next section). The systemId attribute specifies the Unique ID used by GameCreate to identify this program. (Note: GameCreate's web services do not require the specification of a program Unique ID. It is included here for completeness).
Each <program> has two subelements: <name> and <queryCode>. <name> specifies the name of the program. <queryCode> is a short string used by GameCreate to determine how to query a game server for status information.
http://www.qstat.org/ uses similar (although not always identical) codes for querying game servers.
<games>
The <games> element contains a list of <game> elements. Each <game> element details one game in use by your domain.
The <game> element has three attributes: id, systemId, and programRef. The id attribute is currently unused. The systemId attribute specifies the Unique ID used by GameCreate to identify this game. It is suitable for use with GameCreate's web services whenever a game Unique ID is required.
The programRef attribute uniquely identifies the program this game is for. It matches exactly one <program>'s id attribute.
Each <game> has one subelement: <name>. <name> specifies the name of the game.
