> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wasabihosting.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Counter-Strike 2 Server Configuration - server.cfg, Game Modes & GSLT

> Configure your Counter-Strike 2 server hosting at Wasabi Hosting - server.cfg convars, game modes, match settings, and Game Server Login Token setup.

Counter-Strike 2 servers are configured through plain-text config files full of **convars** (console variables), plus a few startup parameters. This guide covers where the files live, the convars that matter most, how game modes work, and how to register your Game Server Login Token so your server appears publicly.

## Where Config Files Live

Configs are stored in `game/csgo/cfg` inside your server files. Edit them with the **File Manager** in the [Wasabi Hosting Game Panel](https://panel.wasabihosting.com) or via [SFTP](/server/file-management).

| File             | Purpose                                                                   |
| ---------------- | ------------------------------------------------------------------------- |
| `server.cfg`     | Executed on every map load — put your standard settings here              |
| `autoexec.cfg`   | Executed once at server startup (if configured to run)                    |
| `gamemode_*.cfg` | Valve's per-game-mode defaults — don't edit these; override in server.cfg |

A solid starter `server.cfg`:

```bash theme={null}
// Identity
hostname "Wasabi | 128-slot brainpower arena"
sv_password ""            // set to require a password to join
rcon_password "ChangeMeNow!"

// Match rules
mp_maxrounds 24
mp_roundtime 1.92
mp_freezetime 15
mp_warmuptime 60
mp_autoteambalance 1
mp_friendlyfire 0

// Keep the server public
sv_lan 0
sv_cheats 0
```

Changes to `server.cfg` apply on the next map change or server restart.

## Key Convars Explained

| Convar               | Description                                                                                             |
| -------------------- | ------------------------------------------------------------------------------------------------------- |
| `hostname`           | Server name shown in the community browser and scoreboard                                               |
| `sv_password`        | Join password; empty string means public                                                                |
| `rcon_password`      | Password for remote console access — set a strong one (see [Admin Commands](/games/cs2/admin-commands)) |
| `sv_cheats`          | Enables cheat-protected commands for everyone (`0`/`1`)                                                 |
| `mp_maxrounds`       | Rounds before the match ends (24 for MR12 competitive)                                                  |
| `mp_roundtime`       | Round length in minutes (e.g. `1.92` = 1:55)                                                            |
| `mp_freezetime`      | Freeze time at round start, in seconds                                                                  |
| `mp_warmuptime`      | Warmup length in seconds                                                                                |
| `mp_autoteambalance` | Automatically balance uneven teams (`0`/`1`)                                                            |
| `mp_friendlyfire`    | Whether teammates take damage (`0`/`1`)                                                                 |
| `sv_lan`             | Must be `0` — a LAN server won't authenticate with Steam or list publicly                               |

<Warning>
  `sv_cheats 1` unlocks commands like `noclip` and wallhack-style debug views for **every connected player**, and it can flag the session as insecure. Only enable it on private practice servers, never on a public one.
</Warning>

## Game Modes: game\_type and game\_mode

CS2 selects its game mode through the combination of two convars, best set as startup parameters (with `+game_type` / `+game_mode`) so they apply before the first map loads:

| Mode        | `game_type` | `game_mode` |
| ----------- | ----------- | ----------- |
| Casual      | 0           | 0           |
| Competitive | 0           | 1           |
| Wingman     | 0           | 2           |
| Arms Race   | 1           | 0           |
| Deathmatch  | 1           | 2           |

For example, a deathmatch server would start with:

```
+game_type 1 +game_mode 2 +map de_mirage
```

## GSLT: Game Server Login Token

A GSLT ties your server to your Steam account and is required for public listing in the community browser.

<Steps>
  <Step title="Create the token">
    Go to [https://steamcommunity.com/dev/managegameservers](https://steamcommunity.com/dev/managegameservers) and sign in. Under *Create a new game server account*, enter App ID **730** (Counter-Strike 2) and an optional memo, then click **Create**.
  </Step>

  <Step title="Copy the login token">
    Copy the generated token string from the table.
  </Step>

  <Step title="Add it to your startup parameters">
    In the Game Panel, open your server's **Startup** tab and add the token via the dedicated field or startup parameter:

    ```
    +sv_setsteamaccount YOURTOKENHERE
    ```
  </Step>

  <Step title="Restart the server">
    After a restart, the console should show a successful Steam logon. Your server can now appear in the community browser.
  </Step>
</Steps>

<Note>
  Requirements for GSLTs: your Steam account must not be limited, and it needs to own CS2's requirements per Valve's rules. Tokens are banned if the server violates Steam policies, so never share your token. If the account receives a game ban, its tokens stop working.
</Note>

## Setting the Start Map

The map the server boots into is a startup parameter, not a server.cfg setting:

* **Official map**: add `+map de_dust2` (or `de_mirage`, `de_inferno`, etc.) to the startup parameters.
* **Map group**: add `+mapgroup mg_active` together with `+map` to define which maps are in rotation.
* **Workshop maps** use different commands entirely — see [Custom & Workshop Maps](/games/cs2/custom-maps).

## Configuration Tips

* Keep one authoritative `server.cfg` — since it runs on every map change, your settings survive rotations.
* Comment your changes (`// like this`) so future you knows why a value was set.
* Take a [backup](/server/backups) before large config overhauls.
* Test match configs (scrim/competitive rule sets) on a passworded server before opening it to the public.

<Card title="Ready for match night?" icon="rocket" href="https://wasabihosting.com/game-servers/counter-strike-2">
  CS2 server hosting from **€9.99/month** on Ryzen 7950X3D/9950X hardware — stable ticks, low ping, DDoS protection included.
</Card>
