Commit graph

8 commits

Author SHA1 Message Date
0af93d1eab Rank log: inactive ranks (Guardian) count as promotions to and from, demotion when lost; Guardian is staff 2026-09-29 17:19:53 +01:00
611b79cdba Public rank change log: sa_rank_log, written on rank changes, listed on the Staff page 2026-09-29 16:56:37 +01:00
861692c534 Staff avatars from Steam, cached in memory
The public staff page, the staff panel's staff list and the signed-in badge show each member's
Steam avatar over their initial. The panel fetches it from the profile XML (no Web API key),
keeps it in memory for a day (failures for an hour, one shared fetch per player) and serves it
from /avatar/<steamid> with a day's browser caching, so the CSP stays img-src 'self' and
visitors never contact Steam. Only SimpleAdmin admins are served; anything else falls back to the
initial.
2026-09-28 11:36:05 +01:00
6324fc7f81 Names on offline penalties, mobile menu close, player drawer tidy, IP-ban bypass flag
Bans and comms saved without a player name (SimpleAdmin's offline css_addban etc.) show the
player's latest name from sa_players_ips, and the panel writes that name onto new rows it claims.
The mobile sidebar closes from a Close button, the backdrop or Escape, since it covers the Menu
button. The public player drawer drops "Right now" and "Free to play and talk." and puts the
Steam profile link after the SteamID. Adds @css/bypassipban to the permission checkboxes.
2026-09-28 11:23:14 +01:00
657ead4c5a Add optional name history migration for sa_players_ips
SimpleAdmin upserts sa_players_ips on (steamid, address), so a rename on
the same IP overwrites the old name. sql/players-ips-name-history.sql adds
name to the primary key (binary collation, NOT NULL), so every name a
SteamID joins with is kept and shows on its player page and in name
search. SimpleAdmin's IP cache keeps only the newest row per IP, so its
multi-account and IP-ban checks are unchanged. The file includes a revert.
2026-09-27 15:37:37 +01:00
b579941964 Scoreboard: label warmup and round scores, count players and bots per team
The score caption says "Warmup, no rounds yet" during warmup and "Rounds
won, T vs CT" otherwise. Each team panel on the public page shows its
player and bot count, and its score as rounds won, or a Warmup label
during warmup. The top navigation scrolls sideways on narrow screens
instead of overflowing.
2026-09-27 15:37:37 +01:00
10694c69bc Fix live status on CS2: accept RCON output tagged with the end packet's id
CS2 tags a command's output with the id of the empty end packet when both
arrive together, and replies to the end packet with a bare \x00\x01. The
client dropped the output as stale, so the panel reported WebPanelBridge as
missing. Also log each new kind of poll failure once, and recovery.
2026-09-25 21:27:10 +01:00
4f38daf0e6 simpleadmin-web 0.1.0: web panel for CS2-SimpleAdmin 2026-09-25 20:08:14 +01:00