Documenting the DirectPlay protocol
Historic efforts
Due to increased public interest (two people asked me about dplay in one week), I have put my mock dplay server and the wireshark plugin code into a Google Code project called contorted. I thought the name was fitting to this protocol.
I'm currently trying to also provide some web-based information on the contorted wiki.
2008-02: It looks like Microsoft added documentation for many Windows protocols, including DirectPlay: http://msdn2.microsoft.com/en-us/library/cc216517.aspx
Bugs in the Microsoft DirectPlay specs
- Page 17, Size does not cover the whole structure, it's 4 bytes too small.
Page 17, There is an undocumented DWORD between PlayerVersion and ShortName.
Page 22, The length of PlayerIDs is PlayerCount * 4 bytes, not 4 bytes
Page 23, The length of ShortcutIDs is ShortcutCount * 4 bytes, not 4 bytes
- Page 26, Reserved1 seems used for a DirectPlayID in all captures I have. Probably the "reserved for future use" and "application defined" fields are swapped.
- Page 34, The Command Value for DPSP_MSG_ADDFORWARDREQUEST is 0x13 not 0x24
Page 34, After PasswordOffset, there is a structure almost like PackedPlayer, just without the ParentID
Page 35, TickCount looks suspiciously like a DirectPlayID
- Page 45, The Command Value for DPSP_MSG_CREATEPLAYER is 0x8 not 0x9.
Page 46, After PlayerInfo, there seems to be an empty unicode string, probably the password. That is there even if PasswordOffset is 0.
- Page 47, The Command Value for DPSP_MSG_CREATEPLAYERVERIFY is 0x38 not 0x9.
- Page 81, The fourth bit of Flags is always 1 in all captures I have.
Reported to Microsoft on 2008-03-02.
