Field guide

How ISL works

Everything you need to play a season: the match-day path start to finish, quick answers to the small stuff, and a reference for captains and league staff.

Read this first

The match-day playbook

Read this before your first match. Working things out after kickoff is too late. Five minutes, same path every time.

1 Once · Get match-ready Set up your profile

Do this once and you're set for the season.

1
Accept your captain's invite

Open the link, enter your email, confirm the magic-link. That's your account. You can add a password later on My profile.

2
Fill in your profile

On My profile: alias, photo, country, in-game role. This is what shows on your player page and in lineups.

3
Add your SteamID

Easiest: hit Link Steam account. Or paste your steamcommunity.com/profiles/... link. It must be the numeric SteamID64 (starts with 7656); vanity /id/ URLs don't work.

How to find my SteamID →

Why it matters

Your SteamID is what puts you on the right match server and ties your stats to your name. No SteamID, no spot on the server.

Details get locked

At the start of the season a moderator locks identities: your name, country, birth date and SteamID freeze. Get them right early; after that a moderator handles changes. Photo, role and stream link stay editable.

2 Before each match Answer availability

The one recurring thing you do. On the Match tab, mark yourself unavailable for any match you can't play. Leave it alone and you stay in the pool, your captain can still pick you. Only an explicit unavailable takes you out.

3 Minutes before kickoff Be ready

The five locks and goes public 20 minutes before kickoff. Nothing left to decide, just be there.

  • Be online, Steam running, on the account that matches your SteamID.
  • If you're in the five, a Connect to match button appears on My profile once the server is up.
  • Coaching? A Connect as coach button appears instead. Connect, then type .coach t or .coach ct in chat to lock to your team's side (see in-game commands).
  • Streaming? Go live before kickoff.
4 In the match In-game commands ⚠ Important

No referee sits on the server, you run the match from in-game chat. Open chat (Y all-chat, U team-chat), type a command, send. A dot or a bang both work: .ready = !ready.

⚠ Important

Every player must know these before stepping on the server. "I didn't know the command" is not grounds for a replay, a restored round, or any score change.

The commands below are the only ones you may use. Touching any other server command is a rules breach and will be acted on, even if it was an accident, so don't experiment.

Every match is recorded and logged (server console logs + demo). Disputes are settled from the recording, not from memory. When in doubt, .forcepause and ask in the Discord before doing anything you can't undo.

Starting the match
.ready

Marks you ready. The match starts when both teams are ready. Short: .r.

.unready

Takes back your ready. Short: .ur.

.forceready

Readies your whole team at once, one player is enough.

Pauses & timeouts
.tac

Tactical timeout. 4 per team per map, 30s each. Starts next round.

.tech

Technical timeout, for a real problem (disconnect, crash, hardware). 2 per team per map, up to 5 min.

.pause

A plain stop. Stays paused until both teams .unpause. Use only when it's not a .tac or .tech.

.unpause

Resume a .pause. Both teams must type it.

Recovering a round
.stop

Rolls back the current round if it started wrong. Both teams must type it, and only while the round is clean (locks once anyone takes damage).

Recovery — let your captain drive

Every player is technically a match admin, so these work for you too. By convention the captain calls them, and only to fix a broken match.

.forcepause

Pauses so players can't lift it, only an admin resumes. Use when someone's crashed and the game must hold. Short: .fp.

.forceunpause

Resumes without both teams agreeing. Short: .fup.

.restore <round>

Rolls back to the start of any round, e.g. .restore 12. Unsure? .forcepause first and ask a moderator.

.start

Forces the match live without ready-up. Only if the ready system is stuck.

.restart

Resets the whole match. Only when a match must be abandoned and replayed, tell the other captain and a moderator first.

Coaches only

A coach connects like everyone else, then claims the coach slot from chat. Type it the moment you're in — until you do, you're sitting in a player seat. Once you're coaching you're locked to your own team's view, invisible to the players, and can't touch the round.

.coach ct

Take your team's coach slot while it's on the CT side.

.coach t

Take your team's coach slot while it's on the T side. Match the side your team is on right now — sides swap at halftime, so re-type .coach for the new side if your view doesn't follow.

.uncoach

Leave the coach slot and go back to spectating free. There's one coach slot per team, so step out if another coach needs it.

