-
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
0020or0026 -
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