Ribbit: Difference between revisions

From wowdev
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 1: Line 1:
==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.  
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 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 rate limiting in place, so don't spam requests too often (just summary should be enough for most usecases).


Line 18: Line 20:
|-
|-
| v1/ocsp/'''hash''' || Check revocation status
| 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:
{| border="1" cellpadding="2" style="background:#FCFCFC; color:black"
! width="90" | Filename
! width="450" | 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.
|}
|}

Revision as of 22:27, 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 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.