• Welcome to Valhalla Legends Archive.
 

Correction List

Started by Barabajagal, February 03, 2007, 06:44 PM

Previous topic - Next topic

Barabajagal

This is an incomplete list of problems I've found on BNetDocs. It'll probably be updated as time goes on.


Battle.net's file transfer protocol (Version 1)
http://bnetdocs.valhallalegends.com/content.php?Section=d&id=9

"After sending this message, Battle.net terminates the connection."
Battle.net does not terminate the connection, the client does. The server only terminates the connection if a malformed packet is sent.

-

User Statstrings
http://bnetdocs.valhallalegends.com/content.php?Section=d&id=16

Note added Feb 10, 2007: It would make more sense to number the fields starting at 0 rather than 1, since most people will probably split the statstrings up into arrays, and technically, Computer Science denotes that 0 is the first number.

DRTL/DSHR (Diablo) 9th field = Spawned (1 for DSHR, 0 for DRTL).

W2BN (Warcraft II) 7th field = Iron Man Rating.
         8th field = Iron Man Rank.

D2DV/D2XP (Diablo II) Statstrings

Client   (VD2D/PX2D)
Realm
Comma   (",")
Character Name
Comma   (",")

Char Data (All Byte values):
01   Head Armor
02   Chest Armor
03   Leg Armor
04   Right Arm Armor
05   Left Arm Armor
06   Right Hand Weapon
07   Left Hand Weapon
08   Left Hand Shield
09   Right Shoulder Pad
10   Left Shoulder Pad
11   Blank
12   Class
13   Head Color
14   Chest Color
15   Leg Color
16   Right Arm Color
17   Left Arm Color
18   Right Hand Weapon Color
19   Left Hand Weapon Color
20   Left Hand Shield Color
21   Right Shoulder Color
22   Left Shoulder Color
23   Blank
24   Level
25   Character Flags
      0x04   Hardcore
      0x08   Dead
      0x20   Expansion
26   Act Flags
      Normal:
       0x80   Act 1 Normal
       0x82   Act 2 Normal
       0x84   Act 3 Normal
       0x86   Act 4 Normal
       0x88   Act 1 Nightmare
       0x8A   Act 2 Nightmare
       0x8C   Act 3 Nightmare
       0x8E   Act 4 Nightmare
       0x90   Act 1 Hell
       0x92   Act 2 Hell
       0x94   Act 3 Hell
       0x96   Act 4 Hell
       0x98   All Acts
      Expansion:
       0x80   Act 1 Normal
       0x82   Act 2 Normal
       0x84   Act 3 Normal
       0x86   Act 4/5 Normal (Odd thing about this is that Act 4 and 5 have the same flag, and the next flag is skipped).
       0x8A   Act 1 Nightmare
       0x8C   Act 2 Nightmare
       0x8E   Act 3 Nightmare
       0x90   Act 4/5 Nightmare
       0x94   Act 1 Hell
       0x96   Act 2 Hell
       0x98   Act 3 Hell
       0x9A   Act 4/5 Hell
       0x9E   All Acts
27   Unknown
28   Unknown
29   Ladder character (Boolean)
30   Unknown
31   Unknown

-

MCP_CHARLIST/MCP_CHARLIST2
http://bnetdocs.valhallalegends.com/content.php?Section=m&Code=102
http://bnetdocs.valhallalegends.com/content.php?Section=m&Code=408

There is no (Flags) field.


Added Feb 6, 2007:
Logon Sequences
http://bnetdocs.valhallalegends.com/sequence.php

A few of these are incorrect, such as SSHR's:


Send > SID_CLIENTID
Send > SID_LOCALEINFO
Send > SID_SYSTEMINFO
Send > SID_STARTVERSIONING
Recv < SID_CLIENTID
Recv < SID_LOGONCHALLENGE
Recv < SID_PING
Recv < SID_STARTVERSIONING
Send > SID_PING
Send > SID_REPORTVERSION
Recv < SID_REPORTVERSION
Send > SID_GETICONDATA
Recv < SID_GETICONDATA
Send > SID_UDPPINGRESPONSE
Send > SID_GETFILETIME
Send > SID_READUSERDATA
Recv < SID_GETFILETIME
Recv < SID_READUSERDATA
Send > SID_LOGONRESPONSE
Recv < SID_LOGONRESPONSE
Send > SID_ENTERCHAT



UserLoser

There's no flags field for the MCP_CHARLIST*?  Then how does the client know what type of character it is?  Last time I checked, there were flags and always has been.

Barabajagal

The character type is in the statstring. Look at an example statstring:
PX2DUSWest,RipplesBotty,,,€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ倀€ÿÿ
Now, when you use the "Flags" Word field in MCP_CHARLIST, you get two bytes missing off of the char statstring. Those two bytes are your "Flags" Word. See what the first two bytes of the same character's statstring are within a channel and what the Word is for your "Flags" (remember to reverse the values because it switches endian cause it's a Word).

Barabajagal

Just noticed... Starcraft Shareware doesn't send Channel List or Friend List on connection...