Jaguar 27 — Admin

Firebase · accounts · trials · subscriptions · bans · devices · prices · notices

Sign in

Only accounts with the admin custom claim get in. Set it with node admin_system/firebase/set-admin-claim.js your@email.

… …

Accounts

Every account that registered through the bot. A new account starts pending — press Activate to approve it (that also grants the free trial). Block locks the account immediately on its next licence check.

UserStatusPlanDays leftLast loginActions

Blacklist (blocked accounts)

Every account that is blocked. A blocked account is locked out on its next licence check: the bot stops and shows the ban message. Unblock gives the access back - the days that are left are kept, an account with no days left becomes expired instead of active.

UserBlocked atReasonActions

Devices (trial fingerprints)

One free trial per device. Reset device removes the fingerprint so the next account on that device may take a fresh trial (a customer who changed phone / browser).

DeviceClaimedAccount

Price cache (prices)

The customer script reads this collection only when the live price source is down. Key = the EA player id, value = the last known price.

IDPriceAvgRatingName

Notice (notices/current)

Shown in the bot's log on every client (once per notice). Keep it short.

Build

Where the customer script lives and what it is.

Publish a new build

# 1) bump release_version in admin_system/dist_config.json
# 2) py admin_system\build_dist.py
# 3) py admin_system\publish.py      (firebase deploy --only hosting)

The licence gate is part of the customer build: sign-up, the free 24-hour trial (one per device), the monthly subscription and the ban list all run on Firebase.