Permissions plugin approved by Leeloo Dallas
Multipass is a permissions plugin that provides a universal permission system for Nukkit.
Project page (outdated, use dev builds)
- Individual permissions and group
- Group inheritance
- World related permissions and group
- API for another plugins
Currently Multipass mostly translated to Russian, Turkish, French, Korean. If you miss your language, you can help with translation. We use Crowdin to translate Multipass. Join our translation project here
multipass.admin - use multipass commands
/perm help
/perm reload
/perm refresh
/perm update
/perm recalculate
Recalculate permissions of all users. I hope you'll never need to use this permissions.
/perm check <user>
Simply check permissions
This command checks permissions of online player.
/perm export [<filename>]
Export permissions (all group and users) into single file.
Example:
/perm export data
- save all permissions in file data.yml
/perm import [overwrite] [<filename>]
/perm import [over] [<filename>]
Import permissions from file. User "overwrite" parameter to delete all groups and users before import.
Examples:
/perm import data
- load permissions from file data.yml
/perm import overwrite
- delete all permissions than load from file import.yml
/user <user>
Shows full user info (Groups, permissions, prefixes, suffixes)
/user remove <user>
/user rmv <user>
/user delete <user>
/user del <user>
Delete user information. If player is online user record will be recreated and user will add to default group (if it defined in config).
/user <user> setperm [<world>] <permission.node>
/user <user> sp [<world>] <permission.node>
/user <user> addperm [<world>] <permission.node>
/user <user> ap [<world>] <permission.node>
Set permission node for user. If you need to define permission node that related to world you need to define (additionally) world name. For neagative permissions you need to use symbol "-" before permission.
Example:
/user fromgate sp -fantastic.permission
/user <user> removeperm [<world>] <permission.node>
/user <user> rmvperm [<world>] <permission.node>
/user <user> rperm [<world>] <permission.node>
/user <user> rp [<world>] <permission.node>
Remove user permission.
Example:
/user fromgate rp fantastic.permission
/user <user> setgroup [<world>] <group>
/user <user> setgrp [<world>] <group>
/user <user> sgrp [<world>] <group>
/user <user> sg [<world>] <group>
Set user group. All other groups will be removed.
Example:
/user fromgate sg vip
/user <user> addgroup [<world>] <group>
/user <user> addgrp [<world>] <group>
/user <user> agrp [<world>] <group>
/user <user> ag [<world>] <group>
Set user group. This will not affect other groups
Example:
/user fromgate ag admin
/user <user> removegroup [<world>] <group>
/user <user> rmvgrp [<world>] <group>
/user <user> rgrp [<world>] <group>
/user <user> rg [<world>] <group>
Remove user from group.
/user <user> setprefix <prefix>
/user <user> prefix <prefix>
/user <user> px <prefix>
/user <user> setsuffix <suffix>
/user <user> suffix <suffix>
/user <user> sx <suffix>
/group [<group>]
Display list of groups or show info about provided group
/group create <group>
/group new <group>
Create new group
/group remove <group>
/group rmv <group>
/group delete <group>
/group del <group>
Delete group. This will not affect users' files so if you will create a new group with same name all previous members will join new group too.
/group <group> addperm [<world>] <permission>
/group <group> setperm [<world>] <permission>
/group <group> aperm [<world>] <permission>
/group <group> sp [<world>] <permission>
Set permission node for group. If you need to define permission node that related to world you need to define (additionally) world name. For negative permissions you need to use symbol "-" before permission. These permissions will affect all group members.
Examples:
/group vip sp -fantastic.permission
/group vip sp nether_world magic.permission
/group <group> removeperm [<world>] <permission>
/group <group> rmvperm [<world>] <permission>
/group <group> rperm [<world>] <permission>
/group <group> rp [<world>] <permission>
Remove group permission.
Example:
/group vip rp fantastic.permission
/group <group> setgroup [<world>] <group2>
/group <group> setgrp [<world>] <group2>
/group <group> sgrp [<world>] <group2>
/group <group> sg [<world>] <group2>
Move group into "parent group". This group will inherit all permissions provided by parent group. Another group (defined previously) will be removed. Players - members of target group will have permissions defined by target and parent group.
/group <group> addgroup [<world>] <group2>
/group <group> addgrp [<world>] <group2>
/group <group> agrp [<world>] <group2>
/group <group> ag [<world>] <group2>
Add additional parent group to target group. Players - members of target group will have permissions defined by all groups.
/group <group> removegroup [<world>] <group2>
/group <group> rmvgrp [<world>] <group2>
/group <group> rgrp [<world>] <group2>
/group <group> rg [<world>] <group2>
Remove group from group group2.
/group <group> setprefix <prefix>
/group <group> prefix <prefix>
/group <group> px <prefix>
/group <group> setsuffix <suffix>
/group <group> suffix <suffix>
/group <group> sx <suffix>
File: config.yml
# Multipass, Nukkit permission system
#
general:
# Messages language. Supported languages:
# eng - English,
# rus - Russian,
# tur - Turkish.
# You can help translate plugin: https://crowdin.com/project/multipass/invite
language: default
# Save translation file
language-save: false
# Debug mode. Usually you don't need to turn it on
debug: false
permissions:
group:
# Default group. All new players will automagically join this group
default-group: default
# Default priority value for groups
default-priority: 10
# Use group name to add additional permission. If this option is enabled all
# group members will have additional permission: permission.group.<groupId>
group-as-permission: true
user:
# Default priority value for users
default-priority: 100
multiworld:
# Enable multiworld support
enable: false
# Enable world mirroring
mirrors:
world: nether_world, end_world
storage:
# Database type:
# - YAML - yaml files
# - DATABASE - MySQL or SQLite. DbLib plugins is required: http://nukkit.ru/resources/dblib.14/
type: YAML
# Auto-update interval (for multi-server system). If this values is not equal to '0'
# groups and permissions will be automatically updated.
# Time format: 1s - 1 second, 1m - 1 minute, 1h - one hour
auto-update-interval: '0'
database:
# Database configuration:
# - DEFAULT - default database, configured in plugin DbLib
# - SQLITE - custom SQLite file (filename provided below)
# - MYSQL - custom MySQL database (configuration provided below)
source: DEFAULT
sqlite:
# Custom SQLite file name
file: permissions.db
# Custom MySQL configuration
mysql:
host: localhost
port: 3306
database: database
username: nukkit
password: tikkun
File : groups.yml
# Group configuration example:
#
#default:
# groups: # List of group (all group defined in this file)
# - vip
# permissions: # List of permissions.
# - plugin.vip
# - plugin.test
# prefix: '&6[VIP]' # Group prefix, used by third-party plugins
# suffix: '' # Group suffix, used by third-party plugins
# priority: 10 # Group priority
# worlds: # List of per-world permissions and groups
# end:
# groups:
# - vip_end
# permissions:
# - -plugin.vip # Negative permission starts with "-"
# - -plugin.test
default:
groups: []
permissions:
- default.permission
prefix: '[guest]'
suffix: ''
priority: 0
worlds:
world1:
groups:
- worldgroup
permissions:
- world.permission
User configuration files stored in /plugins/users/
folder.
For example: /plugins/users/fromgate.yml
Here is example of user configuration file:
groups:
- default
- testgroup
permissions:
- test.permission
- -default.permission
prefix: '[vip]'
suffix: ''
priority: 100
worlds:
world1:
groups:
- worldgroup
permissions:
- world.permission