Ace's PacketList for 1.10 [Complete + Definitions + Examples] v0.1

_Ace

BattleForums Senior Member
Joined
May 17, 2003
Messages
1,474
Reaction score
0
Location
Under my bed (Spain)
Website
Visit site
Ace's 1.10 Complete PacketList

This packet list includes definitions and will (pretty soon btw) include examples.
Credits go to Gayak and the "others" that made the first ever packetlists, and to Thohell for creating d2hackit, which I'm using to create the examples and get some extra info.

This list has the following format:

Code:
[Starting byte] [Description]
Syntax: [Packet syntax (hex bytes separated by spaces)]
Length: [Number of bytes the packet uses including starting one]
Example: [Example of when this packet is used and what data goes where] <- Not done yet, expect to see it in a week or less

Index:

- Variable types
- SENT packets
- RECV packets [not yet]
- Definitions


Variable types: What kind of data goes inside the packets?

BYTE = XX (from 00 to ff)
WORD = 2 bytes
DWORD = 4 bytes
*char = Array of bytes each representing a letter


SENT packets: What does each packet do?

Code:
00 UNKNOWN

01 Walk to coords
Syntax: 01 [WORD x] [WORD y]
Length: 5

02 Walk to entity
Syntax: 02 [DWORD entity kind] [DWORD entity id]
Length: 9

03 Run to coords
Syntax: 03 [WORD x] [WORD y]
Length: 5

04 Run to entity
Syntax: 04 [DWORD entity kind] [DWORD entity id]
Length: 9

05 Cast left skill on coords
Syntax: 05 [WORD x] [WORD y]
Length: 5

06 Cast left skill on unit
Syntax: 06 [DWORD entity kind] [DWORD entity id]
Length: 9

07 Shift-cast left skill on unit
Syntax: 07 [DWORD entity kind] [DWORD entity id]
Length: 9

08 Shift-cast left skill on coords (hold)
Syntax: 08 [WORD x] [WORD y]
Length: 5

09 Cast left skill on unit (hold)
Syntax: 09 [DWORD entity kind] [DWORD entity id]
Length: 9

0a Shift-cast left skill on unit (hold)
Syntax: 0a [DWORD entity kind] [DWORD entity id]
Length: 9

0b UNKNOWN

0c Cast right skill on coords
Syntax: 0c [WORD x] [WORD y]
Length: 5

0d Cast right skill on unit
Syntax: 0d [DWORD entity kind] [DWORD entity id]
Length: 9

0e Shift-cast right skill on unit
Syntax: 0e [DWORD entity kind] [DWORD entity id]
Length: 9

0f Cast right skill (hold) on coords
Syntax: 0f [WORD x] [WORD y]
Length: 5

10 Cast right skill on unit (hold)
Syntax: 10 [DWORD entity kind] [DWORD entity id]
Length: 9

11 Shift-cast right skill on unit (hold)
Syntax: 11 [DWORD entity kind] [DWORD entity id]
Length: 9

12 UNKNOWN

13 Interact with entity (to interact with a unit you have to be relatively close, so use the walk to entity packet first)
Syntax: 13 [DWORD entity kind] [DWORD entity id]
Length: 9

14 Overhead message
Syntax: 14 00 00 [*char message] 00 00 00
Length: Varies (6 + message characters)

15 Chat message
Syntax: 15 01 00 [*char message] 00 00 00
Length: Varies (6 + message characters)

16 Pickup item from ground
Syntax: 16 04 00 00 00 [DWORD item id] [DWORD inv(0) or cursor (1)] (00 00 00 00 picks item to inv, 00 00 00 01 picks item to cursor)
Length: 13

17 Drop item from cursor to ground (item must be on cursor)
Syntax: 17 [DWORD item id]
Length: 5

18 Put item down in buffer
Syntax: 18 [DWORD item id] [DWORD xpos] [DWORD ypos] [DWORD buffer]
Length: 17

19 Pickup item from buffer
Syntax: 19 [DWORD item id]
Length: 5

1a Equip item
Syntax: 1a [DWORD item id] [WORD body position] 00 00
Length: 9

1b Equip/Remove 2 handed-item (swap)
Syntax: 1b [DWORD item id] [WORD body position] 00 00
Length: 9

1c Remove item from body
Syntax: 1c [WORD body position]
Length: 3

1d Swap cursor with body
Syntax: 1d [DWORD item id] [WORD body position] 00 00
Length: 9

1e UNKNOWN

1f Swap cursor item with item in buffer
Syntax: 1f [DWORD cursor item id] [DWORD buffer item id] [DWORD xpos] [DWORD ypos]
Length: 17

