Ribbit

From wowdev
Revision as of 22:31, 30 July 2018 by Marlamin (talk | contribs)
Jump to navigation Jump to search

Description

Ribbit is a new way of retrieving version information for games, with built-in caching and message verification via signatures. Uses sequence numbers returned by the summary to indicate whether something is outdated or not.

Commands

Instead of using HTTP like the current NGDP system does, this uses TCP. Commands are to be sent to either us.version.battle.net or eu.version.battle.net on port 1119 (ending in a \r\n). Note that there is some (currently unknown) rate limiting in place, so don't spam requests too often (just summary should be enough for most usecases).

Commands Description
v1/summary Gets a list of endpoints and their current sequence number (example)
v1/product/product/versions Similar to NGDP's versions file
v1/product/product/cdns Similar to NGDP's cdns file
v1/product/product/bgdl Similar to NGDP's bgdl file
v1/certs/hash Get a certificate
v1/ocsp/hash Check revocation status

Cached messages

Cached messages can be found in C:\ProgramData\Battle.net\Agent\data\cache. Filenames are structured like command-argument(s?)-seqn.bmime. If no arguments are present, argument in filename is #. If no seqn is present, it is 0.

Examples:

Filename Description
cdn-wow_beta-14722.bmime Cached /cdns message for product wow_beta with sequence number 14722.
summary-#-32324.bmime Cached /summary message with no arguments but with sequence number 32324.
cert-5168ff90af0207753cccd9656462a212b859723b-0.bmime Cached /cert message with certificate hash as argument and no sequence number.