-
v0.6.0
Stablereleased this
2026-07-30 21:35:39 -05:00 | 242 commits to main since this releaseAdded
-
Classic Rift is crawled as its own pass, publishing
champion-counters-classic.json. op.gg serves the mode under
type=classic, and the pass reuses everything except that parameter and the
output paths — same region, tier, coverage floors, pacing and time budgets —
so the classic file describes the same population as its ranked counterpart.It is a separate file rather than extra rows, and that is forced. op.gg
keys classic pages by BASE champion id:champion_id: 24is Jax in both
queues, measured on two different kits. Merged into one map they would collide
on the key and one would silently win.Classic is the cheaper half by a wide margin — 81 (champion, role) pairs
against ranked's ~272 — so it runs second, where a short budget costs the
ranked artifacts nothing. Its outcomes get their own publish streaks, because
its file goes stale independently of theirs. -
A classic rune extractor (
opgg/classic-runes-page.ts), not yet wired to
an artifact. Classic Rift restores the pre-2017 rune system, which is a
different data model rather than a variant: no paths, no keystone, no shards,
just a flat multiset of Marks, Seals, Glyphs and Quintessences held in
quantities. op.gg serves it from the same runes page underclassic_runes,
with775xxxids and a win COUNT rather than a rate, normalised to a percent
on the way out to match the other artifacts. Verified against live pages.
Fixed
buildTierListUrlomittedtype, which would have made the classic crawl
describe ranked champions. The tier lists are the index both op.gg crawls
run off, and op.gg defaults the parameter torankedwhen it is absent — so
the ranked pass was correct by luck. A classic pass would have discovered the
RANKED universe and then gone looking for those champions on classic pages,
producing a classic-labelled artifact full of the wrong roster. That is a
wrong file rather than an empty one, which is the failure this codebase is
built to avoid. Found before the classic pass ever ran.
Notes
Two things op.gg does not publish for this mode, established by sampling every
role: masteries (legacy_masteriesis an empty array on every page) and
synergies (play: 0, and the page itself says the sample is too small).
Neither is crawlable, and neither is a gap on this side.Classic data is also not segmented by rank: the
tierparameter is accepted
and discarded, withiron_plus,challengerand a deliberately invalid value
all returning byte-identical rows. The published file therefore describes all
ranks, and a later release should stop labelling itgold_plus.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-