DirectPlayProtocol

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.

DirectPlayProtocol (last edited 2010-04-27 21:19:06 by JasmineIwanek)