⚙ ALPHASIDE ADMIN

// RESTRICTED ACCESS ← Lobby
—
ONLINE NOW
—
ACTIVE TABLES
—
REGISTERED
—
VERIFIED
—
BANNED
OVERVIEW
🏠 Dashboard
📈 Usage
PLAYERS
👥 Players
🎴 Profiles
🚩 Reports
✉ Inbox
GAMES
🎮 Tables
🛡 Integrity
🏆 Ranked
🏟 Tournaments
🤖 AI
🎬 Replays
COMMUNITY
📰 News
📢 Broadcast
💡 Ideas
🃏 Public Squads
🗺 Maps
DEV
🐛 Bug Reports
🛠 Units
🛑 Crash Log
🔧 Maintenance
LOADING…
PERIOD
// STAFF TEAM
PLAYERLAST SEENW/L/DSTATUSACTIONS
// SEARCH PLAYER TO EDIT THEIR PROFILE
Live view — refreshes every 10 s. ⚠ = integrity events on this table (see the Integrity tab).
TABLEPLAYERSSTATUSTYPESCOREACTIONS

Integrity log

Cheat suspicions = values the server rejected or clamped (impossible dice counts, forged VP…). Desyncs = both screens disagreed at end of turn — usually a bug to report, sometimes a tampered client. Open the replay to investigate.
WHENTYPETABLEPLAYERSDETAIL

Player reports

Each report includes the recent chat of the game and a link to its replay. « Open » counts how many open reports exist against the same player. To sanction, use the Players tab (ban).

Community ideas

Set a status so players know where their idea stands — « Planned » and « Done » are announced on Discord and notify the author. Add a short staff note to explain your decision, and link the patch notes when it ships.

Write a news post / patch notes

Publishing also posts to Discord and shows a « NEW » badge to players. Each post has its own shareable page /news/<id>. Crediting players who reported bugs is the best way to keep them involved.

Who can create tournaments?

min. matches played

Community settings

Community Discord invite
Staff and players with the Organiser permission (Players tab) always create directly. Eligibility for others: Discord account, not banned, the minimum number of matches, fewer than 2 open reports. Organisers can be blocked individually.

Create a tournament

Swiss format: everyone plays every round against someone on the same score, no rematch; odd numbers get a bye (= win). Rounds auto = log2(players), at least 2. Matches use Ranked rules on reserved private tables — Elo and achievements count. The next round starts automatically when all matches of a round are done.

Elo ratings

#PLAYERELOTIERGAMESW / LPEAKACTIONS

Recent ranked matches

« Void » cancels the rating change of a match (both players) — for proven cheating, collusion or a server incident.
WHENTABLEREDBLUESTATUSACTION

Solo vs AI — balance

Target: players should win about 50 % at every AI level. Much higher → the AI is too easy at that level; much lower → too hard.
AI LEVELGAMESPLAYER WIN %BAR

Most active solo players

PLAYERGAMESWINS
SQUADAUTHORCOPIESSTATUSACTIONS

Send Message to All Connected Players

This message will appear as a popup for every player currently online.

Game Replays

All recorded games. Search by player name or map. Click Watch to review any match.
Loading...

Map Library

All published maps. Mark a map as ⭐ Official to make it available for the Random pool.
Loading...

✉ Inbox

🐛 Bug Reports

🛠 Unit Editor

Modifications are stored as overrides — original units.js stays intact. Changes are hot-reloaded to all connected players.
← Select a unit to edit

Server Crash Log

Errors caught by the server are logged here. If empty, no crashes recorded — good news.
Loading...

💾 DATA BACKUPS

Automatic every 6 h and at server start — the 14 latest are kept. Covers players, Elo, achievements, stats, maps, squads, history (not replays). Restoring first saves the current state (« pre-restore »), then restarts the server.
BACKUPFILESSIZEACTION

🏆 SEASONS

// CURRENT SEASON
—
—
How it works — Archiving moves stats + match history + all replays into archives/season-N/. The current season files are reset to start fresh. Past seasons remain consultable below.

// PAST SEASONS

Loading...

⚠ DANGER ZONE — Granular Resets

Prefer "Archive & Start New" above for end-of-season cleanup. These individual resets are destructive (no archive) — use only to fix bugs or specific data issues.
🔄 Reset All Player Stats
Wipes wins / losses / draws for every registered player without archiving. Verified badges are NOT affected.
📜 Reset All Match History
Wipes the complete match history for every player without archiving. W/L/D counts are NOT affected.
🎬 Reset All Replays
Deletes all replay files without archiving. Existing matches (W/L/D + history) are kept.
💾 Download a backup
Builds a .tar.gz and downloads it to your computer. Contains the game data, server.js and the whole public/ folder (pages, scripts, styles), plus a RESTORE.txt. Full adds replays, maps, tournament logos and the existing backups. Not included: node_modules (rebuilt by npm install) and .env (your secrets).
🔐 The last one includes your .env: Discord keys and session secret. Anyone holding that file can impersonate the site. Download it once, store it encrypted, and delete the copy in your Downloads folder. Every download of it is logged and announced on Discord.
📦 Export games for analysis
Downloads one JSON file with a summary of each game: squads, result, VP by source, every attack, and counts (garrison attacks, rescues, tactics played). Use the AI losses button to collect the games worth studying.
🏆 Reset Ladder (Elo)
Clears every rating and the rating log: all players return to placement (10 games). W/L/D, match history and replays are NOT affected.
🤖 Reset Solo vs AI Stats
Clears the solo log behind the AI balance dashboard. Use this after tuning the AI, so old games don't skew the win-rate measurement. Ranked play is NOT affected.
💡 Tip — To reset a single player only, use the "Reset Stats" button next to their row in the Players tab.