功能
- 独立的权限与权限组
- 权限组继承
- 不同世界有不同的权限与组
- API 开发者工具
- 权限
multipass.admin - 使用Multipass指令
指令
基础指令
/perm help
重载配置
/perm reload
刷新权限
/perm refresh检测权限
/perm update
/perm recalculate
刷新所有用户的权限。我希望你不需要使用这个指令
/perm check <玩家>将权限导为文件
检测玩家是否有权限
这个指令智能检测在线玩家.
/perm export [<文件名>]从文件中导入权限
导出权限(所有组与用户)到一个文件内.
例子:
/perm export data - 保存所有权限到 data.yml 文件中
/perm import [overwrite] [<文件名>]显示玩家的信息
/perm import [over] [<文件名>]
从文件中导入权限. 参数 "overwrite" 会使导入信息之前先删除所有的组和用户
例子:
/perm import data - 从 data.yml 文件中载入权限信息
/perm import overwrite - 删除所有的权限然后从 import.yml 载入权限信息
/user <用户>移除用户
显示用户的完整信息 (权限组, 权限, 前缀, 后缀)
/user remove <玩家>设置用户权限
/user rmv <玩家>
/user delete <玩家>
/user del <玩家>
删除玩家的信息. 如果玩家是在线玩家,则会重新创建一个新的记录并且玩家会被加入到默认组中(如果配置文件中定义的话)。
/user <用户> setperm [<世界>] <权限.节点>移除用户权限
/user <用户> sp [<世界>] <权限.节点>
/user <用户> addperm [<世界>] <权限.节点>
/user <用户> ap [<世界>] <权限.节点>
设置用户的权限节点。如果你需要定义世界限制的权限节点则定义世界名。如果要使用负的权限则在权限之前添加符号"-".
例子:
/user fromgate sp -一个特别优秀.的插件
/user <用户> removeperm [<世界>] <权限.节点>
/user <用户> rmvperm [<世界>] <权限.节点>
/user <用户> rperm [<世界>] <权限.节点>
/user <用户> rp [<世界>] <权限.节点>
移除用户的权限
例子:
/user fromgate rp 一个特别优秀.的插件
设置用户的权限组/user <用户> setgroup [<世界>] <权限组>添加用户的权限组
/user <用户> setgrp [<世界>] <权限组>
/user <用户> sgrp [<世界>] <权限组>
/user <用户> sg [<世界>] <权限组>
设置用户的权限组。玩家所在的其他组会被移除
例子:
/user cytrus sg vip
/user <用户> addgroup [<世界>] <权限组>移除玩家的权限组
/user <用户> addgrp [<世界>] <权限组>
/user <用户> agrp [<世界>] <权限组>
/user <用户> ag [<世界>] <权限组>
添加用户的权限组。不会影响到玩家的其他组
例子:
/user cytrus ag admin
/user <用户> removegroup [<世界>] <权限组>
/user <用户> rmvgrp [<世界>] <权限组>
/user <用户> rgrp [<世界>] <权限组>
/user <用户> rg [<世界>] <权限组>
移除用户所在的组
设置用户的前缀
/user <用户> setprefix <前缀>
/user <用户> prefix <前缀>
/user <用户> px <前缀>
设置用户的后缀
/user <用户> setsuffix <后缀>
/user <用户> suffix <后缀>
/user <用户> sx <后缀>
显示权限组信息
/group [<权限组>]创建一个新权限组
显示所有的权限组或单独的权限组的详细信息
/group create <权限组>移除权限组
/group new <权限组>
创建新的权限组
/group remove <权限组>设置权限
/group rmv <权限组>
/group delete <权限组>
/group del <权限组>
删除权限组。这个不会影响到玩家的信息文件,所以如果你创了一个相同名字的组,先前在同名的组的玩家也同样会加入新的组
/group <组> addperm [<世界>] <权限>移除权限
/group <组> setperm [<世界>] <权限>
/group <组> aperm [<世界>] <权限>
/group <组> sp [<世界>] <权限>
设置权限组的权限节点。如果你需要定义世界限制的权限节点则定义世界名。如果要使用负的权限则在权限之前添加符号"-",这会影响到所有在权限组内的用户。
例子:
/group vip sp -fantastic.permission
/group vip sp nether_world magic.permission
/group <组> removeperm [<世界>] <权限>设置权限组
/group <组> rmvperm [<世界>] <权限>
/group <组> rperm [<世界>] <权限>
/group <组> rp [<世界>] <权限>
移除权限组中的一个权限。
例子:
/group vip rp fantastic.permission
/group <权限组> setgroup [<世界>] <权限组2>添加权限组
/group <权限组> setgrp [<世界>] <权限组2>
/group <权限组> sgrp [<世界>] <权限组2>
/group <权限组> sg [<世界>] <权限组2>
移动权限组至"母体"。这个组会继承所有由母体提供的权限。另一个组则会被移除(定义的第一个权限组)。玩家 - 目标的权限组拥有来自母体的权限.
/group <组> addgroup [<世界>] <权限组2>移除关联小组
/group <组> addgrp [<世界>] <权限组2>
/group <组> agrp [<世界>] <权限组2>
/group <组> ag [<世界>] <权限组2>
天假一个额外的母体权限组到目标权限组。玩家 - 目标权限组的成员会有所有被定义的小组的权限
/group <组> removegroup [<世界>] <权限组2>设置权限组前缀
/group <组> rmvgrp [<世界>] <权限组>
/group <组> rgrp [<世界>] <权限组2>
/group <组> rg [<世界>] <权限组2>
从权限组2中移除权限组1.
/group <组> setprefix <前缀>
/group <组> prefix <前缀>
/group <组> px <前缀>
设置权限组后缀
/group <组> setsuffix <后缀>
/group <组> suffix <后缀>
/group <组> sx <后缀>
配置选项文件 config.yml
- # Multipass, Nukkit 权限组系统
- #
- general:
- # 语言文件. 支持语言:
- # eng - 英语,
- # rus - 俄语,
- # tur - 土耳其语.
- # 你可以在这里协助翻译插件: https://crowdin.com/project/multipass/invite
- language: default
- # 保存翻译文件
- language-save: false
- # Debug 模式. 平常你不需要开启
- debug: false
- permissions:
- group:
- # 默认权限组. 所有的新玩家都会自动加入这个权限组
- default-group: default
- # 默认权限组的优先权数值
- default-priority: 10
- # 使用权限组名来添加额外的权限。如果这个设置被开启
- # 所有的权限组员就会有额外的权限: permission.group.<权限组ID>
- group-as-permission: true
- user:
- # 玩家的默认优先权数值
- default-priority: 100
- multiworld:
- # 开启多世界支持
- enable: false
- # 开启世界镜像
- mirrors:
- world: nether_world, end_world
- storage:
- # 数据库类型:
- # - YAML - yaml 文件
- # - DATABASE - MySQL 或 SQLite. DbLib 需要作为前置: http://nukkit.ru/resources/dblib.14/
- type: YAML
- # 自动更新间隔(为多服务器系统设计). 如果这个数值不等于 '0'
- # 权限组和权限就会被自动更新
- # 时间格式: 1s - 1 秒, 1m - 1 分钟, 1h - 1小时
- auto-update-interval: '0'
- database:
- # 数据库配置:
- # - DEFAULT - 默认数据库,在 DbLib 中储存
- # - SQLITE - 自定义 SQLite 文件 (文件名需要在下面提供)
- # - MYSQL - 自定义 MySQL 数据库 (配置需要在下面提供)
- source: DEFAULT
- sqlite:
- # 自定义 SQLite 文件名称
- file: permissions.db
- # 自定义 MySQL 配置
- mysql:
- host: localhost
- port: 3306
- database: database
- username: nukkit
- password: tikkun
- 复制代码
权限组配置文件 groups.yml- # 权限组配置例子:
- #
- #default:
- # groups: # 权限组列表 (所有的权限组都会在这里被定义)
- # - vip
- # permissions: # 权限列表
- # - plugin.vip
- # - plugin.test
- # prefix: '&6[贵族]' # 权限组前缀,可以被第三方组队插件使用
- # suffix: '' # 权限组前缀,可以被第三方组队插件使用
- # priority: 10 # 权限组优先权
- # worlds: # 每个世界所拥有的组与权限
- # end:
- # groups:
- # - vip_end
- # permissions:
- # - -plugin.vip # 否定权限需要在前面添加 "-"
- # - -plugin.test
- default:
- groups: []
- permissions:
- - default.permission
- prefix: '[游客]'
- suffix: ''
- priority: 0
- worlds:
- world1:
- groups:
- - worldgroup
- permissions:
- - world.permission
- 复制代码
用户配置文件
用户文件被保存在 /plugins/users/ 文件夹内. 这是一个例子: /plugins/users/Cytrus.yml
这里是一个用户文件的例子:- groups:
- - default
- - testgroup
- permissions:
- - test.permission
- - -default.permission
- prefix: '[会员]'
- suffix: ''
- priority: 100
- worlds:
- world1:
- groups:
- - worldgroup
- permissions:
- - world.permission