# Squad Team Balance & Team Switching (/docs/squad/team-balance)



Squad keeps teams even by limiting when players can switch sides. These settings live in `Server.cfg` (`SquadGame/ServerConfig/Server.cfg`).

The Settings [#the-settings]

| Setting                         | Default | What it does                                                                                           |
| ------------------------------- | ------- | ------------------------------------------------------------------------------------------------------ |
| `AllowTeamChanges`              | `true`  | Master switch — whether players can change teams at all.                                               |
| `PreventTeamChangeIfUnbalanced` | `true`  | Block a switch that would unbalance teams. If `false`, players switch freely.                          |
| `NumPlayersDiffForTeamChanges`  | `3`     | Max allowed player-count difference between teams for a switch (counts both the team left and joined). |
| `AllianceEnabled`               | `false` | Enable faction alliance restrictions (can't stack same-alliance factions).                             |
| `RejoinSquadDelayAfterKick`     | `180`   | Seconds before a player kicked from a squad can rejoin one.                                            |

```ini
AllowTeamChanges=true
PreventTeamChangeIfUnbalanced=true
NumPlayersDiffForTeamChanges=3
```

How It Works [#how-it-works]

* With defaults, a player can switch **only if** it doesn't push the team difference past `NumPlayersDiffForTeamChanges` (3).
* Set `PreventTeamChangeIfUnbalanced=false` for casual servers where you don't care about balance.
* Set `AllowTeamChanges=false` to lock teams entirely (e.g. scrims/tournaments).

Admin Bypass [#admin-bypass]

Admins with the **`balance`** [access level](/docs/squad/admin-permissions) ignore these limits and can switch regardless of team sizes. The **`teamchange`** permission removes team-change timer penalties, and **`forceteamchange`** lets an admin move other players with `AdminForceTeamChange`. See [Admin & RCON Commands](/docs/squad/admin-console-commands).

Applying Changes [#applying-changes]

Stop the server, edit `Server.cfg`, and restart to apply. (`AllowTeamChanges` and the balance limits are read at startup.)

Related Guides [#related-guides]

* [Server.cfg Reference](/docs/squad/server-cfg-reference)
* [Admin Permissions & Groups](/docs/squad/admin-permissions)
* [Admin & RCON Commands](/docs/squad/admin-console-commands)
