> For the complete documentation index, see [llms.txt](https://impoo.gitbook.io/authenticationsystem/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://impoo.gitbook.io/authenticationsystem/permissions.md).

# Permissions

This page lists all permissions used by AuthSystem. Assign them to groups using your permissions plugin (e.g., LuckPerms).

## Permission list

| Permission                               | Description                                       | Default |
| ---------------------------------------- | ------------------------------------------------- | ------- |
| `authsystem.command.admin`               | Access to all `/auth` admin subcommands           | `op`    |
| `authsystem.command.staff`               | Access to staff commands (`/auth checkip`)        | `op`    |
| `authsystem.command.adminChangePassword` | Use `/auth changepassword <player> <newPassword>` | `op`    |
| `authsystem.command.checkIp`             | Use `/auth checkip <player>`                      | `op`    |
| `authsystem.command.reload`              | Use `/auth reload`                                | `op`    |
| `authsystem.command.unregister`          | Use `/auth unregister <player>`                   | `op`    |

## Permission details

### authsystem.command.admin

Grants access to all admin subcommands of `/auth`. Recommended for server owners and administrators only.

### authsystem.command.staff

Grants access to staff-level commands such as `/auth checkip`. Suitable for moderators and helpers.

### authsystem.command.adminChangePassword

Allows changing another player's password via `/auth changepassword <player> <newPassword>`. Useful for helping players who forgot their password.

### authsystem.command.checkIp

Allows checking a player's last known IP address via `/auth checkip <player>`. Useful for investigating alternate accounts.

### authsystem.command.reload

Allows reloading the plugin configuration via `/auth reload`. Useful after editing `config.yml`.

### authsystem.command.unregister

Allows deleting a player's account from the database via `/auth unregister <player>`. This is irreversible — use with caution.

## Player commands (no permission required)

The following commands are available to all players and do not require a permission node:

* `/register <password> <confirmPassword>`
* `/login <password>`
* `/changepassword <oldPassword> <newPassword>`
* `/premium`

## Granting permissions (LuckPerms example)

```bash
/lp group admin permission set authsystem.command.admin true
/lp group moderator permission set authsystem.command.checkIp true
/lp group moderator permission set authsystem.command.staff true
```

***

> :bulb: **Tip**: By default, all admin permissions are set to `op` level. If you're not using a permissions plugin, make trusted staff members server operators (`/op <player>`).
