|
Message Status:
|
This message's status is Public Draft. The contents of this page may be incomplete or incorrect,
and your comments and contributions are requested.
|
Message ID: |
0x68 |
Message Name: |
D2GS_GAMELOGON
|
Direction: |
Client -> Server (Sent) |
Used By: |
Diablo II, Diablo II LOD |
Format: Help
Hint: Field names highlighted in blue will display a definition if you hover over the text. |
(DWORD) D2GS Server Hash
(WORD) D2GS Server Token
(BYTE) Character ID
(DWORD) Version byte (Currently 0x0B)
(DWORD) Unknown - Suggested Const (0xED5DCC50)
(DWORD) Unknown - Suggested Const (0x91A519B6)
(BYTE) Unknown - Suggested (0x00)
(STRING) Character name
(VOID) *See user-comment below |
Remarks: |
Possible Character IDs:
0x00 - Amazon
0x01 - Sorceress
0x02 - Necromancer
0x03 - Paladin
0x04 - Barbarian
0x05 - Druid
0x06 - Assassin
The "Character name" field is a buffer of 15 characters with a null-terminator. This string should always be filled with 15 characters (plus terminator), padded with 0's for unused bytes.
Note: If the character ID does not match the type of character you're attempting to logon with, and the character is nealy created (with 0 play time), then that character will automatically be changed or "morphed" into the character ID sent. |
|
Please note: This message's official name is not known, and has been invented. |
|
Printable Version
|
User Comments:
Posted by l2k-Shadow on 10/08/05 04:52 |
Come 1.11 patch, this packet has a new structure, along with the packet ID being 0x68.
(DWORD) D2GS Server Hash
(WORD) D2GS Server Token
(BYTE) Character ID
(DWORD) Version Byte (0x0B)
(DWORD) Unknown - 0xED5DCC50
(DWORD) Unknown - 0x91A519B6
(BYTE) Unknown - 0x00
(NTSTR) Character Name
(VOID) Random Data - See below
Now the tricky part:
After you send the null terminated character name, you must fill the rest up with these bytes instead of 0x00, depending on the length of your character:
0x9E, 0xAE, 0xD4, 0x77, 0x9A, 0x81, 0xB3, 0x6F, 0x4B, 0x00, 0x00, 0x00, 0x00
Example:
If my character name is "Op" which is 2 characters long, I'd send:
4F 70 00 9E AE D4 77 9A 81 B3 6F 4B 00 00 00 00
If my character name is "Shadow" which is 6 characters long, I'd send:
53 68 61 64 6F 77 00 9A 81 B3 6F 4B 00 00 00 00
Sorry for bad explanation, can't seem to do it any other way.
NOTE: these bytes have been changed since the last time I packet logged, however these will work
Edited by l2k-Shadow on 13/09/05 06:44
|
#316 |
|
|
|