diff --git a/Categories.mediawiki b/Categories.mediawiki index ff8b26d..e58b757 100644 --- a/Categories.mediawiki +++ b/Categories.mediawiki @@ -1,5 +1,6 @@ The following categories contain pages or media. +* [[Category Cache]] (1 members) * [[Category Data Type]] (3 members) * [[Category Packet]] (91 members) * [[Category Packet 194]] (4 members) diff --git a/Category-Cache.mediawiki b/Category-Cache.mediawiki index 41043c7..a905efc 100644 --- a/Category-Cache.mediawiki +++ b/Category-Cache.mediawiki @@ -2,4 +2,8 @@ == '''JAGGRAB Protocol''' == -== '''Ondemand Protocol''' == \ No newline at end of file +== '''Ondemand Protocol''' == + +== '''Pages in category "Cache"''' == +The following 1 pages are in this category. +* [[JAGGRAB Protocol]] diff --git a/JAGGRAB-Protocol.mediawiki b/JAGGRAB-Protocol.mediawiki new file mode 100644 index 0000000..7a244c9 --- /dev/null +++ b/JAGGRAB-Protocol.mediawiki @@ -0,0 +1,38 @@ +[[Category Cache]] + +== 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 \ No newline at end of file