Simulation mode
Test a full tournament with bots instead of real players.
In simulation mode, every match is played by bots. The veto is done automatically. Use it to test your servers, your bracket and your settings before an event.
Only use simulation mode on a test install. It changes how every match on the install is played.
What you need
- A test install of Auto Tournament.
- At least one CS2 server with Auto Tournament CS2 (formerly MatchZy Enhanced), added on the Servers page.
- Teams, or players for a shuffle tournament. The players do not need to be real Steam accounts that join.
Turn it on with the Docker image
Simulation is off in production builds. The published Docker image does not show the Developer / Simulation tab in Settings, so you allow simulation with an environment variable and switch it on with the API.
Recreate the app container
docker compose up -d --force-recreate matchzy-tournamentCreate an admin API token
Add an admin token to API_TOKENS in .env and recreate the container again. See API.
Switch simulation on
curl -X PUT http://localhost:3069/api/settings \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"simulateMatches": true, "simulationTimescale": 2}'Send {"simulateMatches": false} to switch it off again.
Turn it on with a build from source
The local build shows the Developer / Simulation tab and a Dev Tools page, and it allows simulation already.
Clone the repository
git clone https://github.com/Auto-Tournament/auto-tournament.git
cd auto-tournament
cp example.env .envFill in .env
Set SESSION_SECRET, SERVER_TOKEN and STEAM_API_KEY in .env.
Build and start
docker compose --env-file .env -f docker/docker-compose.local.yml up -d --buildThe local build does not keep the database in a volume. Your data is gone when you remove the containers.
Switch simulation on
Open Settings > Developer / Simulation and turn on simulation.
Speed
Simulation Timescale sets how fast the bots play, from 0.1 to 10. Values above 2 can make bots act strangely. Speeds above 4 need the CS2 plugin 1.4.25 or newer. The value is sent when a match loads, so a change only affects matches that load after it.
For a fast test bracket, create the tournament with Max Rounds per Map set to 4 and overtime set to Disabled – no draws (damage tiebreak). Every map then ends after at most 4 rounds and always has a winner.
The timescale does not change the wait after a series ends. The plugin keeps the server for a while before it resets, and the next match on that server loads after the reset. To keep this short, simulated matches load with mp_match_restart_delay 10, a 10 second series-end kick delay and tv_delay 0, so the demo stops and uploads right away. Real matches keep your own settings.
Start over
On a build from source, Dev Tools has Reset Simulation State. It deletes all matches and stats, and keeps servers, teams, maps and the tournament setup. Then you can start the same tournament again.