Open Game Protocol Specification v0.01

Type Name Dependency Comment
Query
UINT32 Value: 0xFFFFFFFF
SzString ID Value: "OGP"
UINT8 Type Bit 0-6:
0 - Default query v1
1 - Rcon
Bit 7:
0 - Request packet 1 - Answer packet
VarBitArray Requests Bit 0.0: bRequestID
Bit 0.1: bChallengeNumber
Bit 0.2: bSplit (must be 0)
Bit 0.3: bCompression

Bit 1.0: bPlayerList
Bit 1.1: bStaticInfo
Bit 1.2: bVolatileInfo
Bit 1.3: bRules
Bit 1.4: bLimits
Bit 1.5: bRules
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.
INT8 CompressionType bCompression 0 - Get a list of all supported compression formats
>0 - Compression format
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
String Header1 bHeader1 (Query) Wenn im Query das bHeader1 Flag gesetzt wurde, werden bei der Anwort die Daten von Header1 ganz an den Anfang dazugefügt.
UINT32 Value: 0xFFFFFFFF
SzString ID Value: "LogMod: StatusResponse"
UINT8 Protocol LogMod 0.4c+ Protokoll Version. Muss 1 sein.
UINT32 Bit 0: bHeader1 (=0)
Bit 1: bHeader2
Bit 2: bPlayerList
Bit 3: bHostname
Bit 4: bRunTime
Bit 5: bMaxPlayers
Bit 6: bGameDir
Bit 7: bMap
Gibt an welche Daten zurückgeliefert werden. Die Bits können sich von den Query-Bits unterscheiden, wenn die LogMod Version z.B. einen bestimmten Datentype noch nicht unterstüzt.
NString Header2 bHeader2 Zusätzliche Informationen um z.B. eine Query ID oder so mitzuschicken.
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