Valhalla Legends Forums Archive | BnetDocs Research and Discussion | Request for Research: The Diablo II Game Protocol

AuthorMessageTime
Arta
Some excellent work has been undertaken in this area, but the protocol as published on the site is incomplete, and contains numerous unknown fields and ommisions. Any contributions of information regarding the D2GS protocol would be greatfully received.

Currently, LivedKrad is the editor responsible for maintaining the D2GS section of the site; as such, you may wish to contact him directly.
July 6, 2005, 2:22 PM
Ringo
https://davnit.net/bnet/vL/phpbbs/index.php?topic=11756.15
This should cover most of them


[C>0x49]  D2GS_WAYPOINT 
This is a 1.09 packet i think.
The waypoint Id's should also be added... VERY important

[C>0x67]  D2GS_GAMELOGON 
The charname can be 15 letters max and the strand it is in is 16 bytes always.
Might also want to add that if you ignore the char type byte, and you are joinig a game on a 1st time new char and the char type is wrong, the char will 'morph' into the char (byte) speficyed.


[C>0x2D]  D2GS_UNSELECTOBJ (Defunct) 
Im not sure this packets used, or if unselecting a item is possible?

[C>0x29]  D2GS_SCROLLTOTOME 
[C>0x21]  D2GS_STACKITEM 
just checked these

 
[C>0x22]  D2GS_REMOVESTACKITEM (Defunct) 
[C>0x27]  Unknown 
[C>0x28]  D2GS_INSERTSOCKETITEM 
[C>0x2F]  D2GS_NPCHEAL 
[C>0x32]  D2GS_NPCBUY 
[C>0x33]  D2GS_NPCSELL 
[C>0x61]  D2GS_POTIONTOMERCENARY 
LivedKrad, you should have posted/asked about these in somthing like the research topic to ask for them to be checked.


[C>0x20]  D2GS_USEITEM 
Might want to note that the X and Y are the locations in witch the char stands on the area, so not to get it confused with the X and Y of the stash/inventory its in

[S>0x19]  D2GS_SMALLGOLDPICKUP 
Should be add to gold back (inventory gold)

[S>0x1F]  D2GS_SETDWORDATTR 
[S>0x1D]  D2GS_SETWORDATTR 
These have very little relation with upgrading, they asign you with your chars attributes on joing a game, and when ever an attribute changes (These are base btw, item attributes must be added on to get the total)
0x1D is notifying you that the current attribute is 1 byte (not a word)
0x1E is for a WORD
0x1F is correct


[C>0x19]  D2GS_PICKUPINVENTORYITEM 
isnt just inventory, its pick up a item from anything other than the floor*

[C>0x16]  D2GS_INTERACTWITHOBJECT2
picks up a ground item to the curser, no interaction with any objects take place.

[C>0x14]  D2GS_CHARMESSAGE 
The last 2 unknown bytes are blank nullstrings, but i dont think they can/do ever get filled with anything

[C>0x04]  D2GS_RUNTOUNIT 
Might want to note that you should send a walk/run packet before sending this packet to move to a object if your move than 2 steps away, and a 0x13 when u get with in 2 steps of it.
It should be sent for every 1 - 2 spaces (x and y's) the char moves

alot of them lack any explaination/infomation :(
July 6, 2005, 4:22 PM
LivedKrad
[quote]LivedKrad, you should have posted/asked about these in somthing like the research topic to ask for them to be checked.[/quote]

Thus the point of these forums and for the status of the packets on BnetDocs being "Public Draft". :P

Thanks for your corrections, I'll put them into effect in due time. Please post all other mistakes you see as well.

Edit: In an effort to get used to BnetDocs and get some public documentation up for (possibly little) good to the public, I posted the packets from rumkin's site and didn't look over yours. I had planned (prior to this post) to in a few days update the missing/incorrect information using your documentation as a reference. Again, this is what this forum and the status of the packets on BnetDocs is for, so all corrections are appreciated and encouraged.

Edit2: [quote][C>0x2D]  D2GS_UNSELECTOBJ (Defunct)
Im not sure this packets used, or if unselecting a item is possible?[/quote]

That's why "defunct" is marked there.

Edit3: [quote][C>0x22]  D2GS_REMOVESTACKITEM (Defunct)
[C>0x27]  Unknown
[C>0x28]  D2GS_INSERTSOCKETITEM
[C>0x2F]  D2GS_NPCHEAL
[C>0x32]  D2GS_NPCBUY
[C>0x33]  D2GS_NPCSELL
[C>0x61]  D2GS_POTIONTOMERCENARY
LivedKrad, you should have posted/asked about these in somthing like the research topic to ask for them to be checked.


[C>0x04]  D2GS_RUNTOUNIT
Might want to note that you should send a walk/run packet before sending this packet to move to a object if your move than 2 steps away, and a 0x13 when u get with in 2 steps of it.
It should be sent for every 1 - 2 spaces (x and y's) the char moves[/quote]

For the first clump, I need to know what to change, or shall I just reference them from your research? And for 0x04, is this the same for D2GS_WALKTOUNIT? Finally, all of your other suggestions have been applied.
July 7, 2005, 7:13 PM

Search