Auto Tournament 3.0.0-beta.14
A pre-release on the way to 3.0. Docker tags: :3.0.0-beta.14 and :next. Stable installs
on :latest do not get it.
The big change in this beta: the platform can now run matches on Ready Up servers over a
live link, and look after the machines they run on through CS2 Server Manager. Servers
that crash are recovered from the last round, servers are started and stopped to fit the
bracket, and a new machine joins with one command. Your existing servers keep working as
they are.
New: Ready Up servers play matches
- Matches over the fleet link. A Ready Up server keeps one connection open to the
platform. The platform assigns matches over it (teams, maps, veto sides, rules), sees the
live state and events, and sends admin actions back. No RCON, no webhook URL and no
per-server token to paste. - Mixed pools. RCON servers (the Auto Tournament CS2 plugin) and Ready Up servers live
side by side. Turn on Use for matches for a Ready Up server on the Servers page and it
joins the pool. If a server is busy or doesn't answer, the next one gets the match. - Admin buttons work the same. Pause, unpause, start, change map, swap teams, say,
restart the round or the map, end the match and practice mode all work on Ready Up
servers. Raw console commands are for root admins only (anADMIN_STEAM_IDSoperator or
an admin API token), and every command is audited. - A new connect password per match, shown to the roster and to admins, never stored in
configs or logs. - Players connect to the right address. The platform uses the server's public address
(from Ready Up, or the address the link comes from), never the machine's hostname. Admins
can set the address by hand on the Servers page. - Push lists and settings. Servers page → Fleet settings: the in-game admin list
(website admins plus extra in-game admins), fleet-wide server settings with per-server
overrides, whitelist, practice switch and plugins. Servers get the latest copy when they
reconnect. - Roster editor for running matches. Match details → Admin controls: add, remove or
substitute a player, or rename a team, while the match is loaded or live. Substitutes keep
their role. - Demos stream while they record. Ready Up sends the demo to the platform over the link
as it records, resumes after a disconnect and checks the result with a hash. The demo shows
up on the match page like an uploaded one. The server stays reserved until its demos are in. - Round backups and restore. Every round's backup is stored on the platform. Match
details → Round backups: pick a map and a round and restore to it. It works for RCON
servers too, so both kinds are restored from one place. Backups are kept 14 days after the
match ends (FLEET_BACKUP_RETENTION_DAYS).
New: automatic by default
-
Failover. When a Ready Up server dies or hangs mid-match, the platform restarts the
match from the last round backup:- If the machine runs CS2 Server Manager, it restarts that server first and resumes the
match there, at the same address. - Otherwise the match moves to a free server, with a new password. Players see "the match
moved" and the new address on the match page. - If no server is free, it creates one through CS2 Server Manager, or waits and tries
again on every pass.
A spare server is kept free for this (1 once two servers are online). Nothing happens
between maps or after the series. Match details has a Failover panel to see what
happened, move a match by hand, or leave it. Turn it off, or turn off the CS2 Server
Manager steps, on the Servers page. - If the machine runs CS2 Server Manager, it restarts that server first and resumes the
-
Automatic scaling. On machines linked through CS2 Server Manager, the platform starts
stopped servers when the bracket needs them, creates a new one when it runs short (up to 4
per machine, only with 3 GB RAM and 5 GB disk free), and stops idle ones after 10 minutes.
It never stops a busy server and never forces anything. Servers are never deleted. The
Servers page → Automatic scaling shows what it did and why. On by default. -
CS2 and Ready Up updates wait for idle servers. An update that would interrupt a match
asks for a reason first, or offers Only the idle servers.
New: Machines
- Add a machine with one command. Servers → Machines → Add machine shows one
command,csm link <platform-url> <code>. Run it on the machine and it connects. No SSH and
no open port. - Each machine shows CPU, RAM, disk, the CS2 build, every server with its Ready Up version and
health, and recent actions and health events. - Buttons: create one or several servers, start, stop, restart, update CS2, update Ready Up,
hold or release automatic updates, rotate the token, revoke. New servers get Ready Up and
join the link by themselves.
This needs CS2 Server Manager 1.12.0.
New: webhooks and a teams API
- Settings → Webhooks. Signed
POSTs to another website when a match is ready, goes
live, starts or ends a map, changes score, finishes, is cancelled or reset.match.ready
carries the server address, password and asteam://connectlink, so an event site can
show a "connect now" banner. Retries for about 16 hours, a delivery log with resend, test
events per type, and SSRF protection (private addresses only when you allow them, for LANs). - Teams API (
/api/integrations/teams): an event site pushes its teams with its own IDs,
one at a time or 500 per call, and gets those IDs back in the webhooks. New token scope
API_TOKENS_INTEGRATOR. - Docs: Webhooks and teams API and
docs/WEBHOOKS.md(signature checks in Node, PHP and Python).
New: license
- Accept the terms once. The first admin to open the admin UI says whether the instance
is used non-commercially (free) or commercially (you need a license), then types
I AGREE. Only the admin UI waits for this; public pages, players, the API and running
matches never do. Settings → License shows who accepted and when, and Change accepts
again. - For unattended installs, set
AT_ACCEPT_LICENSE=noncommercialorcommercial, and
optionallyLICENSE_KEY. - License key (Settings → License). Paste a key and the platform checks it offline and
shows who it is licensed to, the tier, the number of servers and how long updates are
covered. Every server counts, including spare, practice and test servers. Nothing is ever
blocked or turned off: every problem is a warning. Translated into all 10 languages. - The key and the declared use reach your game servers by themselves. CS2 Server Manager
picks them up on its next update-hold poll and hands them to Ready Up.
Also new
- Players can call an admin.
.admin [message]in game shows a red card with the player,
team, message, server and match on every admin page, until someone marks it resolved. Works
from RCON and Ready Up servers. - Map types. Every CS2 map has a type (defusal, hostage, wingman, arms race, deathmatch,
other). The Maps page is split by type, Workshop maps get their type from their tags, and a
tournament can be limited to one type. - Public compatibility page at
/compatibilityshowing whether Ready Up works on the
latest CS2 build. Off unless you setCOMPAT_INGEST_TOKENorCOMPAT_FEED_URL. - The Ready Up update check reads real versions, pre-releases included.
Fixed
- The black bar at the top of the page (since beta 13) is gone.
- Adding a player whose Steam ID already exists says so, instead of a database error.
- Built-in games keep their own identity: Valve's Deadlock no longer shows a 2016 game called
"Deadlock". Rows that picked up the wrong game are reset on start. - "Update all" in the catalog shows every update as running and locks every row.
- A standalone match with auto-allocate no longer stays in
readywhen its only server is
still waiting for the last demo. It takes the server as soon as it is free. - Player stats for accounts without a player record (test data, ad-hoc rosters) no longer stop
the stats of the real players in the same match.
Changed / breaking
- IGDB is removed. Game search uses Wikidata only and needs no keys. Game covers are no
longer shown. Your IGDB / Twitch credentials stay in the database, unused; you can remove
them. Games you already added keep their link to their pack. - The "Popular here" row in the game picker is gone.
- Admins see the license step once after upgrading (see above).
Upgrading from beta 13 (or 2.4.x)
docker compose pull && docker compose up -don the:nexttag. Database changes run on
start and only add things: new tables (cs2_fleet_*,cs2_match_live_state,
cs2_match_round_backups,webhook_*,team_external_ids,admin_calls,compat_runs
...) and new columns (cs2_maps.game_mode,cs2_servers.transportdefaulting torcon,
cs2_servers.host_override). Nothing is dropped.- Your servers keep working as they are. Every existing server stays on RCON with the
Auto Tournament CS2 plugin 2.0.0 or newer. Ready Up servers are added next to them. - If you run your own reverse proxy, allow WebSocket upgrades on
/api/fleet/ws(servers)
and/api/fleet/host(machines). - CS2 Server Manager: update to 1.12.0 for Machines,
csm link, auto-scaling and the
failover restart. 1.11.0 is enough for the update-hold poll and the license hand-off. - The admin who opens the admin UI first after the upgrade accepts the license terms once.
SetAT_ACCEPT_LICENSEif nobody should see that step.
Known limitations
- Beta. The fleet link has been play-tested with bots on test servers; matches with
human players are still being checked. Keep a known-good setup for anything that matters. - Failover, auto-scaling, streamed demos and the roster editor are for Ready Up servers.
RCON servers work as before. - Changes to a team during a running match don't reach the server by themselves: use the
roster editor. - Any admin can force a disruptive action during a match (with a reason, audited). There is
no separate root-admin role yet. - Machines: no log view yet, no "remove server" or launch arguments in the UI, and the panel
refreshes every few seconds rather than live. Its new strings are English in other
languages for now. - No CS2-build check for Ready Up servers on the platform yet (Ready Up checks itself).
Docker Images
ghcr.io/auto-tournament/auto-tournament:3.0.0-beta.14sivertio/auto-tournament:3.0.0-beta.14sivertio/matchzy-auto-tournament:3.0.0-beta.14ghcr.io/auto-tournament/auto-tournament:nextsivertio/auto-tournament:nextsivertio/matchzy-auto-tournament:next
Pull Command
docker pull ghcr.io/auto-tournament/auto-tournament:3.0.0-beta.14Docker Hub / GHCR
- https://hub.docker.com/r/sivertio/auto-tournament
- https://github.com/orgs/Auto-Tournament/packages/container/package/auto-tournament
Platforms
linux/amd64(Intel/AMD 64-bit)linux/arm64(ARM 64-bit, e.g., Apple Silicon, AWS Graviton)
Quick Start
docker compose -f docker/docker-compose.yml up -dSee Getting Started Guide for full setup instructions.