[2026] rollout support

This commit is contained in:
Devin Zuczek
2026-10-12 14:59:14 -04:00
parent 4d6a88f20e
commit a0345af765
8 changed files with 413 additions and 16 deletions
+21
View File
@@ -152,6 +152,13 @@ RECFLARE_DOMAIN=rec.example.com
# same format. Its ids are generated as `dev-1`, `dev-2`, …. Unset, sandbox accounts
# use the pool above.
# RECFLARE_TACHYON_HOST_PORT_SANDBOX=198.51.100.12:7777,198.51.100.12:7778
#
# The pool players on a build under staged rollout (ROLLOUT_GAME_VERSIONS, currently
# `20260323.14`; see RECFLARE_DISCORD_ROLLOUT_ROLE_IDS below) are served from, same format,
# ids `rollout-1`, `rollout-2`, … — the new build gets its own voice servers while it rolls
# out. A sandbox account on that build still gets the sandbox pool. Unset, rollout players
# use the pool above.
# RECFLARE_TACHYON_HOST_PORT_ROLLOUT=198.51.100.13:7777
# The Photon region every session is pinned to (`match`). Unlike the app ids above this
# does default, to `us` (us-east1) — an instance stamped with an empty region is one the
@@ -227,6 +234,20 @@ RECFLARE_DOMAIN=rec.example.com
# The binding has to resolve for `www` to deploy, so create it with a placeholder even if
# you don't want the sweep — it then does nothing. It never touches hasPlus.
# OPTIONAL: a staged rollout of a new client build to Discord supporters (`auth`). The
# Discord ROLE ids whose holders may sign in on a ROLLOUT-GATED build — currently
# `20260323.14`, listed in ROLLOUT_GAME_VERSIONS in packages/domain/src/presence-db.ts. A login
# posting that build as `ver` is refused ("this build is limited to Discord supporters")
# unless the account's Discord link holds one of these roles; every other build is never
# touched. Same rules as ROLE_IDS above: snowflakes, not names; commas, no spaces; ANY one
# qualifies. Roles come from the snapshot the benefits claim and the daily sweep keep, so a
# player has to have claimed on the website, and a role granted today opens the gate once
# the sweep runs (or they re-claim). UNSET — or parsing to no roles — CLOSES the gate: nobody
# signs in on the gated build until a role is named here. Accounts can't be CREATED on a
# gated build (a new account has no Discord link); players make one on a released build,
# link Discord at /claim, and come back.
# RECFLARE_DISCORD_ROLLOUT_ROLE_IDS=1077000000000000001,1077000000000000002
# OPTIONAL: a token gift for Discord supporters (`econ` cron). Maps Discord ROLE ids to the
# RecCenterTokens a holder is handed in a gift box EVERY TIME THE CRON FIRES, as
# `<roleId>=<tokens>` pairs. How often is the schedule's call: `triggers.crons` in