The short version

Go: .ready. Break: .tac, or .pause / .tech then both .unpause. Round went wrong: both .stop. Anything bigger, let the captain call it.

5 After the match Always screenshot the scoreboard

Every player, every map, every time. At the end of each map, hold Tab to bring up the full scoreboard with player stats and take a screenshot. Win or lose, make it a habit, you never know when something breaks.

It's just a safety net

The system records the result and stats automatically, so normally nobody uploads anything. The screenshot only matters in the rare case auto-capture fails, then your captain can upload it on Team admin to recover the game. So take it, you almost never need it, but when you do it's the only way back.

Quick answers

How do I…

The small stuff, with a link straight to where you do it.

Change my alias

You can't change it yourself, your alias anchors your stats and pages. Contact the league to request a change and we'll sort it.

Set up streaming

Add your stream URL on My profile. When you go live during a match, your stream shows up on the broadcast card automatically, nothing to toggle.

Switch teams, or leave my team

You can't move yourself, a player holds one team per season. Contact the league and a moderator will transfer you.

Find or fix my SteamID
Easiest — do this

On My profile hit Link Steam account. It fills your SteamID in for you — nothing to find or type.

Prefer to enter it by hand? You'll need your numeric SteamID64 (17 digits, starts 7656):

Find your Steam profile link

  1. Open Steam and go to your own profile (in the app: click your name top-right → View my profile).
  2. Right-click anywhere on the profile page → Copy Page URL (or copy it from the address bar if you opened it in a browser).
  3. Look at the link. If it reads steamcommunity.com/profiles/7656…, that long number is your SteamID64 — paste it into My profile and you're done.
  4. If it reads steamcommunity.com/id/yourname (a name, not a number), it's a custom URL — do the next step.

Not a number? Convert it with steamid.io

  1. Go to steamid.io.
  2. Paste your full profile link into the box and hit lookup.
  3. Copy the steamID64 value (17 digits, starts 7656) and paste it into My profile → SteamID.

If the field is locked, your details are already set for the season — contact the league to change it.

Sign in with a password

Set one under My profile → Password. The email link still works too. Forgot it? Use "Forgotten your password?" on any sign-in panel.

By role

If you're a captain

For captains, team moderators, and coaches. Coaches have the same controls here but can't be picked into the playing five — instead they get a Connect as coach button on match day and take the coach slot in-game with .coach t / .coach ct (see in-game commands). On top of the player playbook above, you run the team and own the result: lineup, map picks, and the occasional screenshot recovery when a game doesn't record on its own.

Team handling

Get your players in

Add players on Team admin → Invitations. Two sections: pick the one that fits, create the link, send it. Links don't expire.

Which section?

Already on your roster, marked “Unclaimed”? Use Invite existing team member, it keeps their stats. Anyone new gets New team member. Using New for someone who's already there makes a duplicate, so check your roster first.

Invite existing team member

Check here first. Their profile already exists (marked Unclaimed); this just gives them their login, keeping their stats.

1
Pick the player

Choose them from the “Which player is this for?” dropdown (only unclaimed players on your team show). Empty means everyone's logged in, use New team member instead.

2
Send the link

Hit Create invite link and send it to that one person.

3
They accept

They open it and sign in with their email. They're attached to that profile, stats and all, and just add a SteamID if it's missing.

New team member

Everyone else, joining for the first time.

1
Create the link

Hit Create invite link. Nothing to fill in.

2
Send it to that one person

Share it directly with them (a DM, not a public channel).

3
They accept

They open it and sign in with their email. A fresh profile lands on your roster; they finish it on My profile (alias, photo, SteamID).

Roster lock

Each season has a roster-lock date. After it passes you can't add players until the season ends, so get your full roster in before the deadline.

Team handling

Roles and roster

The rest of your team setup, also on Team admin.

1
Set roles

Each member is a Player, Moderator, Captain, or Coach. Moderators can help with the lineup and screenshot uploads. Coaches get full captain controls but never appear in the playing five. There's one captain at a time; hand it over from the roster if needed.

2
Manage the roster and identity

