---
description: >-
  This guide covers common permission setups for different server types and
  player groups.
---

# Permissions Setup

### Permission Plugin Compatibility

JailsPlus works with all major permission plugins, including:

* LuckPerms
* PermissionsEx
* GroupManager
* UltraPermissions
* PowerRanks

### Understanding JailsPlus Permissions

#### Core Jail Management

| Permission     | Description                                                     | Default |
| -------------- | --------------------------------------------------------------- | ------- |
| jails.setjail  | Set a jail location                                             | op      |
| jails.jail     | Jail a player                                                   | op      |
| jails.jails    | List all jail locations                                         | op      |
| jails.unjail   | Release players from jail                                       | op      |
| jails.tempjail | Temporarily jail players for a set time                         | op      |
| jails.deljail  | Delete jail locations                                           | op      |
| jails.list     | View and manage jailed players                                  | op      |
| jails.spawn    | Set whether players go to spawn or original location after jail | op      |

#### Flag Management

| Permission     | Description                                 | Default |
| -------------- | ------------------------------------------- | ------- |
| jails.wand     | Use the selection wand to define jail areas | op      |
| jails.setflag  | Set jail flag areas using wand selections   | op      |
| jails.delflag  | Delete jail flag areas                      | op      |
| jails.flaglist | View all jail flag areas via GUI            | op      |
| jails.preview  | Preview jail boundaries with particles      | op      |

#### Player Control

| Permission       | Description                                 | Default |
| ---------------- | ------------------------------------------- | ------- |
| jails.handcuff   | Handcuff players to restrict movement       | op      |
| jails.unhandcuff | Remove handcuffs from players               | op      |
| jails.ipjail     | Jail a player and all accounts with same IP | op      |

#### Bail System

| Permission       | Description                          | Default |
| ---------------- | ------------------------------------ | ------- |
| jails.bailset    | Set bail amounts for jailed players  | op      |
| jails.bailgui    | Access the GUI for bailing prisoners | true    |
| jails.bailremove | Remove a player's bail option        | op      |

#### Information & Administrative

| Permission     | Description                            | Default |
| -------------- | -------------------------------------- | ------- |
| jails.duration | Check the remaining time of a prisoner | true    |
| jails.reload   | Reload the plugin configuration        | op      |
| jails.help     | Access the plugin help pages           | op      |
| jails.version  | Check the current plugin version       | op      |

### Common Permission Setups

#### Administrator Setup

```
- jails.*
```

#### Moderator Setup

```
- jails.jail
- jails.jails
- jails.unjail
- jails.tempjail
- jails.list
- jails.handcuff
- jails.unhandcuff
- jails.help
- jails.bailset
- jails.bailremove
```

#### Helper Setup

```
- jails.jail
- jails.jails
- jails.list
- jails.help
- jails.handcuff
- jails.unhandcuff
```

### LuckPerms Setup Example

For Admin group:

```
/lp group admin permission set jails.* true
```

For Moderator group:

```
/lp group mod permission set jails.jail true
/lp group mod permission set jails.jails true
/lp group mod permission set jails.unjail true
/lp group mod permission set jails.tempjail true
/lp group mod permission set jails.list true
/lp group mod permission set jails.handcuff true
/lp group mod permission set jails.unhandcuff true
/lp group mod permission set jails.help true
/lp group mod permission set jails.bailset true
/lp group mod permission set jails.bailremove true
```

For Helper group:

```
/lp group helper permission set jails.jail true
/lp group helper permission set jails.jails true
/lp group helper permission set jails.list true
/lp group helper permission set jails.help true
/lp group helper permission set jails.handcuff true
/lp group helper permission set jails.unhandcuff true
```

### Default Player Permissions

The following permissions are given to all players by default:

```
- jails.duration (check jail time remaining)
- jails.bailgui (access the bail payment GUI)
```

### Permission Testing

#### Direct Testing

1. Give a staff member the permissions
2. Ask them to log in and try the commands
3. Check if commands work based on their permissions

#### LuckPerms Testing

Check if a player has permission:

```
/lp user <username> permission check jails.jail
```

#### Permission Debugging

Enable debugging with LuckPerms:

```
/lp verbose on <username> jails
```

Then have the player use commands and check the output.

### Permissions Troubleshooting

#### Commands Not Working

**Issue:** Player has permission but can't use commands

**Solutions:**

* Double-check the exact permission name
* Make sure the permission is assigned to the correct group
* Verify there are no negative permissions (-jails.command)
* Restart the server to apply permission changes

#### Permission Errors in Console

**Issue:** Errors about permissions in server logs

**Solutions:**

* Check that your permission plugin is working correctly
* Verify the permission plugin loads before JailsPlus
* Update your permission plugin to the latest version

#### LuckPerms Not Applying Permissions

**Issue:** Permissions set in LuckPerms aren't working

**Solutions:**

* Run `/lp sync` to sync permissions across the server
* Check the permission context (world, server)
* Use `/lp user <name> info` to see all permissions
* Make sure the player is in the correct group with `/lp user <name> parent info`

#### Group Inheritance Issues

**Issue:** Permissions not inheriting from parent groups

**Solutions:**

* Check group hierarchy with `/lp group <group> parent info`
* Make sure parent groups have the correct permissions
* Set permissions directly on user if inheritance doesn't work

#### Default Permissions Not Working

**Issue:** Players can't use features marked as "default: true"

**Solutions:**

* Check if any permission plugin is blocking default permissions
* Manually add these permissions to the default group

### Role-Based Permission Examples

#### Security Team

```
- jails.jail
- jails.unjail
- jails.tempjail
- jails.handcuff
- jails.unhandcuff
```

#### Jail Manager

```
- jails.setjail
- jails.jails
- jails.deljail
- jails.list
- jails.wand
- jails.setflag
- jails.delflag
- jails.flaglist
- jails.preview
```

#### Bail Administrator

```
- jails.list
- jails.bailset
- jails.bailremove
```
