mirror of
https://github.com/gamedig/node-gamedig.git
synced 2024-11-18 17:50:37 +01:00
229 lines
6.6 KiB
Text
229 lines
6.6 KiB
Text
|
/*********
|
||
|
QStat - Real-time game server stats
|
||
|
http://sourceforge.net/p/qstat/
|
||
|
License: The Artistic License 2.0
|
||
|
*********/
|
||
|
|
||
|
Ghost Recon - QStat notes
|
||
|
-------------------------
|
||
|
|
||
|
The following Server Stats are pulled from the Ghost Recon Server - NOTE
|
||
|
many other stats continue to work as normal due to the base qstat program.
|
||
|
|
||
|
$SERVERNAME
|
||
|
|
||
|
The name of the GR Server.
|
||
|
|
||
|
$PLAYERS
|
||
|
|
||
|
The number of Players that are playing, oberving or in the Lobby
|
||
|
(note the ignoreserverplayer Argument above)
|
||
|
|
||
|
$MAXPLAYERS
|
||
|
|
||
|
The maximum players that the server will allow playing, oberving
|
||
|
or in the Lobby (note the ignoreserverplayer Argument above)
|
||
|
|
||
|
$MAP
|
||
|
|
||
|
The Name of the MAP that is being used (NOTE not the Mission)
|
||
|
|
||
|
$GAME
|
||
|
|
||
|
The Mods that the server is running. Ex: mp1; is the Desert
|
||
|
Seige Mod
|
||
|
|
||
|
$(RULE:error)
|
||
|
|
||
|
If an error occured there may be some detail here. IF the problm
|
||
|
occurred very early in the interpretation then $SERVERNAME will
|
||
|
hold the details.
|
||
|
|
||
|
$(RULE:mission)
|
||
|
|
||
|
The name of the Mission that the server is running.
|
||
|
|
||
|
$(RULE:gamemode)
|
||
|
|
||
|
What is the Game Mode that the server is in. Known values are
|
||
|
COOP, TEAM and SOLO
|
||
|
|
||
|
$(RULE:missiontype)
|
||
|
|
||
|
What is the Mission Type. Known Values are: Mission, Firefight,
|
||
|
Recon, Hamburger Hill, Last Man Standing, Sharpshooter, Search
|
||
|
And Rescue, Domination, and Seige.
|
||
|
|
||
|
$(RULE:dedicated)
|
||
|
|
||
|
Is this server Dedicated; Yes or No.
|
||
|
|
||
|
$(RULE:status)
|
||
|
|
||
|
What is the Playing Status of the Server, values are Playing,
|
||
|
Joining or Debrief.
|
||
|
|
||
|
$(RULE:gametime)
|
||
|
|
||
|
What is the Time limit for the Game. Values are 00:00, 05:00,
|
||
|
10:00, 15:00 20:00, 25:00, 30:00, 45:00 and 60:00. The 00:00
|
||
|
is for an unlimited game. The format of this uses the -ts,
|
||
|
-tc and -tsw command line options.
|
||
|
|
||
|
$(RULE:timeplayed)
|
||
|
|
||
|
How long has this game been playing. The format of this uses
|
||
|
the -ts, -tc and -tsw command line options.
|
||
|
|
||
|
$(RULE:remainingtime)
|
||
|
|
||
|
How much time is left in this game. The format of this uses
|
||
|
the -ts, -tc and -tsw command line options.
|
||
|
|
||
|
$(RULE:version)
|
||
|
|
||
|
What is the Version number reported by the server. Patch 1.2 =
|
||
|
10.1010A, Patch 1.3 = 11.101A
|
||
|
|
||
|
$(RULE:spawntype)
|
||
|
|
||
|
What type of spawn is in use. Known Values are None, Infinite,
|
||
|
Individual and Team.
|
||
|
|
||
|
$(RULE:spawncount)
|
||
|
|
||
|
How many spawns are allowed. Enhancment possibility to add
|
||
|
$(IF:SPAWN) to filter out when spawntype is none.
|
||
|
|
||
|
$(RULE:restrict)
|
||
|
|
||
|
What Weapon restrictions are in force for the server.
|
||
|
|
||
|
$(RULE:password)
|
||
|
|
||
|
Does the Server have a join password defined Yes or No.
|
||
|
|
||
|
$(RULE:ti)
|
||
|
|
||
|
Is the server using the Threat Indicator.
|
||
|
|
||
|
$(RULE:motd)
|
||
|
|
||
|
What is the Message Of The Day - Note these can be quite big.
|
||
|
|
||
|
$(RULE:patch)
|
||
|
|
||
|
What is the patch level of the GR Server.
|
||
|
|
||
|
$(RULE:usestarttime)
|
||
|
|
||
|
Is the server configured to start a game after "starttimeset"
|
||
|
(Yes) OR does everyone need to click on ready (no).
|
||
|
|
||
|
$(RULE:starttimeset)
|
||
|
|
||
|
What time is configured to automatically start the next round.
|
||
|
|
||
|
$(RULE:debrieftime)
|
||
|
|
||
|
How long does the server wait at the Debrief screen after
|
||
|
a mission.
|
||
|
|
||
|
$(RULE:respawnmin)
|
||
|
|
||
|
How long must a dead player wait before he can repawn.
|
||
|
|
||
|
$(RULE:respawnmax)
|
||
|
|
||
|
What is the longest time that a user has to respawn.
|
||
|
|
||
|
$(RULE:respawnsafe)
|
||
|
|
||
|
How long after respawn is a player invulnerable/cannot damage
|
||
|
others.
|
||
|
|
||
|
$(RULE:allowobservers)
|
||
|
|
||
|
Does the server allow observers? Yes or No
|
||
|
|
||
|
$(RULE:startwait)
|
||
|
|
||
|
How long untill the automatic start timer forces the next game
|
||
|
to start.
|
||
|
|
||
|
$(RULE:iff)
|
||
|
|
||
|
What Identification - Friend or Foe is configured. None,
|
||
|
Reticule or Names
|
||
|
|
||
|
$PLAYERNAME
|
||
|
|
||
|
What is the Players Name.
|
||
|
|
||
|
$TEAMNUM
|
||
|
|
||
|
What Team Number is the Player On. Known Values are 1,2,3,4,5.
|
||
|
1 is Team BLUE, 2 is Team Read, 3 is Team Yellow, 4 is
|
||
|
Team Green, 5 is Unassigned (observer or in lobby)
|
||
|
|
||
|
$TEAMNAME
|
||
|
|
||
|
What is the Name of the Team, see above.
|
||
|
|
||
|
$DEATHS
|
||
|
|
||
|
What is the health of this player. 0 Alive, 1 Dead. Note if the
|
||
|
player has spawns remaining this can change from 1 back to 0.
|
||
|
Enhancement possibility to add $HEALTH or $(RULE:health).
|
||
|
Hopefully RSE/UBI will add the Deaths, Frags, and Ping to the
|
||
|
availible information. If this happens then it would be better
|
||
|
to have a $HEALTH
|
||
|
|
||
|
$(IF:DEATHS) and $(IFNOT:DEATHS)
|
||
|
|
||
|
A Test to see if the player is dead. Usefull in this constuct:
|
||
|
$(IF:DEATHS)Dead$(ENDIF)$(IFNOT:DEATHS)Alive$(ENDIF)
|
||
|
|
||
|
Ghost Recon communicates on two UDP ports and one TCP stream. Normally TCP
|
||
|
is on port 2346 and carries the game dialog. This is the port number
|
||
|
that is mentioned in the game so we use it and apply an offset to get the
|
||
|
port number for status queries. Port 2347 gives some high level server stats
|
||
|
and 2348 gives fairly low level server stats. QStat is designed around
|
||
|
a single port per server so the 2348 port is used. One down side to this
|
||
|
is the lack of many meaningful detail player stats (Deaths, frags, hit
|
||
|
percentage, ping etc.). I imagines that some of these are availible in
|
||
|
the TCP stream but that would be difficult to add to a program like QStat.
|
||
|
|
||
|
The Ghost Recon packets are variable structures with a lot of string
|
||
|
lengths. This requires fairly defensive programming as Red Storm
|
||
|
Entertainment is not forthcoming with any details.
|
||
|
|
||
|
This release adds support for the GhostRecon game. Number one note
|
||
|
is that Red Storm and UBI do not provide the information that many
|
||
|
Quake based users expect. Specifically they do not make Frags, Deaths
|
||
|
Connect Time or Pings availible - at least not as far as I can tell.
|
||
|
That said there are quite a few things that are availible and allow a
|
||
|
server administrator to make the status of his or her server available
|
||
|
to the public via the web.
|
||
|
|
||
|
This change uses all undocumented interfaces to the Ghost Recon server
|
||
|
so will most likely break when you install a patch. It has been tested
|
||
|
against the Desert Seige update and several public servers. It should
|
||
|
work against the 1.2, 1.3, and 1.4 patches and Island Thunder add-on to
|
||
|
Ghost Recon.
|
||
|
|
||
|
The Ghost Recon game type is GRS. For command-line queries, use -grs
|
||
|
|
||
|
There is one query argument to this server, ignoreserverplayer.
|
||
|
This option controls whether the first player is ignored. Ghost Recon
|
||
|
requires that the dedicated server program take up one of the player slots
|
||
|
(always the first slot). The ignoreserverplayer option defaults to 'yes',
|
||
|
so the "server player" will normally not be seen. If you are running
|
||
|
a non-dedicated server, then set ignoreserverplayer to 'no' like this:
|
||
|
|
||
|
-grs,ignoreserverplayer=no
|
||
|
|
||
|
Otherwise you would not be able to display your own stats.
|
||
|
|
||
|
|
||
|
Ghost Recon support provided by Bob Marriott.
|