add osrs-tcg-highscores (osrsthecardexchange)#14237
Merged
runelite-github-app[bot] merged 2 commits intoJul 25, 2026
Merged
Conversation
|
New plugin |
|
This plugin requires a review from a Plugin Hub maintainer. The reviewer will request any additional changes if needed. Internal use only: Reviewer details Maintainer details |
CompilerOfDust
force-pushed
the
tcg-highscores
branch
from
July 24, 2026 04:00
c1363af to
3e2340b
Compare
Points at 8718630, which defaults uploading to on but gates the first upload on a disclosure the player accepts in chat with ::tcgaccept. RuneLite's warning only fires on an off-to-on toggle, which a default of on never triggers, so the plugin prints what it sends and waits for consent instead.
runelite-github-app
Bot
merged commit Jul 25, 2026
abb0ff5
into
runelite:master
2 of 3 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Card Exchange Highscores, a community plugin that uploads the card
collection stored by the
osrs-tcgplugin toosrscardexchange.com.
Repo: https://github.com/CompilerOfDust/osrs-tcg-highscores-thecardexchange
Not affiliated with the
osrs-tcgplugin or its authors. This is a separateproject that reads the collection that plugin saves. Issues with it belong on
this repo, not theirs.
Why it uploads anything
The OSRS TCG plugin keeps a collection inside the player's own client, so
nothing outside RuneLite knows what anyone owns. That upload is what makes the
site's features possible at all:
alongside an existing total-level board. Without the upload there is no data
to rank.
exchange can be shown as backed by a collection that actually contains the
card being offered, rather than taken on trust.
What it sends, and when
uploadEnableddefaults tofalsebehind aConfigItem(warning = ...), so the third-party-upload disclosure is shown andaccepted before anything leaves the client.
packs-opened and credits. Nothing else — no position, no inventory, no
equipment, no chat, no other game state.
a heartbeat at most every 15 minutes. An idle player generates no requests.
Failures back off;
401/403pause uploads for the session rather thanretrying every tick.
It reads another plugin's config group
The one thing that will look unusual in the diff, so stating it plainly: it
reads
osrs-tcg's RSProfile-scopedosrstcgconfig group (stateandhash)through the shared
ConfigManager.load(), whichhas migration side effects that write config keys and disk files.
osrs-tcg's own cross-pluginPluginMessageAPI (query-owned-names), which returns names only, and marksthe payload as partial.
pulledByprefixedDEBUG_) are stripped beforeupload, matching what
osrs-tcgexcludes from its own public share.This is documented in the README, including why the save format is duplicated in
TcgStateBlobCodec— Plugin Hub loads each plugin in its own classloader, so thesource class can't be imported.
Build
build=standard. No third-party dependencies — onlyrunelite-client(compileOnly), Lombok and JUnit, so nothing needs dependency verification. 13
unit tests cover the save-format decoding and the change-detection hashing.