ModsJava
PowerPerms [MySQL] [Global AND Per-World permissions and inheritance]
Discord help chat: PowerPerms is a powerful, rank-based permission plugin allowing you complete control over your player's permissions. FEATURES UUID…
⬇ Download on SpigotDiscord 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:
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:
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:
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.*'
This is the PowerPerms main configuration file, where you can manage data storage and ranks. Possible values for
logging are
INFO,
NOTICE or
DEBUG.
INFO will only display warnings, errors and some very basic messages.
NOTICE will inform you about more things, like rank changes.
DEBUG will diplay several messages to speed up bug fixing when one is found.
Data storage can currently be handled through YAML (flatfile), MySQL, SQLite, MariaDB and Redis. Hosts and eventual authentication details can be filled in here. YAML is stored in the config.yml file.
The default option specifies the default rank. When a new player joins your server, the default rank will be assigned.
The section ranks is the most important part. This is where you can add and modify ranks and their permissions, prefixes, suffixes and build options. This is explained in more detail in the tutorial found below.
The players section is where player data is stored when YAML is used as the storage option. It stores per-player permissions and other data in the same way used for ranks. The player's rank and temp-rank are also stored here. Another thing stored here is the player's name. PowerPerms does not use this name; the player name is only stored for your convenience to allow you to easily identify the player you want to edit.
lang/config.yml:
default-language : 'en_us'
en_us : 'en_us.yml'
en_gb : 'en_uk.yml'
en_uk : 'en_uk.yml'
lol_us : 'lol_us.yml'
en_pt : 'en_pt.yml'
en_7s : 'en_pt.yml'
de_de : 'de_de.yml'
nds_de : 'de_de.yml'
swg_de : 'de_de.yml'
ksh_de : 'de_de.yml'
de_at : 'de_de.yml'
nl_nl : 'nl_nl.yml'
li_li : 'nl_nl.yml'
This is the file where all languages are managed. If a player joins, PowerPerms will look up the player's locale in this file as soon as the packet is received. If the locale is found, the specified file will be used for the messages sent to the player. If the locale is not found, the default language will be used instead.
lang/en_us.yml:
pp-help : '&aUse / %label% help to get a list of commands.'
pp-usage : '&cUsage : / %label% <player|rank> <name> ...'
pp-default : '&aDefault rank : &6%rank%'
pp-default-set : '&6 %sender% &ahas set the default rank to &6%rank%&a.'
pp-option-usage : '&cUsage : / %label% <player|rank> <name> <prefix|suffix|build> [global|world] [world] [value] [time]'
pp-permissions-usage : '&cUsage : / %label% <player|rank> <name> permissions <list|add|remove> [global|world] [world] [permission] [time]'
pp-player-world-usage : '&cUsage : / %label% player <player> <prefix;suffix;build> world <world> [new] [time]'
pp-player-rank-assign-perm : '&cYou don''t have permission to assign the rank %rank%.'
pp-player-rank-exempt-perm : '&cYou don''t have permission to assign ranks to player %player%.'
pp-player-rank-success : '&6 %sender% &ahas set &6%player%&a''s rank to &6%rank%&a.'
pp-player-rank-success-temp : '&6 %sender% &ahas set &6%player%&a''s rank to &6%rank% &auntil &6%time%&a.'
pp-player-global-option-set : '&6 %sender% &ahas set &6%player%&a''s global %option% to &6%value%&a.'
pp-player-global-option-set-temp : '&6 %sender% &ahas set &6%player%&a''s global %option% to &6%value% &auntil &6%time%&a.'
pp-player-world-option-set : '&6 %sender% &ahas set &6%player%&a''s &6%option% &afor world &6%world% &ato &6%value%&a.'
pp-player-world-option-set-temp : '&6 %sender% &ahas set &6%player%&a''s &6%option% &afor world &6%world% &ato &6%value% &auntil &6%time%&a.'
pp-player-global-permission-added : '&6 %sender% &ahas added the global permission &6%permission% &ato player &6%player%&a.'
pp-player-global-permission-added-temp : '&6 %sender% &ahas added the global permission &6%permission% &ato player &6%player% &auntil &6%time%&a.'
pp-player-world-permission-added : '&6 %sender% &ahas added the permission &6%permission% &afor world &6%world% &ato player &6%player%&a.'
pp-player-world-permission-added-temp : '&6 %sender% &ahas added the permission &6%permission% &afor world &6%world% &ato player &6%player% &auntil &6%time%&a.'
pp-player-global-permission-removed : '&6 %sender% &ahas removed the global permission &6%permission% &afrom player &6%player%&a.'
pp-player-world-permission-removed : '&6 %sender% &ahas removed the permission &6%permission% &afor world &6%world% &afrom player &6%player%&a.'
pp-rank-global-option-set : '&6 %sender% &ahas set the global &6%option% &afor rank &6%rank% &ato &6%value%&a.'
pp-rank-global-option-set-temp : '&6 %sender% &ahas set the global &6%option% &afor rank &6%rank% &ato &6%value% &auntil &6%time%&a.'
pp-rank-world-option-set : '&6 %sender% &ahas set the &6%option% &ain world &6%world% &afor rank &6%rank% &ato &6%value%&a.'
pp-rank-world-option-set-temp : '&6 %sender% &ahas set the &6%option% &ain world &6%world% &afor rank &6%rank% &ato &6%value% &auntil &6%time%&a.'
pp-rank-global-permission-added : '&6 %sender% &ahas added the global permission &6%permission% &ato rank &6%rank%&a.'
pp-rank-global-permission-added-temp : '&6 %sender% &ahas added the global permission &6%permission% &ato rank &6%rank% &auntil &6%time%&a.'
pp-rank-world-permission-added : '&6 %sender% &ahas added the permission &6%permission% &afor world &6%world% &ato rank &6%rank%&a.'
pp-rank-world-permission-added-temp : '&6 %sender% &ahas added the permission &6%permission% &afor world &6%world% &ato rank &6%rank% &auntil &6%time%&a.'
pp-rank-global-permission-removed : '&6 %sender% &ahas removed the global permission &6%permission% &afrom rank &6%rank%&a.'
pp-rank-world-permission-removed : '&6 %sender% &ahas removed the permission &6%permission% &afor world &6%world% &afrom rank &6%rank%&a.'
permission-already-exists : '&cThe %name% already has that permission.'
player-not-found : '&cPlayer not found.'
rank-does-not-exist : '&cThat rank does not exist.'
no-permission : '&cYou don''t have permission to do that.'
The en_us language file. All player messages for this language can be managed here. Placeholders like %player% will automatically be replaced with a value when sent to a player.
A more in-depth tutorial about configuring PowerPerms can be found here.
FAQ
Before asking support, please check the list of frequently asked questions below. Many questions can be answered here .
1. Help! How can I setup PowerPerms properly?
A description of the PowerPerms configuration can be found above. An extensive tutorial on how to setup PowerPerms can be found here. If you still cannot get PowerPerms to work, please contact me and I will try to help you. Please check the support section below for more information on this.
2. Help! Prefixes and suffixes don't work / It keeps showing [default] as the player's prefix!
If you keep seeing [ default] as the player's prefix and/or the prefixes and suffixes configured by you are not showing up, this is very likely an issue with the Essentials plugin. Essentials alters the player's displayname and adds its own prefix to it. To solve this, go to the config file of Essentials (this can be found at plugins/Essentials/config.yml) and set the option change-displayname to false. Restart your server and the PowerPerms prefixes and suffixes should be working fine.
3. Help! I have found a bug / I am getting an error!
If something is not working properly or if you're getting errors in the console, please contact me about the issue and I will do my best to solve it as fast as possible. Please check the support section below for more information.
4. Do you support BungeeCord?
PowerPerms cannot be installed on your Bungeecord proxy and therefore has no advanced cross-server support. However, if you use the same database for multiple servers (for example use the same MySQL database), player data will be synchronized across those servers. Note that it will probably be a bad idea if you have two servers using the same database, but completely different rank names – PowerPerms will use the default rank if a rank does not exist. You can use ranks with the same rank names but different permissions for the different servers.
5. Can I use my own nick system?
The reason PowerPerms has its own nick system, is because it ensures prefix/suffix persistence. You can try using your own nick system, but if another plugin alters a player's displayname, the prefix and suffix applied will most likely be removed unless the plugin exclusively supports PowerPerms.
DEPENDENCIES
[ Required] TaigaCore
ADDONS
Addon 1: PowerPerms Wildcards
This simple addon allows you to use wildcard permissions like * and plugin.* to easily grant all permissions to a rank or player.
SUPPORT
If you need any help installing and setting up plugins, have suggestions to improve plugins or found a bug in a plugin, feel free to contact me! I will do my best to help you as fast as possible. I usually reply within a few hours although there can and will always be some exceptions. My timezone is CET (GMT+1), so if you live somewhere else than in Europe and you're wondering why I do not reply within two minutes, this is probably why.
If you have a general question about a plugin, or have suggestions or ideas to improve a plugin, post it in the Discussion section on Spigot or in the plugin channel in Discord.
If you need help with installing and setting up a plugin, or have any issues with a plugin, contact me in a private conversation on Spigot or post it in the plugin channel in Discord.
If you have a bug report, make sure to follow the steps listed below:
ABOUT THE AUTHOR
Hello! I am Björn and my goal is to create good-quality plugins with many features and efficient RAM-usage. I aim to provide good support (see above) and take all suggestions and bug reports serious. Feel free to contact me with any questions you have!
TERMS OF SERVICE
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
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
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:
- If you have used PowerPerms v1.2.2 or lower on your server, delete the old version.
- Install TaigaCore on your server.
- Use the command /taiga install PowerPerms <version> to install PowerPerms on your server.
- Restart your server or use the commands /taiga load PowerPerms and /taiga enable PowerPerms to enable PowerPerms.
- Configure PowerPerms. A description and an extensive explanation on the PowerPerms configuration can be found below.
- 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:
Code (YAML):
# 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.*'
Data storage can currently be handled through YAML (flatfile), MySQL, SQLite, MariaDB and Redis. Hosts and eventual authentication details can be filled in here. YAML is stored in the config.yml file.
The default option specifies the default rank. When a new player joins your server, the default rank will be assigned.
The section ranks is the most important part. This is where you can add and modify ranks and their permissions, prefixes, suffixes and build options. This is explained in more detail in the tutorial found below.
The players section is where player data is stored when YAML is used as the storage option. It stores per-player permissions and other data in the same way used for ranks. The player's rank and temp-rank are also stored here. Another thing stored here is the player's name. PowerPerms does not use this name; the player name is only stored for your convenience to allow you to easily identify the player you want to edit.
lang/config.yml:
Code (YAML):
default-language : 'en_us'
en_us : 'en_us.yml'
en_gb : 'en_uk.yml'
en_uk : 'en_uk.yml'
lol_us : 'lol_us.yml'
en_pt : 'en_pt.yml'
en_7s : 'en_pt.yml'
de_de : 'de_de.yml'
nds_de : 'de_de.yml'
swg_de : 'de_de.yml'
ksh_de : 'de_de.yml'
de_at : 'de_de.yml'
nl_nl : 'nl_nl.yml'
li_li : 'nl_nl.yml'
lang/en_us.yml:
Code (YAML):
pp-help : '&aUse / %label% help to get a list of commands.'
pp-usage : '&cUsage : / %label% <player|rank> <name> ...'
pp-default : '&aDefault rank : &6%rank%'
pp-default-set : '&6 %sender% &ahas set the default rank to &6%rank%&a.'
pp-option-usage : '&cUsage : / %label% <player|rank> <name> <prefix|suffix|build> [global|world] [world] [value] [time]'
pp-permissions-usage : '&cUsage : / %label% <player|rank> <name> permissions <list|add|remove> [global|world] [world] [permission] [time]'
pp-player-world-usage : '&cUsage : / %label% player <player> <prefix;suffix;build> world <world> [new] [time]'
pp-player-rank-assign-perm : '&cYou don''t have permission to assign the rank %rank%.'
pp-player-rank-exempt-perm : '&cYou don''t have permission to assign ranks to player %player%.'
pp-player-rank-success : '&6 %sender% &ahas set &6%player%&a''s rank to &6%rank%&a.'
pp-player-rank-success-temp : '&6 %sender% &ahas set &6%player%&a''s rank to &6%rank% &auntil &6%time%&a.'
pp-player-global-option-set : '&6 %sender% &ahas set &6%player%&a''s global %option% to &6%value%&a.'
pp-player-global-option-set-temp : '&6 %sender% &ahas set &6%player%&a''s global %option% to &6%value% &auntil &6%time%&a.'
pp-player-world-option-set : '&6 %sender% &ahas set &6%player%&a''s &6%option% &afor world &6%world% &ato &6%value%&a.'
pp-player-world-option-set-temp : '&6 %sender% &ahas set &6%player%&a''s &6%option% &afor world &6%world% &ato &6%value% &auntil &6%time%&a.'
pp-player-global-permission-added : '&6 %sender% &ahas added the global permission &6%permission% &ato player &6%player%&a.'
pp-player-global-permission-added-temp : '&6 %sender% &ahas added the global permission &6%permission% &ato player &6%player% &auntil &6%time%&a.'
pp-player-world-permission-added : '&6 %sender% &ahas added the permission &6%permission% &afor world &6%world% &ato player &6%player%&a.'
pp-player-world-permission-added-temp : '&6 %sender% &ahas added the permission &6%permission% &afor world &6%world% &ato player &6%player% &auntil &6%time%&a.'
pp-player-global-permission-removed : '&6 %sender% &ahas removed the global permission &6%permission% &afrom player &6%player%&a.'
pp-player-world-permission-removed : '&6 %sender% &ahas removed the permission &6%permission% &afor world &6%world% &afrom player &6%player%&a.'
pp-rank-global-option-set : '&6 %sender% &ahas set the global &6%option% &afor rank &6%rank% &ato &6%value%&a.'
pp-rank-global-option-set-temp : '&6 %sender% &ahas set the global &6%option% &afor rank &6%rank% &ato &6%value% &auntil &6%time%&a.'
pp-rank-world-option-set : '&6 %sender% &ahas set the &6%option% &ain world &6%world% &afor rank &6%rank% &ato &6%value%&a.'
pp-rank-world-option-set-temp : '&6 %sender% &ahas set the &6%option% &ain world &6%world% &afor rank &6%rank% &ato &6%value% &auntil &6%time%&a.'
pp-rank-global-permission-added : '&6 %sender% &ahas added the global permission &6%permission% &ato rank &6%rank%&a.'
pp-rank-global-permission-added-temp : '&6 %sender% &ahas added the global permission &6%permission% &ato rank &6%rank% &auntil &6%time%&a.'
pp-rank-world-permission-added : '&6 %sender% &ahas added the permission &6%permission% &afor world &6%world% &ato rank &6%rank%&a.'
pp-rank-world-permission-added-temp : '&6 %sender% &ahas added the permission &6%permission% &afor world &6%world% &ato rank &6%rank% &auntil &6%time%&a.'
pp-rank-global-permission-removed : '&6 %sender% &ahas removed the global permission &6%permission% &afrom rank &6%rank%&a.'
pp-rank-world-permission-removed : '&6 %sender% &ahas removed the permission &6%permission% &afor world &6%world% &afrom rank &6%rank%&a.'
permission-already-exists : '&cThe %name% already has that permission.'
player-not-found : '&cPlayer not found.'
rank-does-not-exist : '&cThat rank does not exist.'
no-permission : '&cYou don''t have permission to do that.'
A more in-depth tutorial about configuring PowerPerms can be found here.
FAQ
Before asking support, please check the list of frequently asked questions below. Many questions can be answered here .
1. Help! How can I setup PowerPerms properly?
A description of the PowerPerms configuration can be found above. An extensive tutorial on how to setup PowerPerms can be found here. If you still cannot get PowerPerms to work, please contact me and I will try to help you. Please check the support section below for more information on this.
2. Help! Prefixes and suffixes don't work / It keeps showing [default] as the player's prefix!
If you keep seeing [ default] as the player's prefix and/or the prefixes and suffixes configured by you are not showing up, this is very likely an issue with the Essentials plugin. Essentials alters the player's displayname and adds its own prefix to it. To solve this, go to the config file of Essentials (this can be found at plugins/Essentials/config.yml) and set the option change-displayname to false. Restart your server and the PowerPerms prefixes and suffixes should be working fine.
3. Help! I have found a bug / I am getting an error!
If something is not working properly or if you're getting errors in the console, please contact me about the issue and I will do my best to solve it as fast as possible. Please check the support section below for more information.
4. Do you support BungeeCord?
PowerPerms cannot be installed on your Bungeecord proxy and therefore has no advanced cross-server support. However, if you use the same database for multiple servers (for example use the same MySQL database), player data will be synchronized across those servers. Note that it will probably be a bad idea if you have two servers using the same database, but completely different rank names – PowerPerms will use the default rank if a rank does not exist. You can use ranks with the same rank names but different permissions for the different servers.
5. Can I use my own nick system?
The reason PowerPerms has its own nick system, is because it ensures prefix/suffix persistence. You can try using your own nick system, but if another plugin alters a player's displayname, the prefix and suffix applied will most likely be removed unless the plugin exclusively supports PowerPerms.
DEPENDENCIES
[ Required] TaigaCore
ADDONS
Addon 1: PowerPerms Wildcards
This simple addon allows you to use wildcard permissions like * and plugin.* to easily grant all permissions to a rank or player.
SUPPORT
If you need any help installing and setting up plugins, have suggestions to improve plugins or found a bug in a plugin, feel free to contact me! I will do my best to help you as fast as possible. I usually reply within a few hours although there can and will always be some exceptions. My timezone is CET (GMT+1), so if you live somewhere else than in Europe and you're wondering why I do not reply within two minutes, this is probably why.
If you have a general question about a plugin, or have suggestions or ideas to improve a plugin, post it in the Discussion section on Spigot or in the plugin channel in Discord.
If you need help with installing and setting up a plugin, or have any issues with a plugin, contact me in a private conversation on Spigot or post it in the plugin channel in Discord.
If you have a bug report, make sure to follow the steps listed below:
- Go to the plugin config and set logging to DEBUG.
- Restart your server (Don't reload!) and try to reproduce the error, for example by using the command that created the error.
- If the error occurs again, include the following in your message:
- A FULL console log. Use [CODE] [/CODE] tags on Spigot or paste it in http://paste.md-5.net/. Note that in console errors the newlines in the error may be removed. Please re-add them to keep the error readable for me.
- The config file(s) of the plugin(s). Use [CODE=YAML] [/CODE] tags on Spigot or add them as a file in Discord, or paste them in http://paste.md-5.net/.
- Optional, but strongly recommended: A list of all installed plugins on your server and their versions.
ABOUT THE AUTHOR
Hello! I am Björn and my goal is to create good-quality plugins with many features and efficient RAM-usage. I aim to provide good support (see above) and take all suggestions and bug reports serious. Feel free to contact me with any questions you have!
TERMS OF SERVICE
Spoiler: TOS
TERMS AND CONDITIONS
The author: I, bys1, the creator and only copyright holder of the Software;
The Software: The plugin, PowerPerms;
You: The person purchasing and/or using the software.
By downloading the Software, you agree to the following set of terms and conditions and its future versions. Breaking one of these may result in your access to SpigotMC and/or the Software being restricted or removed.
The author: I, bys1, the creator and only copyright holder of the Software;
The Software: The plugin, PowerPerms;
You: The person purchasing and/or using the software.
By downloading the Software, you agree to the following set of terms and conditions and its future versions. Breaking one of these may result in your access to SpigotMC and/or the Software being restricted or removed.
- You are not allowed to reverse engineer the Software in any way. This includes, but is not limited to, decompiling and/or modifying the Software or its source code.
- You are not allowed to redistribute the Software in any way. This includes, but is not limited to, using the Software for commercial purposes or claiming it as your own.
- The Software is provided as-is and the author provides no warranties for its functionality. The author may release updates containing bugfixes and/or additions to the Software.
- The author is not responsible for any damage the Software may do to your server.
- Support:
- Support for the Software is only guaranteed to be given in English using the ways mentioned in the description.
- Unless stated otherwise, the author will mostly reply within 48 hours.
- The author may ask you for a list of plugins, plugin configurations and/or a console log at any time.
- The author may ignore requests for support if:
- The request was written in a language other than English;
- The request is hard to understand because of poor use of proper grammar;
- You are swearing, spamming or insulting the author and/or the Software;
- You do not provide the data requested by the author.
- Requests for support, for new features and bug reports in reviews may be ignored.
- The author may change these terms at any time without notice.
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.8, 1.9, 1.10
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
PowerPerms [MySQL] [Global AND Per-World permissions and inheritance] is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.9, 1.10, 1.11 and newer. Downloaded 26,397 times (via Spigot). Download it and open it directly in the game.