Game Tracker: Difference between revisions

From Red Faction Wiki
No edit summary
(updated)
 
(16 intermediate revisions by 6 users not shown)
Line 1: Line 1:
The Game Tracker is a central, master server that holds a list of all current multiplayer servers.
The Game Tracker is a central, master server that holds a list of all current multiplayer servers. The tracker works on the UDP protocol and uses port 18444.


==Method of operation==
==Method of operation==
Upon starting a server, the server itself contacts the game tracker and sends a short packet.  The game tracker detects what IP and port this packet is coming from, marks it as a server, and adds it to the list of currently running servers.  When someone at the multiplayer Join Game screen queries the tracker, they also send a short packet requesting a list of servers.  The tracker responds with a packet, or in some cases, multiple packets, containing a list of server IPs and ports. There is one byte for each octet of the IP, and two for the port, resulting in a total of 6 bytes per server.  There is minimal overhead per reply (under 20 bytes).  This is followed by a disconnect "handshake" by the server, and the connection is closed.
Upon starting a server, the server itself contacts the game tracker and sends a short packet.  The game tracker detects what IP and port this packet is coming from, marks it as a server, and adds it to the list of currently running servers.  When someone at the multiplayer Join Game screen queries the tracker, their game sends a short packet requesting a list of servers.  The tracker responds with a packet, or in some cases, a series of packets, containing a list of server IPs and ports. The client acknowledges that it has received each packet.


