本帖最后由 PQguanfang 于 2020-2-1 14:44 编辑
Multipass - 先进的权限组系统


权限插件  作者 Leeloo Dallas
Multipass 是一个可以提供普遍的权限系统的插件。





功能
  • 独立的权限与权限组
  • 权限组继承
  • 不同世界有不同的权限与组
  • API 开发者工具






请帮助我们翻译Multipass
现在MultiPass已经被翻译成了俄语,土耳其语,法语,韩文。请帮助我们翻译中文版
我们使用 Crowdin 来翻译 Multipass. 加入我们的翻译项目 > here





权限
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
  1. # Multipass, Nukkit 权限组系统
  2. #
  3. general:
  4. # 语言文件. 支持语言:
  5. # eng - 英语,
  6. # rus - 俄语,
  7. # tur - 土耳其语.
  8. # 你可以在这里协助翻译插件: https://crowdin.com/project/multipass/invite
  9.   language: default
  10. # 保存翻译文件
  11.   language-save: false
  12. # Debug 模式. 平常你不需要开启
  13.   debug: false
  14. permissions:
  15.   group:
  16. # 默认权限组. 所有的新玩家都会自动加入这个权限组
  17.     default-group: default
  18. # 默认权限组的优先权数值
  19.     default-priority: 10
  20. # 使用权限组名来添加额外的权限。如果这个设置被开启
  21. # 所有的权限组员就会有额外的权限: permission.group.<权限组ID>
  22.     group-as-permission: true
  23.   user:
  24. # 玩家的默认优先权数值
  25.     default-priority: 100
  26.   multiworld:
  27. # 开启多世界支持
  28.     enable: false
  29. # 开启世界镜像
  30.     mirrors:
  31.       world: nether_world, end_world
  32. storage:
  33. # 数据库类型:
  34. # - YAML - yaml 文件
  35. # - DATABASE - MySQL 或 SQLite. DbLib 需要作为前置: http://nukkit.ru/resources/dblib.14/
  36.   type: YAML
  37. # 自动更新间隔(为多服务器系统设计). 如果这个数值不等于 '0'
  38. # 权限组和权限就会被自动更新
  39. # 时间格式: 1s  - 1 秒, 1m - 1 分钟, 1h - 1小时
  40.   auto-update-interval: '0'
  41.   database:
  42. # 数据库配置:
  43. # - DEFAULT - 默认数据库,在 DbLib 中储存
  44. # - SQLITE  - 自定义 SQLite 文件 (文件名需要在下面提供)
  45. # - MYSQL   - 自定义 MySQL 数据库 (配置需要在下面提供)
  46.     source: DEFAULT
  47.     sqlite:
  48. # 自定义 SQLite 文件名称
  49.       file: permissions.db
  50. # 自定义 MySQL 配置
  51.     mysql:
  52.       host: localhost
  53.       port: 3306
  54.       database: database
  55.       username: nukkit
  56.       password: tikkun
复制代码


权限组配置文件 groups.yml
  1. # 权限组配置例子:
  2. #
  3. #default:
  4. #  groups:                # 权限组列表 (所有的权限组都会在这里被定义)
  5. #  - vip
  6. #  permissions:           # 权限列表
  7. #  - plugin.vip
  8. #  - plugin.test
  9. #  prefix: '&6[贵族]'      # 权限组前缀,可以被第三方组队插件使用
  10. #  suffix: ''             # 权限组前缀,可以被第三方组队插件使用
  11. #  priority: 10           # 权限组优先权
  12. #  worlds:                # 每个世界所拥有的组与权限
  13. #    end:
  14. #      groups:
  15. #      - vip_end
  16. #      permissions:
  17. #      - -plugin.vip      # 否定权限需要在前面添加 "-"
  18. #      - -plugin.test
  19. default:
  20.   groups: []
  21.   permissions:
  22.   - default.permission
  23.   prefix: '[游客]'
  24.   suffix: ''
  25.   priority: 0
  26.   worlds:
  27.     world1:
  28.       groups:
  29.       - worldgroup
  30.       permissions:
  31.       - world.permission
复制代码


用户配置文件
用户文件被保存在 /plugins/users/ 文件夹内. 这是一个例子: /plugins/users/Cytrus.yml
这里是一个用户文件的例子:
  1. groups:
  2. - default
  3. - testgroup
  4. permissions:
  5. - test.permission
  6. - -default.permission
  7. prefix: '[会员]'
  8. suffix: ''
  9. priority: 100
  10. worlds:
  11.   world1:
  12.     groups:
  13.     - worldgroup
  14.     permissions:
  15.     - world.permission
复制代码