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
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) Banners ID*
(DWORD) Banners File Extension*
(FILETIME) Remote Filetime
(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).
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.