> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://aetherskywarswiki.netlify.app/api/mcp` to find what you need.

# Permissions

All nodes in one place, plus a starting point for your default and staff groups.

<img src="/permission-shape.svg" alt="The permission tree: play, party, friend, admin, and one node per kit" />

Nodes come in two shapes. Plugin nodes start with `asw.`. Shop and kit nodes are set by you,
inside `kits.yml` and `shops.yml`, and the bundled files use `AetherSkyWars.` as their prefix.

## Admin

| Node | Grants |
| --- | --- |
| `asw.admin` | Everything on the admin side: creating, editing, deleting, and resetting arenas, editing kits and chest tiers, adjusting balances, reloading, and creating join signs. |

`asw.admin` is one node covering every admin command. Give it only to staff you trust with
`/asw delete`.

## Player commands

| Node | Grants | Suggested default |
| --- | --- | --- |
| `asw.list` | Open the arena list. | Yes |
| `asw.leave` | Leave the current match. | Yes |
| `asw.lobby` | Teleport to the lobby. | Yes |
| `asw.kits` | Open the kit menu. | Yes |
| `asw.shop` | Open the shop. | Yes |
| `asw.spectatorshop` | Open the spectator shop. | Yes |
| `asw.coins` | Check a balance. | Yes |
| `asw.play` | Open the wardrobe, the quest list, the challenge list and a mystery box. | Yes |
| `asw.forcestart` | Force the current match to start. | Staff only |

:::note
Joining an arena has no node of its own. A player who can reach an arena, through the list,
a join sign, a pressure plate, or `/asw play`, can join it. Restrict the way in rather than
the join itself.
:::

## Parties

| Node | Grants | Suggested default |
| --- | --- | --- |
| `asw.party.owner` | Create, kick, and disband. | Yes |
| `asw.party.invite` | Invite players. | Yes |
| `asw.party.accept` | Accept an invite. | Yes |
| `asw.party.leave` | Leave a party. | Yes |

See [Parties](/features/parties).

## Friends

| Node | Grants | Suggested default |
| --- | --- | --- |
| `asw.friend` | The whole friend list: add, accept, deny, remove, list, message, and the menu. | Yes |

See [Friends](/features/friends).

## Voting

Each vote option is its own node, so you can keep some of them for ranks.

| Node | Grants | Suggested default |
| --- | --- | --- |
| `asw.basic` | Vote for the Basic chest tier. | Yes |
| `asw.normal` | Vote for the Normal chest tier. | Yes |
| `asw.epic` | Vote for the Epic chest tier. | Donor |
| `asw.day` | Vote for daytime. | Yes |
| `asw.sunset` | Vote for sunset. | Yes |
| `asw.night` | Vote for night. | Yes |
| `asw.rain` | Vote for rain. | Yes |
| `asw.normal-projectile` | Vote for normal projectiles. | Yes |
| `asw.break-projectile` | Vote for block-breaking projectiles. | Donor |

See [Voting and game events](/features/voting-and-events).

## Kit and shop nodes

These are not fixed. Each kit and each shop entry names the permission it needs, and you
choose what that is.

```yaml
# kits.yml
Kits:
  Ecologist:
    Permission: AetherSkyWars.Kit     # [1]

# shops.yml
Shops:
  Cage-Blocks:
    item2:
      Permission: AetherSkyWars.Cage  # [2]
```

1. Several kits can share one node, or each can have its own.
2. Leave the key out entirely to let everyone buy the item.

These read `AetherSkyWars.Something` rather than `asw.something`, unlike every other node on
this page. That is deliberate. They are not nodes the plugin declares, they are strings written
into a config value to gate an item, so any name works and the bundled files simply kept their
original one. Change them to whatever suits you, in `shops.yml` and `kits.yml`.

The nodes used by the bundled files:

| Node | Used by |
| --- | --- |
| `AetherSkyWars.Kit` | The bundled kits. |
| `AetherSkyWars.Cage` | Most cage blocks. |
| `AetherSkyWars.Spawner` | The spawner cage block. |
| `AetherSkyWars.Win` | Win blocks. |
| `AetherSkyWars.Particle` | Bow trail particles. |
| `asw.kit` | Any kit saved with `/asw kit CREATE`. |

Rename these to fit your own scheme. Nothing in the plugin depends on the exact strings.

:::warning
`asw.kit` is the one you do not choose. A kit saved from in game with `/asw kit CREATE` gets
that node, because the command has nowhere to ask you for one. Grant `asw.kit`, or open
`kits.yml` afterwards and set `Permission` to whatever you would rather use. Until you do one
of those, the kit is in the menu but nobody can pick it.
:::

## A starting set

```text [Default group]
asw.list
asw.leave
asw.lobby
asw.kits
asw.shop
asw.spectatorshop
asw.coins
asw.play
asw.party.owner
asw.party.invite
asw.party.accept
asw.party.leave
asw.friend
asw.basic
asw.normal
asw.day
asw.sunset
asw.night
asw.rain
asw.normal-projectile
AetherSkyWars.Kit
```

```text [Donor group, on top of the default group]
asw.epic
asw.break-projectile
AetherSkyWars.Cage
AetherSkyWars.Win
AetherSkyWars.Particle
```

```text [Staff group]
asw.admin
asw.forcestart
```

## Which permissions plugin

Any of them. Every node on this page is an ordinary Bukkit permission, so LuckPerms,
GroupManager, or anything else that grants Bukkit permissions works without configuration on
either side. There is nothing to install and nothing to link up.

With LuckPerms, granting the default set to everyone is:

```text
/lp group default permission set asw.list true
/lp group default permission set asw.join true
```

A player with none of these granted has no access, and an operator has all of them. That is
Bukkit's own rule for a permission a plugin does not declare a default for, not something
AetherSkyWars decides.

## Related pages

* [Commands](/reference/commands)
* [Kits](/features/kits)
* [Shop and cosmetics](/features/shop-and-cosmetics)