Move players between active and benched. Upload your team logo and edit notes. Team name, abbreviation, country, and color are set by league moderators (they're brand and stats anchors), so reach out if one is wrong.

Before each match

Maps and the playing five

Two jobs per match: pick the map(s) and lock your five. Do them any time before the 20-minute reveal window.

1
Rank the maps

Every format works the same way: both captains rank the season pool from most to least wanted, and the system runs the veto automatically. Best-of-1 is six bans — the last map standing is played. Best-of-3 and best-of-5 interleave picks. You never see the opponent's ranking.

2
Lock the five

Choose exactly five, then lock the lineup. You can pick anyone except players who've marked themselves unavailable; "not answered" players are still pickable (they often confirm to you off-site).

3
The reveal

Twenty minutes before kickoff, your locked five and the picked map(s) go public on the match page. That's the broadcast moment for spectators.

Minutes before kickoff

Everything's frozen

Once the reveal window opens, the five, the map picks, and the veto are locked for you.

Emergency only

If something genuinely breaks inside the window (a late injury, the wrong five locked), a league moderator can fix it for you. Reach out rather than scrambling; you can't change it yourself once it's public.

You drive the match

With no referee on the server, the captains run the game from in-game chat, the pauses, round restores, and recovery commands are yours to call. The full command cheat sheet (everyday and admin) is in the match-day playbook above; know it before kickoff. "I didn't know the command" never earns a replay or a score change.

After the match

Upload screenshots (edge cases only)

Normally you don't touch this, the system records every result and player stat from the server automatically. Uploading is only for the rare case auto-capture fails and a game needs recovering.

1
Grab the end-of-match scoreboard

For each affected map, hold Tab for the full scoreboard with player stats and screenshot it (any player on the team should have one, that's why the habit matters). Upload it on Team admin for that match.

2
Both teams upload

Each team uploads its own. The system reads the scores and player stats; if both agree it scores on its own, if they disagree a moderator reviews.

By role

If you're a caster

For crew with the caster role. You connect from the Caster console to the in-game GOTV relay (delayed) and broadcast it to the league channel.

Before you cast

Set up so a match doesn't drop you

1
Connect from the console

Connect (GOTV) on Caster launches CS2 and joins the delayed relay — and sets engine_no_focus_sleep 0 + fps_max 120 for you, so alt-tabbing to OBS won't drop the stream. That applies on a cold launch only; if CS2 is already open, hit copy cmd and paste it into the console instead.

2
Run CS2 in Borderless Windowed

Not exclusive Fullscreen. In fullscreen, alt-tabbing to OBS minimises CS2 and the engine throttles — you fall behind the relay and get kicked ("Client delta ticks out of order"). Borderless keeps it rendering while you work in OBS.

3
OBS: use a hardware encoder

NVENC (NVIDIA), QuickSync (Intel) or AMD VCE — not x264 (CPU). Software x264 steals the CPU CS2 needs to keep up with the GOTV relay on the same machine.

4
Go live

When you start streaming on the official channel, toggle Go live in the console — the public "Watch live" link then shows on the landing page and match page (works before kickoff for a pre-show). Toggle it off when you're done.

Why the delay

GOTV is intentionally delayed and in-game only — it's your input, not the audience's path. Viewers watch your Twitch broadcast (≈90s behind), so the live scoreline on the site can run ahead of what they see.

By role

If you're an admin

For league moderators and gods. The map below is a quick orientation to Admin; each section there has inline help.

Run the season

What the admin tools cover

1
Seasons

Draft and publish seasons, and choose the spotlight season (the public default) and the active one (where you and captains edit) — usually the same. A season carries its map pool, reveal offset, roster-lock and start/end dates; lock a finished one to freeze it.

2
Teams and players

Create teams and assign captains (a player can hold a place on only one team per season). Team color is auto-assigned; name, abbreviation, and country are locked anchors. Lock and unlock player identities, set photos, and override a SteamID when a player can't.

3
Matches

Create and edit matches, set maps and scores, and move status. Map names come from the season pool, never free text. Changing a match's date by a lot, or postponing it, offers to reset that match's stale lineup and map picks.

4
Screenshots and backfill

Approve pending uploads (the OCR writes player stats on approval), step in when two teams' screenshots disagree, and backfill historical screenshots into older matches.

Source of truth

The database is the single source of truth. Every public page reads from it, match status is written only by the system or an admin, and there's no spreadsheet sync. If a surface looks wrong, fix the data, not the page.