Live via real-time presence — updates on its own as people open/close the site, nothing to refresh. Self-reported by the visitor's browser (same soft-trust model as the rest of the site), so treat it as a good estimate, not an audited count.
For when Supabase's signup email is rate-limited (or a player just can't get it) — creates their account already verified, no email involved. Get their desired username + email (Discord/FB DM works), create it here, then send them the sign-in link this returns.
Edit any event's Name, Date, Time, etc. below, then hit this button — that's the only step needed to make it live.
Kills + points per round (Best of 3) for one tournament's bracket — the live site shows one bracket at a time. Picking a different tournament here doesn't touch the others' data, it's just which one is currently on display.
Publishing here only takes effect once you Generate and then 🚀 Publish to GitHub (or Download and commit manually) below. Do that first and confirm the live site shows it — then use "Notify players" below. Notifying before the publish is live sends players to a stale or empty board.
Only players who registered in-app for the selected tournament get notified — the squad names typed into the table above are for display only and may not exactly match who's in that list (see SUPABASE_SETUP.md's "Known gap").
Once these scores are truly final, click this to permanently save each squad's placement/kills/points (and any prize won) to player career stats — this is what powers player profiles, rank tiers, and career totals. Safe to re-run if you correct a score before moving on to a new bracket; it overwrites this tournament's archived rows rather than duplicating them.
Generates a hype/roast-style recap (English + Nepali) from a tournament's archived results — archive results above first. Admin-triggered only, never automatic: tries Groq first, then Gemini and other configured providers, so it isn't limited to one free tier's small daily quota. Review the output here and edit freely before sending anything.
Copies the recap into Send Announcement below (title pre-filled), where you can still edit it and pick who it goes to before it actually sends.
ZULU's AI council independently judges pending items and votes — shown here as a majority verdict with each model's reasoning. Payment approval, report/ban, and anomaly-flag triage NEVER happen by themselves: Confirm calls the exact same approve/dismiss/ban actions you'd use manually elsewhere on this page, and you have to look at the actual evidence before Confirm unlocks. Cancel-tournament is the one exception — a free/low-turnout tournament with no financial stakes gets cancelled and published automatically when the council agrees, no click needed (you can turn this back to recommend-only via AUTO_EXECUTE_CANCEL_TOURNAMENT in zulu_secrets.py). You still get a Discord DM and a history entry below for every auto-cancel, same as everything else here.
Cancellations ZULU already executed on its own — informational only, nothing to confirm here.
Pick the event, enter the Room ID + password, then either send it right now or stage it — a staged code releases itself to everyone registered in-app ~5 minutes before kickoff, nobody else can see it either way.
Anyone who was confirmed/approved for a tournament can leave a public star rating + comment once it's marked "completed" — no pre-approval queue, but you can remove an abusive or spam one here after the fact.
Players can report a squad/player (with an optional evidence link) for anything — emulator misdeclaration, cheating, no-shows. Reports are never public; only a ban resulting from one shows up on the public ban list.
Banning someone here (via a report above, or directly) actually blocks their account from registering for future tournaments — not just a name on a page. The list itself (tag/username, reason, date — never contact info) is public.
When you archive results, any squad whose kills spike well past their own season average (needs at least 2 prior appearances to judge) gets flagged here automatically. This never bans or blocks anyone by itself — it's just a "look at this" signal. Review the replay/context yourself, then use Reports/Ban List above if action is warranted.
Write anything and send it — leave "Only send to" blank to reach every player on the site, or list a few to reach just them.
Screenshot-verify paid in-app registrations before they count as registered — pending players don't get room codes, reminders, or results notifications until you approve them here. Uses the passcode you entered to open this page.
Subscribes THIS device to a push alert every time someone new signs up on the site, naming their username. Needs the same OneSignal + ADMIN_SECRET setup as Room Codes, plus a one-time Supabase Database Webhook — see SUPABASE_SETUP.md.
Only needed if the "🚀 Publish changes" button above fails — e.g. if it reports a GitHub error. Click Generate JSON, then either retry 🚀 Publish to GitHub here or Download and replace tournaments.json in GitHub yourself.