Aus HLSW Wiki
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