RS Cache Downloader (RSCD)
Update November 28th, 2012: Updated the protocol and fixed a logic error.
Update October 25th, 2012: Updated the protocol.
Update February 17th, 2012: Added support for a larger range of files.
Update January 7th, 2012: Modified the protocol to be consistent with the newest clients.
Update November 15th, 2011: Updated the protocol to be consistent with the current client. Currently, the tool assumes that the minor version number will always be 1. If this isn't the case, it will fail to identify the correct client version. Please let me know if this happens so that I can address this issue.
Update August 31st, 2011: Updated the ReferenceTable class to mirror the functionality in the newest client.
Update December 22nd, 2010: Made a small change to the ReferenceTable class that fixed an issue I created when rewriting it. Also, a change was made in CacheDownloader to allow for the downloading of the contents of index 35 when it's finally used.
Update December 6th, 2010: Made a small update to the ReferenceTable class to eliminate the use of null Entry objects.
Update December 4th, 2010: Uploaded the files again, since they were removed for some reason. I've replaced the Whirlpool class and rewritten the ReferenceTable class also.
Update November 26th, 2010: Fixed a bug that was introduced during testing that caused the program to stop after a timeout instead of reconnecting.
Update November 25th, 2010: Updated it to work with the latest clients (629+) and replaced CacheIndex with FileStore. Thanks light232 for some sample code using the FileChannel class.
Update August 25th, 2010: Updated it to work with the latest clients (615+)
Update August 20th, 2010: Added the capability to update from a previous cache instead of downloading the entire cache again.
This is a tool I recently updated and rewrote that will request and download the cache from the RS servers just like the client does. However, this manages to download the entire cache much faster than the client, since the client does this passively as it is running the game. From my tests, it is able to download the entire cache in just under thirty minutes.
I've tried to document what each class and method are responsible for, with the exception of the class that hashes the data using the Whirlpool algorithm. If you have any questions, comments, or improvements you'd like me to be aware of, feel free to post in this thread. Enjoy!
good job method.
now i must do a thread which checks if rs updated
nice job method
Good job, thanked!
Method do you by any chance know the 525 NPCDef class in the client?