20 Activate cube/potion in inventory/stash
Syntax: 20 [DWORD item id] [DWORD xpos] [DWORD ypos]
Length: 13

21 Stack items (keys, arrows, bolts)
Syntax: 21 [DWORD item to stack id] [DWORD item where it stacks id]
Length: 9

22 UNKNOWN

23 Drop item to belt
Syntax: 23 [DWORD item id] [DWORD belt position]
Length: 9

24 Pickup item from belt
Syntax: 24 [DWORD item id]
Length: 5

25 Switch item from cursor with item from belt
Syntax: 25 [DWORD cursor item id] [DWORD belt item id]
Length: 9

26 Use potion/scroll in belt
Syntax: 26 [DWORD item id] [DWORD option] 00 00 00 00
Length: 13

27 Identify item
Syntax: 27 [DWORD item id] [DWORD identify scroll id]
Length: 9

28 Socket item (put item inside another)
Syntax: 28 [DWORD item to socket id] [DWORD socketable item id]
Length: 9

29 Put scroll into book
Syntax: 29 [DWORD scroll id] [DWORD book id]
Length: 9

2a Drop item to cube
Syntax: 2a [DWORD item id] [DWORD cube id]
Length: 9

2b UNKNOWN

2c UNKNOWN

2d UNKNOWN

2e UNKNOWN

2f Chat with entity
Syntax: 2f [DWORD entity kind] [DWORD entity id]
Length: 9

30 Terminate entity chat
Syntax: 30 [DWORD entity kind] [DWORD entity id]
Length: 9

31 Quest message
Syntax: 31 [DWORD id] [DWORD message]
Length: 9

32 Buy item from NPC buffer
Syntax: 32 [DWORD entity id] [DWORD item id] [DWORD NPC tab] [DWORD cost (not needed)]
Length: 17

33 Sell item to NPC
Syntax: 33 [DWORD entity id] [DWORD item id] [DWORD NPC tab] [DWORD cost (not needed)]
Length: 17

34 Use NPC to identify items (Cain)
Syntax: 34 [DWORD entity id]
Length: 5

35 Repair item
Syntax: 35 [DWORD entity id] [DWORD item id] [DWORD NPC tab] [DWORD cost (not needed)]
Length: 17

36 Hire merc
Syntax: 36 [DWORD entity id] [DWORD merc id]
Length: 9

37 Identify (probably when gambling an item)
Syntax: 37 [DWORD item id]
Length: 5

38 Entity action
Syntax: 38 [DWORD action] [DWORD entity id] [DWORD parameters/complement]
Length: 13

39 UNKNOWN

3a Add stat point
Syntax: 3a [BYTE stat] 00
Length: 3

3b Add skill point
Syntax: 3b [BYTE skill] 00
Length: 3

3c Select skill
Syntax: 3c [BYTE skill] 00 00 [BYTE left (80) or right (00) skill] FF FF FF FF
Length: 8

3d UNKNOWN (used by Mode5)
Syntax: 3d [DWORD object id]
Length: 5

3e UNKNOWN

3f Play audio message ("help!" and all that)
Syntax: 3f [WORD sound message]
Length: 3

40 Request quest info update (when opening quest window)
Syntax: 40
Length: 1

41 Resurrect (after dying, hitting ESC)
Syntax: 41
Length: 1

42 UNKNOWN

43 UNKNOWN

44 Put staff in orifice (DO NOT PLAY WITH THIS AS IT CAN [AND MOST PROBABLY WILL] CORRUPT YOUR CHARACTER)
Syntax: 44 [DWORD orifice entity kind] [DWORD orifice entity id] [DWORD staff item id] [DWORD entity state]
Length: 17

45 UNKNOWN

46 UNKNOWN

47 UNKNOWN

48 Turn off "busy" state for trades
Syntax: 48
Length: 1

49 Take WP or close WP window
Syntax: 49 [DWORD wp entity id] [BYTE destination] 00 00 00
Length: 9

4a UNKNOWN

4b UNKNOWN

4c UNKNOWN

4d UNKNOWN

4e UNKNOWN

4f Click button (trade buttons for example)
Syntax: 4f [DWORD button id] [WORD complement]
Length: 7

50 Drop gold
Syntax: 50 [DWORD player id] [DWORD gold quantity]
Length: 9

51 Bind hotkey to skill
Syntax: 51 [BYTE skill] [BYTE left (80) or right (00) skill] [WORD hotkey] FF FF FF FF
Length: 9

52 UNKNOWN

53 UNKNOWN

54 UNKNOWN

55 UNKNOWN

56 UNKNOWN

