A neat addition to the proxy tool is the ability to replay any old binary, allowing people to see exactly what went down. Since this would be happening through the proxy tool itself, it could also transcribe the events on the UI as they are happening, effectively not any different from just logging into the live game.
In order for session replays to work, we need to cross off a few milestones:
[ ] Ability to download historic cache in full. The proxy tool already supports downloading individual cache files in order for the decoding to successfully take place, but for replays, we need the caches in their entirety. For this, we may need to rework the way the cache downloaders work, as they are currently made to download sequentially, one file at a time - not in batches as we'll need.
[ ] A simple backend server that allows us to fake the communications with the client. Rather than the proxy communicating with the Old School servers, it would be communicating with the locally-hosted server. This server will feed any JS5 files as well as send packets at the exact intervals as they were originally sent. Any packets that the replay client sends to the server will simply be discarded.
These clients and caches should be downloaded upon selecting a binary to replay, assuming the files don't already exist. Once the download completes, a backend server is launched with the provided JS5 cache, and the client is launched. Fake Jagex Account credentials would be passed into the application, creating a simple "Play now" button, with "Replay" as the name, upon the client loading up.
RuneLite would only be supported for binaries which are currently up to date - this is because of their HTTP API and other similar problems. It would be a challenge to keep historic functional RuneLites around. For any historic binary, the native client will be offered. It is currently unclear how the native client reacts to the reflection checker packet - those may need to be excluded from sending out if it results in crashes.
A neat addition to the proxy tool is the ability to replay any old binary, allowing people to see exactly what went down. Since this would be happening through the proxy tool itself, it could also transcribe the events on the UI as they are happening, effectively not any different from just logging into the live game.
In order for session replays to work, we need to cross off a few milestones:
These clients and caches should be downloaded upon selecting a binary to replay, assuming the files don't already exist. Once the download completes, a backend server is launched with the provided JS5 cache, and the client is launched. Fake Jagex Account credentials would be passed into the application, creating a simple "Play now" button, with "Replay" as the name, upon the client loading up.
RuneLite would only be supported for binaries which are currently up to date - this is because of their HTTP API and other similar problems. It would be a challenge to keep historic functional RuneLites around. For any historic binary, the native client will be offered. It is currently unclear how the native client reacts to the reflection checker packet - those may need to be excluded from sending out if it results in crashes.