Python library for classic Battle.net client development.
For more information on available functions and classes, refer to the wiki.
bncs- handles connecting to and interacting with the Battle.net Chat Servicechat- relating to the chat environment (users, channels, flags)crev- functions and classes for handling the client version checking process - supports classic, lockdown, and simple/modern variantsget_file_meta(file)- returns the version number (DWORD) and filename, timestamp, and size of the given file, usually an EXELocalHashingProvider(root)- class which performs version checking operations from the local file system, partially interface compatible withbnls.BnlsClient()
hashing- handles CD key and password hashingKeyDecoder.get(key)- decodes a given CD/product key and identifies itNLSClient(username, password),NLSServer- client and server implementations of the 'new login system' (NLS), an SRP-based system for verifying account loginscheck_signature(sig, ip)- verifies that the signature presented by a server is valid for that server's IP addresshash_password(password),double_hash_password(password, c_token, s_token),xsha1(data)- hashes passwords and other data with Blizzard's custom SHA1 implementationlockdown_sha1(data)- hashes data using another one of Blizzard's custom SHA1 implementations
mcp- handles the Diablo 2 realm serviceproducts- contains packet ID constants and classes for reading and writing BNCS packetsutils- generic utilities (packet buffer, async TCP client)BnetClient()- handles a complete connection to the chat serviceBnetProduct.get(pid)- provides access to metadata on game clients that can connect to Battle.netBnetIconFile.load(file)- extracts game icons from an icon file (.bni)CreditQueue()- a system for delaying outbound chat messages to avoid rate limiting/flooding
bnls- the Battle.net Logon Service (3rd party)BnlsClient()- a client for interacting with a BNLS server
bnftp- the Battle.net FTP serviceBnftpClient- downloads files available through the BNFTP protocol
botnet- the Valhalla Legends BotNet service (used for inter-bot communication)BotNetClient- a client for interacting with a BotNet server