What are modules
Game modules, game packs, and how to add a game to your instance.
A game module knows one game. It knows how a match reaches the players, how a result reaches Auto Tournament, and what the app should show while that happens.
The core of Auto Tournament does everything else: teams, players, brackets and pairings, the web app, the API, sign-in, ratings and live updates. None of that knows what game you play.
The modules
| Module | What it does | Games |
|---|---|---|
| CS2 | Talks to the game servers. Loads the match, reads every round, records the result and the demo. | Counter-Strike 2 |
| Manual reporting | No server to talk to. A captain reports the score, the opponent agrees, an admin settles a dispute. | Every game you add as a pack, and any game you find through search |
Besides the games there are add-ons. They're features that aren't a game. They're built in, and you turn them on and off on the Modules page. The first one is the Discord bot.
Modules and game packs
There are two different things here, and it helps to keep them apart:
- A module is code. Manual reporting is built into the app. CS2 is a code module you install from the catalog: it is signed by Auto Tournament, and the image carries a copy, so it installs without internet.
- A game pack is a file. It describes one game (its name, its tile, which stats a captain fills in, and which account its players need) and runs on the manual reporting module. It contains no code, which is why you can add one from anywhere.
A fresh install has no games. The first admin adds them from the catalog, either when creating the first tournament or on the Modules page. An install upgraded from 2.x with CS2 tournaments gets the CS2 module on its first start. To install the image's game packs without clicking, set PREINSTALL_PACKS.
Add a game
Open Modules in the admin menu.
- Games lists every game this instance runs and the ones you can add, CS2 included. Click Install on one.
- Browse lists the games in the community list, Auto-Tournament/packs. Pick one and click Add. Nothing is fetched until you open it.
- Import a pack takes a pack file you already have. Pick the
.jsonfile and its.svgtile together.
The game then shows up in the tournament setup like any other.
Want a game that is not in the list? A pack is a short JSON file and a square SVG. The packs repository explains the format; open a pull request there and every instance can add it.
Games that need an account
A pack or module can say which account its players need, for example Steam for Counter-Strike 2 and Dota 2, or Epic Games for Rocket League and Fortnite. Turn that sign-in method on in Settings → Sign-in, or players cannot connect the account. See Games that need an account.
Which module runs a tournament
What decides which module runs is the game you pick when you create the tournament. Pick Counter-Strike 2 and the CS2 module runs it: you get the Servers page, map pools, the veto and live scores. Pick Rocket League and manual reporting runs it: no servers, no maps, and a report form on each team's match page instead.
The app follows that choice everywhere. An instance running Rocket League has no Servers page in its menu, no map pools and no server card on its dashboard: those belong to CS2, and CS2 is not the game running.
What the CS2 module needs
The CS2 module is the only one with anything outside Auto Tournament, because it is the only one that talks to game servers:
- Ready Up, the native CS2 plugin, on each CS2 server.
- CS2 Server Manager, a tool that installs and runs CS2 servers on one Linux machine. Optional, and the easiest way to get servers: linked to the platform, it creates and starts them for you.
Manual reporting needs nothing at all. See Manual reporting.
What 3.0 changed
- The core no longer contains CS2 code. Everything that knows about Counter-Strike 2 (servers, maps, the veto, round events, demos) is in the CS2 module. The core runs a whole tournament without it.
- Manual reporting is a second module, so games Auto Tournament cannot watch are first-class: the bracket moves on, ratings change and Swiss pairs the next round exactly as they do for CS2.
- The app follows the game. Pages, menus and dashboard cards that belong to one game only appear when that game is the one running.
- Games are installed, not built in. CS2 is a signed module from the catalog; every other game is a pack you can add or remove.
- New name everywhere. The Docker image, repository and log lines moved from "MatchZy Auto Tournament" to "Auto Tournament".
Tournament formats
Single elimination, double elimination, round robin, Swiss and shuffle are not modules. They are part of the core and work with every game. See Tournament formats.