Game Tracker

The Game Tracker is a central, master server that holds a list of all current multiplayer servers.

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.

Game servers stay on the tracker by periodically sending a "PING" to the tracker (which replies with 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.

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 256 seconds without pings.

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.

Backup trackers
Multiple backup trackers have been made. The most commonly-known ones are as follows:
 * RFGT - Currently hosted by RedFactionNet.com - Author unknown
 * (No name) - Unknown if ever hosted - Written by +Wub+
 * (No name) - Unknown if ever hosted - Written by SnipedDragon
 * PanjaTracker - Hosted by PanjaLand - Written by ctrl_freq
 * DigiRFGT - Currently hosted by [TwT] - Written by digital_ruler

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 RFGT (located at redfactionnet.com) is generally reliable. The tracker is usually up at all times, although there have been periods when both the official THQ and backup RFN trackers were down. The RFN main site offers a display of server statuses. The display automatically loads the serverlist from THQ, but the rate at which the information is refreshed is very slow. Up to three days can pass until the information is refreshed.

PanjaTracker, although technically not a game tracker, boasts good reliability. However, being that PanjaTracker is simply an application that downloads a favlist.adr file each time the game is started, the usefulness of PanjaTracker has been disputed. The PanjaLand main site offers a display of server statuses, but entry into the list is manual.

DigiRFGT (hosted by [TwT]) is very reliable. This tracker runs 24/7, and is the only tracker to constantly obtain a list of servers from the official THQ tracker so that the backup is not blank if/when THQ goes down. This tracker is hosted on the same server as the [TwT] website, and is down about one day every three months. The main [TwT] site offers, along with a diagnostics report of the backup tracker, a list of servers from both the official THQ and [TwT] backup trackers. The server list is refreshed once per minute.