og-edopro-server-ts/src
Diango Gavidia 447d93df48
Some checks failed
PR Pipeline / build (push) Failing after 5s
Release Please / release (push) Failing after 2s
PR Pipeline / bash-resources-tests (push) Failing after 4s
feat(matchmaking): add edison to the ranked queue (#322)
Edison joins tcg and jtp as an accepted matchmaking format. Everything it
needs already existed on its own — the rule set, the ban list, the bots —
so this only wires it into the queue.

The join string rides CTOS_JOIN_GAME's fixed utf16[20] pass field as
"<token>,mm<5>#<7>", which caps a format's room token at 3 characters.
"edison" (6) does not fit. Single duels reuse the existing "ed" alias;
ranked human pairs play best-of-3, so "edm" is added to formatRuleMappings.
It spreads the shared edisonRuleSet() payload, so the MATCH variant can
never drift from "edison"/"ed" — one rule set, three tokens.

Bot fallback picks from a new edison roster wired to the three Edison bots
already shipped in the botlist. They are hidden there, kept out of the
random pool, but stay reachable by explicit name — which is exactly how the
roster requests them. Those rooms stay best-of-1: windbot cannot side deck.

The existing it.each(MATCHMAKING_FORMATS) wire-budget guards pick edison up
automatically and prove both tokens fit the pass field.
2026-08-20 06:23:50 -04:00
..
bootstrap feat(matchmaking): ranked human pairs play best-of-3 matches (#314) 2026-07-25 16:10:10 -04:00
config feat(resources): declarative manifest-driven cdb/banlist sources + ygopro pool derivation (#305) 2026-07-13 23:36:57 -04:00
edopro fix(ranking): key rank by banlist name to unify formats across paths (#318) 2026-08-05 16:51:42 -04:00
evolution-types@6c63181a66 chore(deps): bump evolution-types submodule to TypeScript 6 (#282) 2026-06-19 10:38:22 -04:00
http-server fix(matchmaking): abort incomplete room reservations (#310) 2026-07-24 09:04:52 -04:00
shared fix(ranking): key rank by banlist name to unify formats across paths (#318) 2026-08-05 16:51:42 -04:00
socket-server feat(ygopro): add ws heartbeat and app-level ping echo (#290) 2026-06-22 16:21:51 -04:00
test-support fix(ranking): key rank by banlist name to unify formats across paths (#318) 2026-08-05 16:51:42 -04:00
utils feat(genesys): move point list to lflist.conf, validate on both paths (#303) 2026-07-01 12:00:18 -04:00
web-socket-server chore: migrate from ESLint + Prettier to Biome (#283) 2026-06-19 12:23:08 -04:00
ygopro feat(matchmaking): add edison to the ranked queue (#322) 2026-08-20 06:23:50 -04:00
index.ts feat(room): join-command overhaul — pairing joins, room identity, edison bots (#319) 2026-08-10 18:12:12 -04:00