Game servers stay on the tracker by periodically sending a "PING" to the tracker (which replies with a resounding PONG).  Due to the fact that the tracker will wait for 256 seconds to pass until it removes a "dead" server (one that hasn't PINGed), the client must send these packets every one to three minutes.
Game servers stay on the tracker by periodically sending an announce.  Due to the fact that the tracker will wait for a short time to pass until it removes a "dead" server (one that hasn't announced recently), the client must send these packets every few minutes.


Servers are removed from the tracker by either of two ways: Closing the server or not sending a PING.  Closing the server will send a server removal request packet to the tracker.  Just like when a server contacts the tracker to be added to the list, the tracker reads the source IP and port of this packet and removes that server from its list.  The second way, not sending a PING, commonly occurs when a server crashes.  Since the server is no longer running, it doesn't send any PINGs to the tracker, which will remove that server after a period of several minutes without pings.
Servers are removed from the tracker by either of two ways: Closing the server or not announcing for a period of time.  Closing the server will send a server removal request packet to the tracker.  Just like when a server contacts the tracker to be added to the list, the tracker reads the source IP and port of this packet and removes that server from its list.  The second way, not announcing, commonly occurs when a server doesn't cleanly close (crash, etc).  Since the server is no longer running, it doesn't send any more announces to the tracker, which will remove that server after a short period of time.


The game tracker does not initiate any connections to clients/servers at any time.  All connections are initiated by clients/servers.
The game tracker does not initiate any connections to clients/servers at any time.  All connections are initiated by clients/servers.
Line 14: Line 14:


==Tracker lag?==
==Tracker lag?==
It is ''' not possible''' for the game tracker to make gameplay laggy.
It is '''not possible''' for the game tracker to make gameplay laggy.


==Backup trackers==
==Backup trackers==
Multiple backup trackers have been made.  The most commonly-known ones are as follows:
*[[Faction Files]] Backup Game Tracker - [http://rfgt.factionfiles.com [Click for info and instructions]] (Note: This tracker is the same as rfgt.nebulamods.com)
*[[NebulaRFGT]] - Currently hosted by [[NebulaMods|NebulaMods.com]] - [http://rfgt.nebulamods.com [Click for info]]
*Run Masters Backup Game Tracker - [http://rm.servehttp.com/news.php?readmore=20#comments [Click for info and instructions]] (Note: This tracker is now synchronized with Faction Files.)
*(Name unknown) - Currently hosted by RedFactionNet.com - Written by Matmas - OFFLINE as of early 2009
'''Note: '''The NebulaMods, Faction Files, and Run Masters game trackers are synced with each other. The servers and players are the same on all three trackers.
*(No name) - Unknown if ever hosted - Written by +Wub+ - OFFLINE
*(No name) - Hosted temporarily - Written by SnipedDragon - OFFLINE
*PanjaTracker - Hosted by PanjaLand - Written by ctrl_freq (Not a true game tracker) - OFFLINE as of early 2009
 
==Reliability==
The game tracker hosted by THQ has had minimal downtime. This is most likely for the best, as the community has expressed strong outrage even when the tracker is only down for extremely short periods of time. The longest tracker outage was when the tracker's box was moved to a different location and the DNS had to propagate throughout the world. The THQ game tracker is currently down. It is unknown when or if it will be back. Please see [[Game_Tracker#Backup_trackers|Backup trackers]] for a list of alternatives.
 
[[NebulaRFGT]] (hosted by [[Developers#NebulaMods|NebulaMods]]) has been updated recently and now boasts 99.9% uptime, and is hosted on an 8-core Xeon server box.  NebulaRFGT is now a native Linux binary, thanks to new code by [[Developers#rafalh|rafalh]]. NebulaRFGT is still the only tracker to constantly keep an updated list of official servers (in case the THQ tracker goes down).  The old version of NebulaRFGT was hosted under the [TwT] DigiRFGT moniker and was coded by digital_ruler in VB6 and C#.
 
The RFGT located at redfactionnet.com is now rather unreliable.  The RedFactionNet tracker is offline as of 19. Mar 2009.
 
[[PanjaTracker]], although technically not a game tracker, boasts good reliability.  PanjaTracker obtains its serverlist from the PanjaLand website, but entry into the serverlist is manual.  However, being that PanjaTracker is simply an application that downloads a favlist.adr file each time the game is started, the usefulness of PanjaTracker is rather questionable. The PanjaLand main site offers a display of server status.  The PanjaLand "tracker" and website are down as of 28. April 2009.
 
==Related Pages==
*[[Red Faction]]
*[[Rate presets]]
*[[Command-line parameters]]
*[[Console commands]]
*[[dedicated_server.txt]]
*[[Pure Faction]]


==External links==
==External links==
* [http://rfgt.nebulamods.com NebulaMods.com BACKUP Red Faction Game Tracker]
* [http://rfgt.factionfiles.com Faction Files BACKUP Red Faction Game Tracker]
* [http://www.nebulamods.com/?section=rf&page=rfsl NebulaMods.com RF Server Browser]
* [http://www.panjaland.com PanjaLand PanjaTracker favlist.adr loader]
[[Category:Red Faction]]
[[Category:Red Faction]]

Latest revision as of 04:25, 25 April 2010

The Game Tracker is a central, master server that holds a list of all current multiplayer servers. The tracker works on the UDP protocol and uses port 18444.

Method of operation

Upon starting a server, the server itself contacts the game tracker and sends a short packet. The game tracker detects what IP and port this packet is coming from, marks it as a server, and adds it to the list of currently running servers. When someone at the multiplayer Join Game screen queries the tracker, their game sends a short packet requesting a list of servers. The tracker responds with a packet, or in some cases, a series of packets, containing a list of server IPs and ports. The client acknowledges that it has received each packet.

Game servers stay on the tracker by periodically sending an announce. Due to the fact that the tracker will wait for a short time to pass until it removes a "dead" server (one that hasn't announced recently), the client must send these packets every few minutes.

Servers are removed from the tracker by either of two ways: Closing the server or not announcing for a period of time. Closing the server will send a server removal request packet to the tracker. Just like when a server contacts the tracker to be added to the list, the tracker reads the source IP and port of this packet and removes that server from its list. The second way, not announcing, commonly occurs when a server doesn't cleanly close (crash, etc). Since the server is no longer running, it doesn't send any more announces to the tracker, which will remove that server after a short period of time.

The game tracker does not initiate any connections to clients/servers at any time. All connections are initiated by clients/servers.

What the tracker knows

The Red Faction game tracker protocol is very simple. The tracker software itself only knows the IP and port of each server. Server name, map name, and so on are retrieved from each server individually by the game client.

Tracker lag?

It is not possible for the game tracker to make gameplay laggy.

Backup trackers

Note: The NebulaMods, Faction Files, and Run Masters game trackers are synced with each other. The servers and players are the same on all three trackers.

External links