BNETDocs Redux
Navigation |
File Transfer Protocol Version 1
Battle.net's file transfer protocol (often abbreviated BNFTP or BNFTPv1) is fairly simple. The protocol itself has no headers, and consists of 2 packets - the request, and the response. The request is sent to Battle.net after connecting and requesting protocol BNFTP (0x02): (WORD) Request length (WORD) Protocol Version (DWORD) Platform ID (DWORD) Product ID (DWORD) Banner ID* (DWORD) Banner File Extension* (DWORD) Start position in file (for resuming) (FILETIME) Filetime of local file (STRING) Filename Battle.net should respond with the following BNFTP message, which is likely to be split across several TCP packets: (WORD) Header length - Does not include the length of the file. (WORD) Unknown (probably padding) (DWORD) Filesize (DWORD) Banners ID* (DWORD) Banners File Extension* (FILETIME) Remote Filetime (STRING) Filename (VOID) File data After receiving the complete file data (determined by the filesize), the client terminates the connection. The starred fields (*) are only required when downloading an ad banner. In other cases, they should be set to 0. Version 1 of BNFTP actually has a version of 0x100 (256). |
Battle.net v1
Battle.net v2
emNet
PvPGN
RBNETD
|
Site scripts and design copyrights reserved to Don Cullen.
Contents copyrighted to Blizzard and their parent corporation, Vivendi.
Main credits for contents goes to Arta. View the rest of credits.
Demented Minds copyrights reserved to Don Cullen 2003-present.
Copyright infringements will be prosecuted to the fullest extent allowable by law.
Please view our legal disclaimer and terms of service.
User Comments
For detailed questions and discussion, visit the Battle.net Research Forum
Jul 08, 2010
03:03 AM
Why would the unknown be padding and not part of the header length making it a DWORD? It makes no sense for it to be padding if this is a header.
Oct 02, 2011
07:26 PM
Why would the protocol version be 0x100 (256)? They probably are using big endian instead of little endian, and the version is probably 0x01 (1).