Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Proxy Targets #46

Merged
merged 13 commits into from
Jan 26, 2025
Merged

Support for Proxy Targets #46

merged 13 commits into from
Jan 26, 2025

Conversation

Z-Kris
Copy link
Contributor

@Z-Kris Z-Kris commented Jan 25, 2025

Adds support for proxy targets, allowing the user to define different endpoints on-top of latest Old School RuneScape. This allows one to connect to both OSRS and RSPS at the same time, even if they are on different revisions, with live transcribing supported.

Currently, only the native client is supported for custom targets - excluding MacOS (untested, but most likely the case due to increased patching happening).

This is a work in progress and bugs may still occur. Future support for MacOS and RuneLite is desired, but it is unclear if we can accomplish that at this time.

Usage

In order to use the new proxy targets feature, one has to manually fill in the yaml file containing them.
The file is located at user.home/.rsprox/proxy-targets.yaml

Here is an example RSPS target:

config:
  - id: 1
    name: Blurite
    jav_config_url: "https://client.blurite.io/jav_local_227.ws"
    varp_count: 15000
    revision: 227.3
    modulus: d2a780dccbcf534dc61a36deff725aabf9f46fc9ea298ac8c39b89b5bcb5d0817f8c9f59621187d448da9949aca848d0b2acae50c3122b7da53a79e6fe87ff76b675bcbf5bc18fbd2c9ed8f4cff2b7140508049eb119259af888eb9d20e8cea8a4384b06589483bcda11affd8d67756bc93a4d786494cdf7b634e3228b64116d

Properties breakdown:
id - A number from 1 to 100, must be unique. This is a required property.
name - The name given to the client. Any references to OldSchool RuneScape will be replaced by this. This is a required property to ensure caches don't overwrite and cause crashing at runtime when loading different games simultaneously.
jav_config_url - The URL to the jav_config that will be used to load initial world and world list. This is a required property.
varp_count - Changes the array length used for varps in the client, the default value is 5000. This is an optional property.
revision - A revision number used to pick the client and correct decoders. The default is whatever is currently latest stable in Old School RuneScape. This is an optional property.
modulus - A hexadecimal (base-16) RSA modulus used to encrypt the login packet sent to the client. This is a required property.

@Z-Kris Z-Kris marked this pull request as ready for review January 26, 2025 12:16
@Z-Kris Z-Kris merged commit 659cdb1 into master Jan 26, 2025
4 checks passed
@Z-Kris Z-Kris deleted the proxy-targets branch January 26, 2025 12:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant