HLSW Global ID Database Format

Aus HLSW Wiki

Wechseln zu: Navigation, Suche

Version 1 to 5

This format was written through guesswork by Detritus (mailto:detritus@blueyonder.co.uk). It may or may not be accurate but at the time of writing it did work. :)
The GIDTypes (0 & 3 - marked with an *) where untested but are assumed to be what is below. If you find my assumptions where wrong, feel free to contact me.

Type Name Dependency Comment
HLSW WONID Database File
INT32 Version This documentation is for version 1 to 5 ONLY!
INT16 GIDCount Version == 1 Number of GID entries in this file
INT32 GIDCount Version >= 2
GIDData * GIDCount GIDArray Loop the below structure by GID Count
GIDData Type
INT32 WONID Version < 4 WONID (only in old formats)
INT16 NameCount Number of Names for this WONID
CString * NameCount NameArray NameCount multiplied by CString
CString Comment
INT8 Type 0 - Normal

1 - Friend
2 - Lamer
3 - Auto Added
4 - Blue
5 - Brown

BOOL (BYTE) bBanned Version >= 3 0 = Player not banned

1 = Player banned

INT8 GIDType Version >= 4 0 = Invalid (Ignore it)

1 = IP
2 = WON ID
3 = Steam ID
4 = UT2003
5 = BF1942 (New in Version 5)

GIDType -> GID</td > GID</td > Version >= 4 Depending on the GIDType, the GID will be in one of the below format.
GID Type
INT32 (LongIP) GID</td > GIDType == 1 Use the function inet_ntoa to convert the number into an ip string
INT32 GID</td > GIDType == 2 WONID
INT8:INT8:INT32 GID</td > GIDType = 3 Steam_A:B:C

A = INT8
B = INT8
C = INT32

INT32 GID</td > GIDType = 4 UT2003 Global ID
INT8 * 16 GID</td > GIDType = 5 && Version >= 5 16 Bytes BF1942 Hash


CString:
INT8 = Length of string
String = String * Length

http://66.249.93.104/search?q=cache:06yqi0EdRfwJ:wiki.hlsw.net/wiki/index.php/HLSW_GID_Database_Format+hlsw+gid&hl=de