Open Game Protocol Specification v0.02

Type Name Dependency Comment
OGP Header (Query)
UINT32 Value: 0xFFFFFFFF
SzString ID Value: "OGP"
VarBitArray HeadFlags Bit 0.0: bAnswer = 0
Bit 0.1: bRequestID
Bit 0.2: bChallengeNumber
Bit 0.3: bSplit
INT32 RequestID bRequestID User definied ID to associate an answer packet with a query.
INT32 ChallengeNumber bChallengeNumber The challenge number to query the server. If the number is wrong or you don't specify one, you'll get one per answer packet. Send a challenge number of 0xFFFFFFFF to request a new.
INT16 MaxBytesPerPacket bSplit Maximum number of bytes a UDP packet may contain. Valid range: 500 - 1500.
UINT8 Type 0 - Banned
1 - None
2 - Default query v1
3 - Rcon
OGP Header (Answer)
UINT32 Value: 0xFFFFFFFF
SzString ID Value: "OGP"
VarBitArray HeadFlags Bit 0.0: bAnswer = 1
Bit 0.1: bRequestID
Bit 0.2: bChallengeNumber
Bit 0.3: bSplit
INT32 RequestID bRequestID User definied ID to associate an answer packet with a query.
INT32 ChallengeNumber bChallengeNumber Your challenge number to query the server.
INT8 SplitPacketCount bSplit
INT8 SplitPacketNo bSplit
UINT8 Type 0 - Banned
1 - None
2 - Default query v1
3 - Rcon
Default Query v1 (Query)
VarBitArray Requests Bit 0.0: bNoStaticData
Bit 0.1: bInfo
Bit 0.2: bTeamList
Bit 0.3: bPlayerList
Bit 0.4: bLimits
Bit 0.5: bMods
Bit 0.6: bRules

VarBitArray PlayerFields bPlayerList Wenn eine Player Liste zurückgegeben werden soll, gibt dieses Feld an, welche Informationen die Playerliste haben wird

Bit 0.0: bSlot
Bit 0.1: bName
Bit 0.2: bFrags
Bit 0.3: bID
Bit 0.4: bWONID
Bit 0.5: bPing
Bit 0.6: bLoss

Bit 1.0: bTeam
Bit 1.1: bModel
Bit 1.2: bRate
Bit 1.3: bDead
Answer
PLAYERLIST PlayerList bPlayerList Gesamte Playerliste. Siehe PLAYERLIST-Type.
SzString Hostname bHostname Servername
UINT32 RunTime bRunTime Laufzeit des Servers in Sekunden
UINT8 MaxPlayers bMaxPlayers Maximale Spieleranzahl
SzString ModDir bModDir Mod Verzeichnis
SzString Map bMap Map File
PLAYERLIST
UINT16 Bit 0: bSlot
Bit 1: bName
Bit 2: bFrags
Bit 3: bID
Bit 4: bWONID
Bit 5: bPing
Bit 6: bLoss
Bit 7: bTeam
Bit 8: bModel
Bit 9: bRate
Bit 10: bDead
Welche Informationen in der Playerliste enthalten sind.
UINT8 PlayerCount Anzahl der Spieler in der Liste.
PLAYERLISTENTRY-Array List PlayerCount-Mal wird der PLAYERLISTENTRY-Type wiederholt.
PLAYERLISTENTRY
UINT8 Slot bSlot Welchen Serverslot der Player benutzt.
SzString Name bName Spielername
SINT16 Frags bFrags
UINT32 ID bID Eindeutige Serverweite ID
UINT32 WONID bWONID
UINT16 Ping bPing
UINT16 Loss bLoss
UINT8 Team bTeam 0xFF: Spectator
CS: 0 - Unkown, 1 - CT, 2 - T
SzString Model bModel
UINT16 Rate bRate
UINT8 Dead bDead 0: Alive
1: Dead
0xFF: Spectator

String: Zeichenkette unbekannter Länge
SzString: Null-Terminierte Zeichenkette
NString: Ein Byte vor der Zeichenkette gibt dessen Länge an