Ribbit: Difference between revisions
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
==Commands== | ==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 rate limiting in place, so don't spam requests too often (just summary should be enough for most usecases). | 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). | ||
{| border="1" cellpadding="2" style="background:#FCFCFC; color:black" | {| border="1" cellpadding="2" style="background:#FCFCFC; color:black" |
Revision as of 23:31, 30 July 2018
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. |