57 UNKNOWN

58 Quest Completed
Syntax: 58 [WORD quest id]
Length: 3

59 Make entity move
Syntax: 59 [DWORD entity kind] [DWORD entity id] [WORD x] 00 00 [WORD y] 00 00
Length: 17

5a UNKNOWN

5b UNKNOWN

5c UNKNOWN

5d Squelch, hostile and "don't let player hear me" stuff
Syntax: 5d [BYTE button] [BYTE toggle on/off] [DWORD player id]
Length: 7

5e Invite to party
Syntax: 5e [BYTE button] [DWORD player id]
Length: 6

5f Update player position
Syntax: 5f [WORD x] [WORD y]
Length: 5

60 Switch inventory (like pressing W)
Syntax: 60
Length: 1

61 Give/take merc item
Syntax: 61 [WORD position (00 00 to give)]
Length: 3

62 Resurrect Merc
Syntax: 62 [DWORD NPC id]
Length: 5

63 Shift left-click item (to belt)
Syntax: 63 [DWORD item]
Length: 5

64 UNKNOWN

65 UNKNOWN

66 Close D2 (instead of leaving game it will make D2 close)
Syntax: 66
Length: 1

67 Enter Game
Syntax: 67 XX XX XX XX XX XX XX XX 00 00 00 00 [*char character name] 00 XX XX XX [DWORD ?]
Length: Varies

68 Leave Game
Syntax: 68
Length: 1

69 UNKNOWN

6c Client Update
Syntax: 6c [DWORD timer in miliseconds] [DWORD delay]
Length: 9

Definitions: What does each packet parameter mean?

[WORD x]
2 bytes containing a x coordinate (first byte is usually "zone" and second is coord inside that zone)

[WORD y]
Same than x but with y coordinate

[DWORD entity kind]

[DWORD entity id]
Every entity in the game has its own id, it's like its identification number that makes it different from other entities...

[*char message]
Group of characters containing the message, 1 byte per letter (hex ASCII)

[DWORD item id]
Every item has its own id, it's the same thing that happens with entities

[DWORD xpos]
x position in a buffer starting from 0 (XX 00 00 00) (when putting an item, the coords define the upper-left corner of the item). Inventory goes from x=0 to x=9

[DWORD ypos]
y position in a buffer starting from 0 (YY 00 00 00) (when putting an item, the coords define the upper-left corner of the item). Inventory goes from y=0 to y=3

[DWORD buffer]
00 00 00 00 = Inventory

[WORD body position]
01 00 = Head
02 00 = Amulet
03 00 = Armor
04 00 = Left hand
05 00 = Right hand
06 00 = Left ring
07 00 = Right ring
08 00 = Belt
09 00 = Boots
0a 00 = Gloves

[DWORD belt position]
0c 0d 0e 0f
08 09 0a 0b
04 05 06 07
00 01 02 03 <- Lower line (the one you always see)

[DWORD option]
UNKNOWN

[DWORD NPC tab]
When buying it's always 00 00 00 00, when selling it varies

[DWORD cost]
When sniffing, it will tell you how much buying an item costed (in hex), when sending the packet it's not needed

[DWORD merc id]
As entities and items, mercs also have ids, nothing to say.

[BYTE stat]
00 = Strength
01 = Energy
02 = Dexterity
03 = Vitality

[BYTE skill]
Every skill has its "id", from 00 to FF (note: some assassin skills are out of that range, being [XX 01], when this happens, XX will go in the [BYTE skill] place, and the 01 will add to the next byte. I know this is not clear enough but I'll explain in next "releases" or edits of this post.

[WORD soundmessage]
19 00 = Help [0]
1a 00 = Follow me [1]
1b 00 = This is yours [2]
1c 00 = Thanks [3]
1d 00 = Sorry [4]
1e 00 = Bye [5]
1f 00 = DIE! [6]
20 00 = Run [7]

This PacketList was made by TheAce, you can copy it and post it anywhere else as long as you state that I did it. If you edit it, you still have to say that the original was made by me.
CM, if you are around, sticky this or something, but leave it editable because I'll be adding stuff everyday. I hope the PacketList helps people who want to start with hacking but don't know where to start.
 

_CM

Respected Member
Joined
May 19, 2003
Messages
3,874
Reaction score
3
Location
Luxembourg
done.

if you want to edit it later (after 3 days), just msg me, I'll do it for ya
 

nEmFiZZ

New Member
Joined
Mar 23, 2006
Messages
1
Reaction score
0
can't find the d/l link....

edit: nvm, anyway, anyone got a packet sniffer that works?
 

NewPosts

New threads

Top