DO Join Request Message - zeroKilo/GROBackendWV GitHub Wiki
DO Join Request Message
Quazal::ProcessAuthentication
Type |
Name |
Example value |
uint8 |
structVersion |
2 |
uint8 |
libraryProtoVersion |
2 |
uint8 |
unknown |
10 |
uint32 |
quazalMajorVersion |
0x10004 |
uint32 |
quazalMinorVersion |
0x1CA2B |
uint32 |
titleChecksum |
0x6BD |
uint32 |
protocolFlags |
0 |
Quazal::StationIdentification
Type |
Name |
string |
m_strIdentificationToken |
string |
m_strProcessName |
uint32 |
m_uiProcessType |
uint32 |
m_uiProductVersion |
Title Checksum Algorithm
The checksum is simply the sum of all ascii chars in the game title; for example:
- String of game title:
Ghost.Recon.Online
- Hex bytes of string:
47 68 6F 73 74 2E 52 65 63 6F 6E 2E 4F 6E 6C 69 6E 65
- Sum: 0x6BD
Example Message
13.05.2020 22:07:20 : [05][UDP Dedicated Server] received : UDPPacket { DATA ( R WS )}
13.05.2020 22:07:20 : [10][UDP Dedicated Server] received : 11 11 72 25 78 56 34 12 03 00 00 21 00 02 78 9C 53 62 00 02 26 26 2E 16 06 46 06 ED 53 8C 0C 7B D9 18 C0 80 11 8C 60 E0 23 00 33 65 02 E2 A6
13.05.2020 22:07:20 : [10][UDP Dedicated Server] received : UDPPacket {
From : VPort[port=01 type=DO]
To : VPort[port=01 type=DO]
Flags : [FLAG_RELIABLE][FLAG_NEED_ACK][FLAG_HAS_SIZE]
Type : DATA
Session ID : 0x25
Signature : 0x12345678
Sequence ID : 0x0003
Part Number : 0x00
Payload Size : 0x0027
PayLoad : 22 00 00 00 00 02 02 0A 04 00 01 00 2B CA 01 00 BD 06 00 00 00 00 00 00 01 00 00 01 00 00 00 00 00 00 00 00 00 00 F1
Checksum : 0xA6
}
BYTE 00 // DO method = JoinRequest
//Quazal::ProcessAuthentication
BYTE 02 // Structure Version
BYTE 02 // Library Protocol
BYTE 0A // unknown, should be 0xA
DWORD 04 00 01 00 // Quazal Major Version
DWORD 2B CA 01 00 // Quazal Minor Version
DWORD BD 06 00 00 // Title Checksum
DWORD 00 00 00 00 // Protocol Flags
//Quazal::StationIdentification
DWORD 01 00 00 // m_strIdentificationToken
DWORD 01 00 00 // m_strProcessName
DWORD 00 00 00 00 // m_uiProcessType
DWORD 00 00 00 00 // m_uiProductVersion