-
Notifications
You must be signed in to change notification settings - Fork 1
The Server List
Giga edited this page May 14, 2022
·
2 revisions
When the client sends 1600D5000200280202000000E90000002B0000002D000000
, the login server will respond with a list of all available game servers. This is transmitted as a Block Array with the enumerator 00E9
. The structure of this block array is as follows:
Enumerator: 00E9
- Followed by 2 bytes. (Possibly the length of the array?)
- Then repeating blocks:
- 2 Bytes -> Always either
0020
or0026
-
0385
-> 4 Bytes -
06EE
-> 4 Bytes -
02C7
-> 4 Bytes (Server ID) -
0008
-> 8 Bytes -
02FF
-> 4 Bytes -
02ED
-> 4 Bytes -
02D8
-> 4 Bytes -
02EC
-> 4 Bytes -
02D7
-> 4 Bytes -
02AF
-> Sized -
0013
-> Sized -
00AA
-> Sized -
01A6
-> Sized -
06F1
-> 4 Bytes -
0703
-> 1 Byte -
0343
-> 4 Bytes (Number of Players) -
0344
-> 4 Bytes -
0259
-> 4 Bytes -
03FD
-> 4 Bytes -
02B3
-> 4 Bytes -
0448
-> 4 Bytes (Region ID) -
02D6
-> 4 Bytes -
06F5
-> 4 Bytes -
0299
-> 4 Bytes -
0298
-> 4 Bytes -
06BF
-> 4 Bytes -
069C
-> 1 Byte (Password Required) -
069B
-> 1 Byte (Always 00 or 01) -
0300
-> Sized (Server Name) -
01A4
-> Sized (MOTD) -
02B2
-> 4 Bytes (Map ID) - Also included if the server has a game in progress:
-
02B5
-> 4 Bytes -
0347
-> 4 Bytes -
02F4
-> 4 Bytes (Remaining Time in Seconds) -
0035
-> 4 Bytes (Blood Eagle Score) -
0197
-> 4 Bytes (Diamond Sword Score)
-
-
0246
-> 8 Bytes (Server Address)
- 2 Bytes -> Always either
-
069F
-> 4 Bytes -
0347
-> 4 Bytes
When an individual server is selected the client sends another command, 1800C6010200C702--------280202000000330000002D000000
to request some additional information about that server. A breakdown of this command follows:
Enumerator | Description | Type | Length |
---|---|---|---|
-- | 1800 |
Bytes | 2 |
01C6 | 0200 |
EnumBlockArray | 2 |
02C7 | Server ID | Bytes | 4 |
0228 | 02000000 |
Bytes | 4 |
-- | 330000002D000000 |
Bytes | 8 |
The server's response is transmitted as a Block Array with the enumerator ``. The structure of this block array is as follows:
Enumerator: 036E
-
01C6
-> EnumBlockArray- 2 Bytes
-
02C7
-> 4 Bytes (Server ID) -
0228
-> 4 Bytes -
00E9
-> ArrayOfEnumBlockArrays (Server List) - 4 Bytes
-
0385
-> 4 Bytes -
06EE
-> 4 Bytes -
02C7
-> 4 Bytes (Server ID (again)) -
0008
-> 8 Bytes -
02FF
-> 4 Bytes -
02ED
-> 4 Bytes -
02D8
-> 4 Bytes -
02EC
-> 4 Bytes -
02D7
-> 4 Bytes -
02AF
-> Sized -
0013
-> Sized -
00AA
-> Sized -
01A6
-> Sized -
06F1
-> 4 Bytes -
0703
-> 1 Byte -
0343
-> 4 Bytes (Number of Players) -
0344
-> 4 Bytes -
0259
-> 4 Bytes -
03FD
-> 4 Bytes -
02B3
-> 4 Bytes -
0448
-> 4 Bytes (Region ID) -
02D6
-> 4 Bytes -
06F5
-> 4 Bytes -
0299
-> 4 Bytes -
0298
-> 4 Bytes -
06BF
-> 4 Bytes -
069C
-> Boolean (Password Required) -
069B
-> 1 Byte -
0300
-> Sized (Map + Gamemode, Server or Region Name) -
01A4
-> Sized (MOTD) -
02B2
-> 4 Bytes (Map ID) -
02b5
-> 4 Bytes -
0347
-> 4 Bytes -
02F4
-> Integer (Remaining Time in Seconds) -
0035
-> EnumBlockArray - 4 Bytes
-
0197
- EnumBlockArray - 4 Bytes
-
0132
-> ArrayOfEnumBlockArrays - 2 Bytes
- Then repeating blocks:
- 2 Bytes
-
0348
-> 4 Bytes (Player ID) -
034A
-> Sized (Player Name) -
042A
-> 4 Bytes -
0558
-> 4 Bytes -
0363
-> 4 Bytes -
0615
-> 4 Bytes -
0452
-> 4 Bytes (Team ID) -
0225
-> 4 Bytes -
0296
-> Integer (Player Rank) -
06EE
-> 4 Bytes -
042E
-> 4 Bytes -
042F
-> 4 Bytes -
03F5
-> 4 Bytes
-
-
0246
-> 8 Bytes (9002 Server IP Address) 2E00000033000000