Difference between revisions of "JAGGRAB Protocol"
(New page: The JAGGRAB protocol is used to 'grab' cache files from the file server and download them. It is a text protocol, similar to HTTP, and the client will fall back to HTTP if JAGGRAB is unav...) |
Peterbjornx (talk | contribs) m (→Files) |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | == Introduction == | ||
+ | |||
The JAGGRAB protocol is used to 'grab' cache files from the file server and download them. | The JAGGRAB protocol is used to 'grab' cache files from the file server and download them. | ||
− | It is a text protocol, similar to HTTP, and the client will fall back to HTTP if JAGGRAB is unavailable. This generally happens in unsigned mode. | + | It is a text-based protocol, similar to HTTP, and the client will fall back to HTTP if JAGGRAB is unavailable. This generally happens in unsigned mode and helps users who are behind firewalls. |
== Request format == | == Request format == | ||
Line 8: | Line 10: | ||
JAGGRAB /path/to/file | JAGGRAB /path/to/file | ||
+ | |||
+ | === New engine === | ||
+ | |||
+ | In (perhaps all) new engine clients, the client prefixes the JAGGRAB request line with a single byte (value 17). | ||
== Response format == | == Response format == | ||
The response is simply the raw file data. Once the response is sent, the connection is closed. | The response is simply the raw file data. Once the response is sent, the connection is closed. | ||
+ | |||
+ | == Files == | ||
+ | |||
+ | There are a number of files which map to files in the cache. | ||
+ | |||
+ | * '''/crc''' - the CRC table | ||
+ | * '''/title''' - cache 0, file 1 | ||
+ | * '''/config''' - cache 0, file 2 | ||
+ | * '''/interface''' - cache 0, file 3 | ||
+ | * '''/media''' - cache 0, file 4 | ||
+ | * '''/versionlist''' - cache 0, file 5 | ||
+ | * '''/textures''' - cache 0, file 6 | ||
+ | * '''/wordenc''' - cache 0, file 7 | ||
+ | * '''/sounds''' - cache 0, file 8 | ||
+ | |||
+ | NOTE: the client will usually postfix these with random numbers, so when checking for the file only the start of the string should be examined: not the whole one.<BR> | ||
+ | NOTE: The crc is postfixed with the client revision |
Latest revision as of 08:22, 22 October 2009
Introduction
The JAGGRAB protocol is used to 'grab' cache files from the file server and download them.
It is a text-based protocol, similar to HTTP, and the client will fall back to HTTP if JAGGRAB is unavailable. This generally happens in unsigned mode and helps users who are behind firewalls.
Request format
A request is simply the text JAGGRAB, a space, the path to the file and a newline character. Therefore, it is very similar to a HTTP/0.9 GET request.
JAGGRAB /path/to/file
New engine
In (perhaps all) new engine clients, the client prefixes the JAGGRAB request line with a single byte (value 17).
Response format
The response is simply the raw file data. Once the response is sent, the connection is closed.
Files
There are a number of files which map to files in the cache.
- /crc - the CRC table
- /title - cache 0, file 1
- /config - cache 0, file 2
- /interface - cache 0, file 3
- /media - cache 0, file 4
- /versionlist - cache 0, file 5
- /textures - cache 0, file 6
- /wordenc - cache 0, file 7
- /sounds - cache 0, file 8
NOTE: the client will usually postfix these with random numbers, so when checking for the file only the start of the string should be examined: not the whole one.
NOTE: The crc is postfixed with the client revision