BNETDocs
PvPGN Tracking Protocol

This document covers how to successfully use the PvPGN tracker system with a custom unofficial Battle.net v1 server.

PvPGN is a custom C++ Battle.net v1 server that's widely used. Its tracker system is pretty trivial. The tracking system uses UDP on port 6114. To advertise a server on the tracking website, all an individual needs to do is send a UDP datagram packet to port 6114 at any of the tracking hosts.

PvPGN officially suggests submitting to the following trackers:

  • tracker.pvpgn.org
  • track.muleslow.net

The structure of the datagram packet to send is as follows:

 (UINT16)      Packet Version
 (UINT16)      Server Port
(UINT32)      Flags
 (UINT8) [32] Software
 (UINT8) [16] Version
 (UINT8) [32] Platform
 (UINT8) [64] Server Description
 (UINT8) [64] Server Location
 (UINT8) [96] Server URL
 (UINT8) [64] Contact Name
 (UINT8) [64] Contact Email
(UINT32)      Active Users
(UINT32)      Active Channels
(UINT32)      Active Games
(UINT32)      Uptime
(UINT32)      Total Games
(UINT32)      Total Logins
  • All numeric values should be in network byte order (big endian).
  • All fields marked UINT8 are strings padded with nulls on the end. They are not null-terminated strings but could be read as such. This rule means that the total packet length is 464 bytes regardless of its content.

Packet Version:

  • This document covers version 0x0002. No other versions have been seen.

Server Port:

  • The port that your Battle.net server is listening on (should be 6112).

Flags:

  • Currently the flags field is ignored, however officially these flags are recognized:
    0x00000001: TF_SHUTDOWN
    0x00000002: TF_PRIVATE
    • TF_SHUTDOWN should be sent when the server is shutting down.
    • TF_PRIVATE should be sent if the server is private and should not be listed.

Software:

  • The name of your server software, such as PvPGN.

Version:

  • The version of your server, such as 1.8.5.

Platform:

  • The platform that your server is running from, such as Windows or Linux.

Server Description:

  • A short description of your server.
  • In addition, you can suffix what products/games your server supports using this field. To do so, add a space and use any combination of the following:

    General Flags Tag
    All Blizzard Games ALL
    Open Battle.net (D2DV/D2XP) OPE
    Closed Battle.net (D2DV) CLO
    Full Ladder LDR
    Games Tag
    Warcraft II BNE WC2, W2
    Warcraft III Reign of Chaos WC3, W3
    Warcraft III The Frozen Throne WCX
    Diablo D1
    Diablo Shareware DHR
    Diablo II D2
    Diablo II Lord of Destruction LOD
    Starcraft SC
    Starcraft Broodwar SBW
    Starcraft Shareware SSHR, SHR
    Starcraft Spawn SPW

    As an example, a description with the above tags could look like the following: Warcraft only!! W2W3WCX

Server Location:

  • The location of your server geographically, such as Texas, United States.
  • You can also prefix your country flag to this value. To do this, prefix a colon followed by the 2-letter country code and a space. For example, :US Texas, United States would show the U.S. country flag along with the location string.

Server URL:

  • The website you wish to advertise with your server.
  • At time of documentation, prefixing https:// to this will cause the tracker to print http://https:// for this field. It is not known whether this is a bug or intended.

Contact Name:

  • The username of the individual running the server.

Contact Email:

  • The email address for the individual running the server.

Active Users:

  • The number of users currently logged in.

Active Channels:

  • The number of channels with an active user count (non-empty channels).

Active Games:

  • The number of games currently in progress or being advertised.

Uptime:

  • Your server's uptime in seconds. A value of 300 is equivalent to 5 minutes of uptime.

Total Games:

  • The total number of games that your server has advertised to users since it's been up.

Total Logins:

  • The total number of logins that your server has processed since it's been up.
Comments

no one has commented yet.