# Configuration
Everything lives in `plugins/Lead/config.yml`. Edit it, then run `/lead reload`.
There's a `version` at the top. Leave it alone, it's how Lead updates your file when you upgrade.
## Team rules
| Setting | Default | What it does |
|---|---|---|
| `max_team_size` | `5` | How many players fit on one team |
| `max_teams` | `1000` | How many teams can exist at once |
| `friendly_fire` | `true` | Whether teammates can hurt each other. Override per team with `/team modify friendly_fire` |
| `auto_assign` | `false` | Put players on a team automatically when they join the server |
| `is_public` | `true` | Whether everyone can use team commands. Set `false` and they'll need `lodestone.lead.manage` |
For a battle royale you probably want `friendly_fire: false` and a small `max_team_size`. For a civilisation server, larger teams with friendly fire on tends to work better.
## Naming teams
| Setting | Default | What it does |
|---|---|---|
| `nameable_teams` | `true` | Whether players name their own team. Turn it off and Lead generates names |
| `minimum_team_name_length` | `3` | Shortest name a player can pick |
| `maximum_team_name_length` | `16` | Longest name a player can pick |
| `should_increment` | `false` | For number-generated names only. `true` counts up 1, 2, 3. `false` picks at random |
The two length settings only matter when `nameable_teams` is on. Generated names come from `random.yml`, where you choose between words, numbers, colours and symbols.
## How teams look
| Setting | Default | What it does |
|---|---|---|
| `team_alignment` | `PREFIX` | Whether the team label goes before the player's name (`PREFIX`) or after it (`SUFFIX`) |
| `color_names` | `false` | Colour players' names in chat to match their team |
| `show_in_chat` | `true` | Whether the team label appears in public chat at all |
| `font` | `null` | A custom font for team names. `null` uses Minecraft's |
Turning off `show_in_chat` keeps team colours on nametags and in the tab list but leaves chat clean. Name colours and rank prefixes still work, and team chat is unaffected.
## Collision
`collidable` decides whether players walk through each other:
| Value | What happens |
|---|---|
| `ALWAYS` | Everyone collides, like normal Minecraft |
| `NEVER` | Nobody collides with anybody |
| `FOR_OTHER_TEAMS` | You pass through teammates but bump into everyone else |
| `FOR_OWN_TEAM` | You bump into teammates but pass through everyone else |
`FOR_OTHER_TEAMS` is the useful one for squad games, since it stops teammates blocking each other in a doorway while still letting you body-block an enemy.
Override it for one team with `/team modify collidable`.
## Nametag visibility
`name_tag_visibility` takes the same four values and decides who can see whose names:
| Value | What happens |
|---|---|
| `ALWAYS` | Everyone sees everyone |
| `NEVER` | Nobody sees anybody |
| `FOR_OTHER_TEAMS` | You see other teams' names but not your own team's |
| `FOR_OWN_TEAM` | You see your teammates' names but not your enemies' |
`FOR_OWN_TEAM` suits a hide-and-seek or stealth game, where you can find your team but not the other side.
> [!note] These two settings are ignored if TAB is your display backend, since TAB handles them itself. With Frame they work exactly as described.
## Display and updating
| Setting | Default | What it does |
|---|---|---|
| `should_update` | `true` | Whether Lead draws team colours on nametags at all. Turn it off to keep teams purely as data |
| `automatic_updates` | `true` | Refresh the display after every team change. Turn it off if you'd rather batch updates yourself with `/lead update` |
| `verbose` | `false` | Detailed logging, for when something isn't behaving |
If you're making hundreds of team changes in a script, turning off `automatic_updates` and calling `/lead update` once at the end is much lighter.
> [!info] Lead draws through the best backend it can find: **Frame** first, then **TAB**, then the vanilla scoreboard. Frame is picked up automatically, and unlike TAB it works out what each viewer sees individually and honours the collision and nametag settings above.
## Who can run what
`permissions` covers the two top-level commands:
```yaml
permissions:
team: null
teammsg: null
```
`null` means anyone can use it.
`commands` covers each subcommand:
```yaml
commands:
help: null
list: null
create: null
join: null
leave: null
invite: null
kick: null
disband: null
chat: null
edit: null
shuffle: "lodestone.lead.manage"
spawn: "lodestone.lead.manage"
teleport: "lodestone.lead.manage"
friendly_fire: "lodestone.lead.manage"
nametag: "lodestone.lead.manage"
collidable: "lodestone.lead.manage"
merge: "lodestone.lead.manage"
place: "lodestone.lead.manage"
remove: "lodestone.lead.manage"
delete: "lodestone.lead.manage"
id: "lodestone.lead.manage"
display_name: "lodestone.lead.manage"
color: "lodestone.lead.manage"
```
Set any of these to `null` to open it up, or to a permission node of your own to lock it down. Player commands are open by default and admin ones need `lodestone.lead.manage`.
## A full example
```yaml
version: 16
should_update: true
verbose: false
automatic_updates: true
team_alignment: PREFIX
max_team_size: 5
nameable_teams: true
minimum_team_name_length: 3
maximum_team_name_length: 16
friendly_fire: true
auto_assign: false
collidable: ALWAYS
name_tag_visibility: ALWAYS
is_public: true
font: null
color_names: false
show_in_chat: true
max_teams: 1000
should_increment: false
permissions:
team: null
teammsg: null
commands:
help: null
list: null
edit: null
kick: null
invite: null
create: null
join: null
leave: null
disband: null
chat: null
shuffle: "lodestone.lead.manage"
spawn: "lodestone.lead.manage"
teleport: "lodestone.lead.manage"
friendly_fire: "lodestone.lead.manage"
nametag: "lodestone.lead.manage"
collidable: "lodestone.lead.manage"
merge: "lodestone.lead.manage"
place: "lodestone.lead.manage"
remove: "lodestone.lead.manage"
delete: "lodestone.lead.manage"
id: "lodestone.lead.manage"
display_name: "lodestone.lead.manage"
color: "lodestone.lead.manage"
```
## Related Pages
- [[Lead/Server Owners/Overview]], what Lead does
- [[Lead/Server Owners/Commands]], every command with examples