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