User Profile
RealityRipple
(no biography information)
Id | 33 |
---|---|
Member for | 17 years, 2 months, 17 days |
Comments made | 19 |
Documents authored | 3 |
News posted | 1 |
Packets authored | 5 |
Servers owned | 0 |
Documents
News Posts
Comments
Helpful hint - Clan invitations will fail (0x05) if you invite a user in a public channel if that user is not in your friend list. There may be other reasons as well.
This information is out of date. I'm not certain of the system the official client uses to store these packets, but I'll attempt to explain what I've discovered -
The 10-byte header is in every packet you receive of this type. However, The size values have an extra 4, 8, or 12 bytes, depending on things....
The first WORD is the total number of bytes in the list (plus 12).
The second WORD is the number of bytes in this set of entries (plus 4 or 8 or 12, depending)
The third WORD is the number of bytes written thus far, not the number remaining. It also has a plus, depending)
The fourth WORD is the rank of the first entry on the first set, and some unknown value on subsequent sets of the same list.
The fifth WORD is null.
The "Message Data" DWORDs only show up on the first set. After that, they're not there. If they are there, the length values for the current packet are +8, if not, +4, and if it's the only set in the list, +12. I don't quite understand the logic behind it, but that's what it seems to do.
After this follow some entries, though not necessarily the "number of entries", unless it's a short list. The Flags values are, in actuality, bitwise, using 0x10 for Dead, 0x20 for Hardcore, and 0x40 for Expansion. The character class can easily be determined using Flags AND 0x0F. The Title values are the act the user has beaten, starting from 0. Note that all normal characters count as Act 1 (0), and act 5 doesn't count, just like D2 statstrings. To determine the "Character Title" from this value, you can use the ranges 00-03 = None, 04-07 = Beat Normal, 08-0B = Beat Nightmare, 0C+ = Beat Hell for classic, and 00-04, 05-09, 0A-0E, 0F+ for expansion. Character names are not strictly null padded, but often will contain junk data after the first null byte.
Finally, the server usually sends these in the right order now, apparently, although, of course, you shouldn't rely on it. You can, however, easily sort by the third WORD in the header.
Also, I just got a W3XP statstring that contained a level and clan tag but no icon data, so be aware of that possibility.
Diablo III: 0x1E
http://uploads.realityripple.com/BN2%20Packet%20Tools.7z
You can use these tools to analyze BN2 packets and decrypt the encrypted ones.
You have logs of its use?
Some Diablo II statstring research comments:
Field 1 - Usually 0x84. Larger values observed as well. No idea as to the meaning yet.
Field 25 - Determined to be offhand item (necromancer heads) color.
Field 27 - Flags seem to start off at 0x80. A 0x01 seems to indicate the character has not yet entered a game, although a non-expansion character will not have this flag set unless it re-enters chat before joining a game. More research to come here too.
Fields 29 and 30 are 0x80 when the character has not yet entered a game, and 0xFF once he has. No other values have yet been observed.
Diablo II Colors:
Color should be MOD A0'd as all values repeat.
0 / 1F / FF = Normal
1 = Gray
2 = Shiny Black
3 = Dull Black
4 = Black
5 = Shiny Blue
6 = Dull Blue
7 = Blue
8 = Shiny Red
9 = Dull Red
A = Red
B = Shiny Green
C = Dull Green
D = Green
E = Shiny Yellow
F = Dull Yellow
10 = Yellow
11 = Duller Yellow
12 = Shiny Purple
13 = Purple
14 = Gold
15 = White
Flags:
20 = Tinted
40 = Lightly Tinted
Diablo II Items (Hex):
0 / FF = None
4 = Hand Axe
5 = Axe
6 = Double Headed Axe
7 = War Axe
8 = Giant Axe
9 = Wand
A = Yew Wand
B = Grim Wand
C = Club
D = Mace
E = Warhammer
F = Flail
10 = Maul
11 = Short Sword
12 = Scimitar
13 = Falchion
14 = Crystal Sword
15 = Broadsword
16 = Longsword
17 = Claymore
18 = Bastard Sword
19 = Dagger
1A = Blade
1B = Short Spear
1C = Glaive
1D = Pilum
1E = Spear
1F = Trident
20 = Spetum
21 = Pike
22 = Bardiche
23 = Scythe
24 = Halberd
25 = Short Staff
26 = Long Staff
27 = Battle Staff
28 = War Staff
29 = Short Bow
2A = Long Bow
2B / F3 / F4 / FB = Claws
2C / F5 / F6 / FC = Scissors Katar
2D / F7 / F8 / FD = Katar
2E / F9 / FA / FE = Hatchet Hands
2F = Hunter's Bow
30 = Composite Bow
31 / 7A / F0 = Crossbow
32 / 7C / F2 = Heavy Crossbow
33 = Eagle Orb
34 = Sacred Globe
35 = Clasped Orb
36 = Stag Bow
37 = Reflex Bow
4F = Small Shield
50 = Large Shield
51 = Kite Shield
52 = Tower Shield
54 = Bone Shield
55 = Spiked Shield
5C = Targe
5D = Heraldic Shield
5E = Crown Shield
5F = Demon Head
60 = Gargoyle Head
61 = Zombie Head
75 / EB = Short Battle Bow
76 / EC = Long Battle Bow
77 / ED = Short War Bow
78 / EE = Long War Bow
EF = Light Crossbow
F1 = Repeating Crossbow
Diablo II Equipment (hex):
0 / 1 / 2 / 3 / FF = None
4 / 39 = Cap
5 / 3A = Skullcap
6 / 3B = Helm
7 / 3C = Full Helm
8 / 3D = Great Helm
9 / 3E = Crown
A / 3F = Mask
40 / 53 = Bone Helm
56 = Wolf Head
57 = Hawk Helm
58 = Antlers
59 = Jawbone Cap
5A = Horned Helm
5B = Assault Helmet
Diablo II Armor Types:
Torso, Legs, Arms, and Shoulders all have values from 1 to 3 (and 255 for nothing). Combined, they tell you what type of armor the character is wearing:
The order being used is Torso + Legs + Right Arm + Left Arm + Right Shoulder + Left Shoulder
111111 / 255255255255255255 = Nothing
111122 = Quilted Armor
211122 = Leather Armor
212222 = Hard Leather Armor
122122 = Studded Leather Armor
221122 = Ring Mail
222222 = Scale Mail
311133 = Breast Plate
222233 = Chain Mail
322222 = Splint Mail
223133 = Light Plate
332233 = Field Plate
333322 = Plate Mail
233333 = Gothic Plate
333333 = Full Plate Mail
332331 = Ancient Armor
WoW (14-day Trial): 0x16
WoW TBC Retail: 0x15
WoW WotLK Retail: 0x1A
Um... pretty sure the WoW guest passes are 0x1B, but I'm not sure which copy of WoW.
I don't have a copy of the game, but so far as I know, the SC2 guest pass keys use the same product value as the actual game, using the Public value to identify it as a guest pass (the two I examined started with 0x1EBA--).
Got this info regarding Starcraft Shareware games. Will be doing the rest of them soon as well:
Game Statstring: ,33,12,6,,2,1,2ac374b3,,RealityRipple(0x0D)Byways(0x0D)
Map Size: 33 332,332 96x96
Players: 12 2 players
Game Speed: 6 Fastest
Approval: - Not Implemented/No Approval/Unknown
Game Type: 2 Melee
Parameter: 1 See above Parameter
Checksum: 2ac374b3
Tileset: blank Badlands
Creator: RealityRipple
MapName: Byways
As for the checksum, http://forum.valhallalegends.com/index.php?topic=17702.msg182264#msg182264 will explain how it is created.
Hmm, strange. Guess we'll never know what it was.
Coming right up!