Sueta

PowerPerms [MySQL] [Global AND Per-World permissions and inh

2.1.1

PowerPerms is a powerful, rank-based permission plugin to manage your players' permissions.

·Plugin

Discord help chat: https://discord.gg/e5QRdBw

PowerPerms is a powerful, rank-based permission plugin allowing you complete control over your player's permissions.

FEATURES

UUID support
PowerPerms uses the player's UUID to store data to make sure no data is lost when a player changes their name.

Unlimited ranks
You can create an unlimited amount of ranks, each with their own options and permissions.

Rank inheritance
PowerPerms supports both global and per-world rank inheritance. This will make ranks inherit permissions from one to unlimited other ranks.

Negative permissions
You can negate permissions by prefixing them with the ' -' character. This will remove the permission from a player rather than assigning it.

Addon: Wildcard nodes
PowerPerms supports wildcard nodes like * and plugin.* in the addon PowerPerms Wildcards. The wildcards allow you to easily assign all permissions to a rank or player.

Simple /rank command
PowerPerms has a simple /rank command to check or set a player's rank very easily.

Prefixes and suffixes
You can assign prefixes and suffixes to players which will be displayed in their display name. All color codes supported.

Per-player and per-world data
You can assign global and per-world permissions, prefixes and other data to both ranks and players.

Build options
You can specify build options to indicate whether players can build or not. Setting build to false will block the following actions:

  • Block placing
  • Block breaking
  • Block igniting
  • Cauldron interacting
  • Bucket filling
  • Bucket emptying
  • Painting / item frame interacting

Custom nicknames
PowerPerms has a custom nick system to allow players to set their own display name. This system was created to ensure prefix/suffix compatibility. All color codes supported.

Temporary ranks
You can assign an unlimited amount of temporary ranks to players, which will expire after a certain period of time. After they have expired, the player will be assigned their old rank. If multiple temporary ranks have been assigned to one player, it will take the rank that expires first, then the next rank, and so on.

Temporary data
You can assign an unlimited amound of temporary permissions, prefixes and other data to both ranks and players. These will expire after a certain period.

Unique: Undercover mode
A unique feature of PowerPerms is the Undercover mode. With a simple command, staff members can pretend that they have another rank by getting the prefixes and suffixes of the specified rank while keeping the permissions from their own rank.

Various storage options
PowerPerms supports a wide variety of data storage options. The storage options currently supported:

  • Flatfile (YAML)
  • MySQL
  • SQLite
  • MariaDB
  • Redis

Manage ranks and player data in-game
Using the /powerperms command, you can easily alter ranks and player data in-game or from the console. More information below.

Extensive tab completion
PowerPerms supports full tab completion for all commands, all with advanced permission checks! Only the commands a player has permission for will be tab completed.

Easily transfer player data
PowerPerms has a /transfer command allowing you to easily move or copy data from one player to another.

Automatic language detection and customizable messages
PowerPerms speaks your language! PowerPerms reads incoming packets to detect your Minecraft language setting and will message you in that language. All messages are customizable and you can add any language you want! Use the /language command from TaigaCore to change your language manually.
Currently supported languages:
English (US) - by bys1
English (UK) - by bys1
Dutch (NL) - by bys1
German (DE) - by bys1
LOLCAT - by bys1
Pirate Speak - by bys1

Automatic update checking and plugin installer
PowerPerms checks for updates every 30 minutes and will notify the console and every player with the powerperms.notify permission when a new update is found. You can also update PowerPerms from the console or in-game using the command /taiga install PowerPerms <version>.
Important: Always read the changelog(s) on Spigot before updating!

INSTALLATION

To install PowerPerms on your server, follow these steps:

  1. If you have used PowerPerms v1.2.2 or lower on your server, delete the old version.
  2. Install TaigaCore on your server.
  3. Use the command /taiga install PowerPerms <version> to install PowerPerms on your server.
  4. Restart your server or use the commands /taiga load PowerPerms and /taiga enable PowerPerms to enable PowerPerms.
  5. Configure PowerPerms. A description and an extensive explanation on the PowerPerms configuration can be found below.
  6. Restart your server to process any changes made to the configuration.

COMMANDS

- /rank <player> [rank] [time]
Permission: powerperms.player.rank
Aliases: /setrank
Alias for /powerperms player <player> rank.
View or set a player's rank. Use [time] to assign a temporary rank to a player. Time formats are years (y), days (d), hours (h), minutes (m) and seconds (s). Example: /rank bys1 vip 1y 30d 12h 30m 10s will assign the rank vip to bys1 for 1 year, 30 days, 12 hours, 30 minutes and 10 seconds. Use the -r flag for [rank] to remove a rank. Specify the raw time string (yyyyMMddHHmmss) for [time] to remove a temporary rank.

- /transfer <player> <target> [-c]
Permission: powerperms.transfer
Transfer all player data of the specified player to the specified target. Data will be moved by default and can be copied using the -c flag.

- /undercover <rank|off> [player]
Permission: powerperms.undercover
Aliases: /uc
Go Undercover: pretend that you have another rank by receiving the prefixes and suffixes of the specified rank while keeping the permissions of your own rank.

- /nick <nick|off> [player]
Permission: powerperms.nick
Aliases: /nickname
Set a nickname for yourself or for someone else. All color codes supported.

- /powerperms [args...]
Permission: powerperms.powerperms
Aliases: /pp
The PowerPerms main command.

- /powerperms help
Permission: powerperms.help
Gives you a list of all PowerPerms commands.

- /powerperms version
Permission: powerperms.version
Displays basic version information.

- /powerperms reload
Permission: powerperms.reload
Reloads PowerPerms.
Note: A server restart is recommended rather than reloading.

- /powerperms default [new]
Permission: powerperms.rank.default
View or set the default rank.

- /powerperms player <player>
Permission: powerperms.player
View data from the specified player.

- /powerperms player <player> rank [new] [time]
Permission: powerperms.player.rank
View or set a player's rank. See the /rank command for more information.

- /powerperms rank <rank>
Permission: powerperms.rank
View information about the specified rank.

- /powerperms <player|rank> <name> <prefix|suffix|build> [global|world] [world] [new] [time]
Permission: powerperms.player|rank.prefix|suffix|build
View or set the global or per-world prefix, suffix or build option for the specified player or rank. Use [time] to set a temporary value. See the /rank command for more information on the time format. Use the -r flag for [new] to remove a prefix, suffix or build option and the raw time string (yyyyMMddHHmmss) for [time] to remove temporary data.

- /powerperms <player|rank> <name> permissions list [global|world] [world]
Permission: powerperms.player|rank.permissions
List the global or per-world permissions for the specified player or rank.

- /powerperms <player|rank> <name> permissions add <global|world> [world] <permission> [time]
Permission: powerperms.player|rank.permissions.add
Adds the specified global or per-world permission to the specified player or rank. Use [time] to assign a temporary permission. See the /rank command for more information on the time format.

- /powerperms <player|rank> <name> permissions remove <global|world> [world] <permission>
Permission: powerperms.player|rank.permissions.remove
Removes the specified global or per-world permission from the specified player or rank.

PERMISSIONS

powerperms.notify - Allows you to get notified of updates, rank changes, etc.
powerperms.transfer - Allows you to use /transfer

powerperms.undercover - Allows you to go undercover using /undercover
powerperms.undercover.others - Allows you to use /undercover on other players
powerperms.undercover.* - Gives you all powerperms.undercover permissions

powerperms.nick - Allows you to set a nickname using /nick
powerperms.nick.others - Allows you to set nicks for other players
powerperms.nick.color - Allows you to use colors in your nick
powerperms.nick.format - Allows you to use formats in your nick
powerperms.nick.magic - Allows you to use magic (obfuscation) in your nick
powerperms.nick.* - Gives you all powerperms.nick permissions

powerperms.powerperms - Allows you to use /powerperms
powerperms.help - Allows you to use /powerperms help
powerperms.version - Allows you to use /powerperms version
powerperms.reload - Allows you to use /powerperms reload

powerperms.player - Allows you to use /powerperms player ...
powerperms.player.rank - Allows you to use /rank and /powerperms player <player> rank
powerperms.player.rank.exempt - Prevents other players from setting your rank
powerperms.player.rank.undercover - Allows you to view a player's real and undercover ranks
powerperms.player.rank.main - Allows you to set a player's main rank
powerperms.player.rank.temp - Allows you to assign a temporary rank to a player
powerperms.player.rank.assign.<rank> - Allows you to assign the specified rank to players
powerperms.player.rank.assign.* - Allows you to assign all ranks
powerperms.player.rank.* - Gives you all powerperms.player.rank permissions
powerperms.player.prefix - Allows you to view a player's prefixes
powerperms.player.prefix.main - Allows you to set a player's main prefix
powerperms.player.prefix.temp - Allows you to assign a temporary prefix to a player
powerperms.player.prefix.* - Gives you all powerperms.player.prefix permissions
powerperms.player.suffix - Allows you to view a player's suffixes
powerperms.player.suffix.main - Allows you to set a player's main suffix
powerperms.player.suffix.temp - Allows you to assign a temporary suffix to a player
powerperms.player.suffix.* - Gives you all powerperms.player.suffix permissions
powerperms.player.build - Allows you to view a player's build options
powerperms.player.build.main - Allows you to set a player's main build option
powerperms.player.build.temp - Allows you to assign a temporary build option to a player
powerperms.player.build.* - Gives you all powerperms.player.build permissions
powerperms.player.permissions - Allows you to view a player's permissions
powerperms.player.permissions.add - Allows you to use /powerperms player <player> permissions add
powerperms.player.permissions.add.main - Allows you to add main permissions to a player
powerperms.player.permissions.add.temp - Allows you to add temporary permissions to a player
powerperms.player.permissions.add.* - Gives you all powerperms.player.permissions.add permissions
powerperms.player.permissions.remove - Allows you to remove permissions from a player
powerperms.player.permissions.* - Gives you all powerperms.player.permissions permissions
powerperms.player.* - Gives you all powerperms.player permissions

powerperms.rank - Allows you to use /powerperms rank ...
powerperms.rank.default - Allows you to view the default rank
powerperms.rank.default.set - Allows you to set the default rank
powerperms.rank.default.* - Gives you all powerperms.rank.default permissions
powerperms.rank.prefix - Allows you to view a rank's prefixes
powerperms.rank.prefix.main - Allows you to set a rank's main prefix
powerperms.rank.prefix.temp - Allows you to assign a temporary prefix to a rank
powerperms.rank.prefix.* - Gives you all powerperms.rank.prefix permissions
powerperms.rank.suffix - Allows you to view a rank's suffixes
powerperms.rank.suffix.main - Allows you to set a rank's main suffix
powerperms.rank.suffix.temp - Allows you to assign a temporary suffix to a rank
powerperms.rank.suffix.* - Gives you all powerperms.rank.suffix permissions
powerperms.rank.build - Allows you to view a rank's build options
powerperms.rank.build.main - Allows you to set a rank's main build option
powerperms.rank.build.temp - Allows you to assign a temporary build option to a rank
powerperms.rank.build.* - Gives you all powerperms.rank.build permissions
powerperms.rank.permissions - Allows you to view a rank's permissions
powerperms.rank.permissions.add - Allows you to use /powerperms rank <rank> permissions add
powerperms.rank.permissions.add.main - Allows you to add main permissions to a rank
powerperms.rank.permissions.add.temp - Allows you to add temporary permissions to a rank
powerperms.rank.permissions.add.* - Gives you all powerperms.rank.permissions.add permissions
powerperms.rank.permissions.remove - Allows you to remove permissions from a rank
powerperms.rank.permissions.* - Gives you all powerperms.rank.permissions permissions
powerperms.rank.* - Gives you all powerperms.rank permissions

powerperms.* - Gives you all PowerPerms permissions

CONFIGURATION

config.yml:

# PowerPerms by bys1
# ---
# logging: INFO, NOTICE or DEBUG
# smart-saving: If true and not using MySQL, it will not save player data for new players but just give them the default rank
# data: Data storage managing
# -- type: FLATFILE, MYSQL, SQLITE, MARIADB or REDIS
# -- host: The database host for MySQL, MariaDB or Redis, or the file for SQLite
# -- port: The database port for MySQL, MariaDB or Redis
# -- username/password: You know what that is
# -- database: The database name for MySQL or MariaDB
# default: The default rank
# ranks: The ranks with their options and permissions
# players: The players with their rank
# ---
# For more information, go to https://www.spigotmc.org/resources/22812/
# ---
logging: NOTICE
data:
  type: FLATFILE
  host: "plugins/PowerPerms/data.db"
  port: 3306
  username: bys1
  password: notgonnatellyou
  database: serverdata

default: 'default'
ranks:
  default:
    global:
      build: false
      prefix: '&7[Default] '
      suffix: ''
      permissions:
        - essentials.help
        - serverinfo.info
        - serverinfo.rules
        - serverinfo.vote
        - serverinfo.teamspeak
        - serverinfo.staff
        - serverinfo.gethelp
  member:
    global:
      build: true
      prefix: '&7[&eMember&7] &8'
      suffix: ''
      permissions:
        - essentials.motd
        - essentials.spawn
        - '201609091200:essentials.fly'
      inheritance:
        - default
    worlds:
      world_nether:
        build: false
        prefix: '&7[&bN&7][&eMember&7] &8'
        suffix: ''
        permissions:
          - essentials.back
  vip:
    global:
      build: true
      prefix: '&7[&aVIP&7] &a'
      suffix: ''
      permissions:
        - essentials.fly
      inheritance:
        - default
        - member
    worlds:
      world_nether:
        build: false
        prefix: '&7[&bN&7][&aVIP&7] &a'
        suffix: ''
        inheritance:
        - member
  admin:
    global:
      build: true
      prefix: '&7[&1Admin&7] &1'
      suffix: ''
      permissions:
        - 'powerperms.powerperms.*'
        - 'powerperms.nick.*'
        - 'serverinfo.*'
players:
  1a23b4cd-56e7-8901-fg23-4hijk56789lm:
    name: me
    rank: admin
    global:
      prefix: '&7[&cHead&1Admin&7]'
      build: true
      permissions:
        - 'powerperms.*'
    worlds:
      world_the_end:
        suffix: '&7[&4Enderdragon&7]'
        build: true
        permissions:
          - 'essentials.*'

Similar projects

Plugin →