• 因近日遭受攻击,百科现已限制新用户的编辑权限,一段时间后成为自动确认用户方可编辑。

Difference between revisions of "LuckPerms"

From Minecraft插件百科
Jump to: navigation, search
(选择存储类型)
(使用教程)
Line 320: Line 320:
 
</pre>
 
</pre>
 
===使用教程===
 
===使用教程===
 +
这篇教程是为之前从来没有使用过权限管理插件的人所准备的。
 +
 +
如果你已经很熟悉权限管理等相关概念了的话,我认为你应该就能够理解命令中的东西了。
 +
 +
这样我就推荐你去阅读[https://github.com/PluginsCDTribe/LuckPerms/wiki/Command-Usage 命令和权限]页面,这样更加“直奔主题”,你也能够更容易理解插件的工作方法。
 +
 +
如果你正在努力想弄明白权限管理相关概念的话,这篇教程就是你起步的最佳地方:)
 +
 +
 +
====关键术语====
 +
'''权限'''
 +
 +
在你的服务器上会有大量的**特性,命令和一些新功能**。
 +
 +
这其中的一些特性是服务器自带的,另一些是由“插件”所添加的。
 +
 +
与这些特性相联系的大多数行为都是由权限所控制的,因此你可以控制哪些用户可以使用你指定的特性或权限。
 +
 +
**权限仅仅是个字符串**,并且使用英文的句号(半角 → . ←)分成几部分。
 +
 +
举个例子, “minecraft.command.ban” 就是原版 /ban 命令所使用的权限。
 +
 +
显然我们不想让所有用户都能执行这个命令,所以我们只给我们信任的玩家这个权限。
 +
 +
代表特定行为的使用许可的字符串,我们就称之为权限,它又名“权限节点”,简称“权限”。
 +
 +
'''权限组'''
 +
 +
代替单独为每个用户设置权限,我们可以将**权限捆绑为一组**,然后直接将这一组**给予玩家**。
 +
 +
举个例子,在我设置的“admin”权限组中,我可能会添加使用ban和unban指令的权限,然后将玩家加入admin权限组中。
 +
 +
这意味着他们能够获得“admin”权限组所设置的所有权限和他们自身被设置的权限。
 +
 +
'''继承'''
 +
 +
用户和权限组能够**互相继承权限**。
 +
 +
举个例子,默认地,所有的用户都会从“default”权限组继承权限。
 +
 +
你可以为你自己的服务器设置你自己的权限组与继承方式,或是制作你自己独特的系统。
 +
 +
举个例子,我设置了三个权限组, “default”, “moderator” 和 “admin”。
 +
 +
我想让“moderator”权限组从“default”权限组继承所有权限,“admin”权限组从“moderator”权限组继承所有权限。
 +
 +
====起步====
 +
 +
如果你还没有将LuckPerms插件安装在你的服务器上的话,我们推荐你先阅读[https://github.com/PluginsCDTribe/LuckPerms/wiki/Setup 安装]有关的教程。
 +
 +
然后,请确保你在继续之前已经阅读了[https://github.com/PluginsCDTribe/LuckPerms/wiki/Choosing-a-Storage-type 选择数据存储类型]的有关章节。
 +
 +
虽然你在后期也能实现数据之间的转移,但第一次就将他们弄对位置是更好的。
 +
 +
'''给予修改权限的全部权限'''
 +
 +
你想做的第一件事情就是给你本插件的所有权限。
 +
 +
当本插件首次安装后,没有人能够使用LuckPerms插件的有关命令。
 +
 +
要想做到这个的话,你需要在服务器控制台输入 `/luckperms user Luck permission set luckperms.* true` 。
 +
 +
当然,请把我的名字换成你自己的(不用担心,这条命令的使用方法之后会详细讲解)
 +
 +
这应该就是运行的结果:
 +
 +
[[文件:LPUsage1.png]]
 +
 +
实际上,这条命令起的效果,就是给了 `Luck` 用户 `luckperms.*` 权限。(或者说,为用户设置权限为 true)
 +
 +
你可能已经注意到了我们刚才在权限字符串的末端使用的 `*` 字符了。
 +
 +
这个字符叫做通配符,它会给玩家**所有**以 "luckperms" 为开头的权限。
 +
 +
'''创建第一个权限组'''
 +
 +
我们可以使用创建权限组命令来创建一个新的权限组。
 +
 +
让我们创建一个叫做“admin”的权限组,然后给它附加一条权限吧。
 +
 +
首先,运行 [https://github.com/PluginsCDTribe/LuckPerms/wiki/Command-Usage#lp-creategroup `/luckperms creategroup admin`] 命令。
 +
 +
这会创建一个叫做“admin”的空权限组。
 +
 +
[[文件:LPUsage2.png]]
 +
 +
接下来,我们想为“admin”权限组增加一条权限。
 +
 +
用来修改权限组的命令是 [https://github.com/PluginsCDTribe/LuckPerms/wiki/Command-Usage#group---lp-group-group- `/luckperms group <group>`]。
 +
 +
如果你执行这条命令的话,它会为你显示所有可用的子命令。
 +
 +
[[文件:LPUsage3.png]]
 +
 +
你可能注意到了第一个子命令是“info”命令。它只会列举出一些权限组相关的信息。
 +
 +
我们可以运行 [https://github.com/PluginsCDTribe/LuckPerms/wiki/Command-Usage#lp-group-group-info `/luckperms group admin info`] 来查看新建立的“admin”权限组的一些信息。
 +
 +
[[文件:LPUsage4.png]]
 +
 +
接下来就是“permission”命令。这能够帮助你修改权限组的权限。
 +
 +
再一次,使用 [https://github.com/PluginsCDTribe/LuckPerms/wiki/Command-Usage#permission---lp-user-user-permission---lp-group-group-permission- `/luckperms group admin permission`] 命令会列出所有可用的子命令。
 +
 +
[[文件:LPUsage5.png]]
 +
 +
再一次,我们看到了更多我们可以执行的命令。
 +
 +
第一个就是另一个 "info" 子命令。
 +
 +
因为它是“permission”子命令下的又一子命令,它就会显示某一权限组所拥有的所有权限。
 +
 +
下面的命令是“set”子命令。
 +
 +
你还记得吗,之前我们使用相似的指令来给玩家 "luckperms.*" 权限。这里它也相同
 +
 +
只需要不加参数运行该命令就可以返回该命令的使用方法。举个例子:
 +
 +
[[文件:LPUsage6.png]]
 +
 +
举个例子,我想给我的“admin”用户组 "minecraft.command.ban" 权限。
 +
 +
因此我可以输入 [https://github.com/PluginsCDTribe/LuckPerms/wiki/Command-Usage#lp-usergroup-usergroup-permission-set `/luckperms group admin permission set minecraft.command.ban true`] 。
 +
 +
[[文件:LPUsage7.png]]
 +
 +
这条命令就会给予 `admin` 用户组 `minecraft.command.ban permission` 权限。
 +
 +
末端的true控制我们设置的权限的启用与否。
 +
 +
你可以将权限的启用与否设置为 `true` 或 `false` 。
 +
 +
为用户或权限组将权限设置为 true 能够让他们拥有该权限,设置为 false 即该权限无效。(指定他们没有该权限)
 +
 +
如果晚些时候我决定不再让“admin”用户组拥有这个权限了,我可以使用 unset 命令来移除该权限的设定。
 +
 +
输入 [https://github.com/PluginsCDTribe/LuckPerms/wiki/Command-Usage#lp-usergroup-usergroup-permission-unset `/luckperms group admin permission unset minecraft.command.ban`] 。
 +
 +
[[文件:LPUsage8.png]]
 +
 +
'''将玩家加入到权限组中'''
 +
 +
将用户加入到权限组中需要使用 "parent" 命令。(在我们的命令使用页我们经常用“permission”替换“parent”)
 +
 +
举个例子,把我自己加入“admin”权限组中,我需要使用 [https://github.com/PluginsCDTribe/LuckPerms/wiki/Command-Usage#lp-usergroup-usergroup-parent-add `/luckperms user Luck parent add admin`] 。
 +
 +
[[文件:LPUsage9.png]]
 +
 +
这条命令会将用户 `Luck` 加入到 `admin` 权限组中。
 +
 +
这意味着任何“admin”权限组所拥有的权限我现在也继承下来了。
 +
 +
'''让一个权限组继承另一个权限组'''
 +
 +
就像用户能够继承一样,权限组也能够继承另一个权限组。
 +
 +
举个例子,想想下面这种情况的设置方法。(有些权限仅仅是为了演示而编造出来的)
 +
 +
{| class="wikitable"
 +
|-
 +
! Admin !! Mod !! Default
 +
|-
 +
|-------|-----|---------
 +
|-
 +
| minecraft.command.ban || minecraft.command.mute || minecraft.command.say
 +
|-
 +
| minecraft.command.pardon || minecraft.command.unmute|| minecraft.command.me
 +
|-
 +
| some.cool.admin.perm || some.cool.mod.perm || 
 +
|-
 +
| someplugin.vanish || chatcolor.bold | |
 +
|}
 +
 +
我想让“admin”权限组中的用户拥有“mod”和“default”权限组的权限,同时“mod”权限组中的用户拥有“default”权限组中的权限。要想实现这个的话,我可以设置用户组之间的相互继承。
 +
 +
[https://github.com/PluginsCDTribe/LuckPerms/wiki/Command-Usage#lp-usergroup-usergroup-parent-add `/luckperms group admin parent add mod`] 命令会让“admin”权限组继承所有“mod”权限组中的权限。
 +
 +
然后要想让“mod”继承“default”,同样的道理,我可以输入 `/luckperms group mod parent add default`。
 +
 +
[[文件:LPUsage10.png]]
 +
 +
继承是可递归的,所以这样以后“admin”权限组就不仅仅继承了“mod”权限组,还继承了“default”权限组。
 +
 +
这意味着“admin”权限组中的玩家拥有“mod”**和**“default”两权限组中的权限了。
 +
 +
在“admin”组的一位用户因此拥有 `minecraft.command.ban`,`minecraft.command.mute` *和* `minecraft.command.say` 权限。
 +
 +
'''移除继承权限组'''
 +
 +
要想移除权限组间的继承关系只需要输入一个类似的命令就好了。
 +
 +
要想让我自己不再继承“admin”权限组,我只要输入 [https://github.com/PluginsCDTribe/LuckPerms/wiki/Command-Usage#lp-usergroup-usergroup-parent-remove `/luckperms user Luck parent remove admin`] 就好了。
 +
 +
[[文件:LPUsage11.png]]

Revision as of 14:35, 7 August 2017

欢迎来到 LuckPerms wiki。这里你将会找到本插件的完整的使用文档,包括了安装、设置、配置和如何高效的使用 LuckPerms。

从何开始?

如果您从未使用过任意权限插件,我推荐你从头开始看。

基础都在[使用教程]页面。

完整的命令使用在[命令使用]页面。

什么也没找到?

如果你有更多的问题是这篇Wiki没有解决的,你可以通过以下几种方式联系我。

  • [Discord 服务器] (就算我不在,也有很多人帮助你!)
  • 在 irc.esper.net 我是 "Luck",我也在 irc.spi.gt 和 chat.freenode.net
  • 在 SpigotMC 和 Sponge 论坛我是 "Luck"
  • 在[GitHub]提交一个 issue (如果你要提交一个BUG,这是最好的方式)

一些有用的链接

为什么选择LuckPerms?

这是另外一款全新的权限插件?

是的,我认为LuckPerm相比其他权限插件还有很大的发展空间。

LuckPerm是一款先进、高等的权限插件,仅仅以快速稳定可靠灵活多变的特点,

便可以替代现有的许多权限插件,例如PermissionsEX、GroupManagerX、z/bPermissions、BungeePerms等主流权限插件。

LuckPerms这个插件的计划,本来是围绕着两个主要特点来制作的:高性能、强大且广泛的功能,

填补其他同类插件的功能缺陷、并且建立在同类现有功能上更进一步的优化功能。

LuckPerms还包括了非常广泛的API支持,这是为开发人员的添加的,

并且,luckperms还兼容各式各类Minecraft服务器软件&支持多种数据存储的选择。

我已经使用某插件很长一段时间了,它对我的帮助很大,我也很熟悉它了,为什么我要更换它而选择LuckPerm呢?

现在主流的权限插件大多数都是老牌插件了,并且都是在Bukkit早期就被创造出来了。

虽然,这可能意味着它们非常的稳定可靠,但通常也意味着它们被原作者抛弃,并且一般不会再有任何更新、修复,

但LuckPerm却任然是一个需要成长、需要磨砺的插件!

我会尽力及时查看并回复所有的bug报告、问题,以及可实现的新功能建议

你说的不错,但是我更加偏爱某插件,因为仅凭它就完成了我需要的一切

这没关系,我完全理解你的这种心态,我并不是想要说你**必须**用LuckPerm来作为你服务器的权限插件。

当然还有更多适合你服务器权限插件,但是LuckPerm确实是个很棒的选择,不是么?

来吧兄弟,告诉我,我为什么要使用LuckPerm?

LuckPerm能做很多事情,至少单在技术层面,LuckPerm就胜过大部分同类插件。

我认为这不取决于我制作插件的水平,而是取决于我在LuckPerm上面花费的精力与时间。

LuckPerm是我在2016年开始准备编写的插件,但因为Bukkit变得流行起来,许多同一时期的插件都变成了老牌稳定插件,

不过,这也为我编写LuckPerm提供的很好的参考帮助,因为我可以避免其它同类插件的缺陷,

并且明白它们哪些地方做的特别出色,我可以在其基础之上进一步优化,使那部分功能变得更加引人瞩目。

记着,如果你对LuckPerm技术性方面的内容感兴趣,我推荐你从[命令使用]部分开始阅读

或者看看wiki列出的其他部分内容,在本节的其余部分,我会将阅读重点放到LuckPerm一些全新的特色功能上面。

这些内容是你不太可能从其他插件中找到的,专属luckPerm的特色功能!

Verbose(权限查看系统)

LuckPerm有一套完整的权限查看系统,是的,它叫做[verbose]。

他可以实时监视并检测其他插件所需的权限,就像下面示例的动态图那样:【图片过大 请去wiki页面查看】

你也可以把录像上传到网上,方便查看、分析和阅读:

[https://git.io/vQitM]

权限树系统

LuckPerm允许你在服务器所有已知权限上建立编写"权限树"。

权限树上的数据是由你所有的插件在服务器注册的权限构成的。

随着你服务器运营时间的增长,因为服务器添加了许多插件,它们都会注册权限,这些数据都会被纳入权限树中。

这是个清真的例子 [https://git.io/vQiti]。 你看到的权限树的颜色,代表了你的玩家是否拥有对应的权限,这一机制很方便的让你查阅到服务器的相应权限。

这还是那个清真的例子 [[1]]

指令界面&TAB补全

LuckPerm的指令系统被我设计的尽可能便捷、易用、人性化,

这样一来,你除了查阅LuckPerm的[大量相关帮助文档],还可以在游戏中查看指令用法、以及指令列表。

Luck-1.png

LuckPerm的所有指令皆可使用TAB补全功能,这就意味着,你可以通过输入更少的指令来完成你的工作!

这是不是在一定程度极大地提高了你的工作效率呢?就像下面那样:

AnnualYoungKoi-size restricted.gif

网站编辑器

除了使用指令来编辑服务器权限相关,LuckPerm还提供了更加便捷的编辑方式,

你可以使用Web网站编辑器来对服务器的权限数据进行快速更改,

任何人都能够使用网站编辑器,不论你使用了哪种存储方式!

网站编辑功能非常容易使用,且易于上手

【图片过大 请去wiki页面查看】

行为记录仪

为了防止服务器中出现心存不轨的管理员,想要私自给自己添加权限,

LuckPerm详细的记录了服务器各类权限的微小变化,

你可以通过行为记录仪来搜索每个人的详细操作。

Luck-2.png

你也可以查看所有东西的详细历史。

安装

安装

初始设置

1. 下载适合你平台的 `LuckPerms-???-x.x.x.jar` 文件。你可以点这里查看最新的版本。

2. 打开你的 Mod 或插件所在路径,这路径通常要么是 `/server/plugins/` ,要么是 `/server/mods/`。

然后把 LuckPerms 的 jar 文件放入文件夹中。

3. 请完全关闭你的服务器,然后再打开,这会生成默认配置。

4. 完全关闭你的服务器,打开配置文件。配置文件的位置在 `/plugins/LuckPerms/config.yml` 或 `/config/luckperms/luckperms.conf`。

5. 请浏览配置文件,然后根据你的服务器修改设置,尤其是请注意存储相关设置。

6. 再次开启你的服务器。

你可以更改配置文件中的很多内容,文件有很细节化的注释,每个设置的作用注释中都解释的很清楚。

需求

LuckPerms 插件只有一个环境需求。

  • Java 8

没错,唯一需求就是你必须使用 Java 8,LuckPerms 插件在旧版本的Java上不会工作。

到目前为止很多服务器提供商都已经升级到Java 8了,但是如果你的服务器提供商没有升级的话,请温和地和他们谈谈,让他们去升级。

如果你是自己租主机开服的话,你应该对你还没有升级Java感到羞愧!

升级的过程是很简单的,如果你想升级的话网上也有大量的教程。

使用过期的软件肯定不是好的:)

Bukkit版本过旧

如果你收到了类似于 "NoSuchMethod" 或 "ClassNotFound" 这类错误的话,十有八九就是你在使用较旧的Bukkit版本。

在将它作为错误报告给我之前,请尝试使用"Development Builds"(构建版本)下载页面的"Bukkit-Legacy"(Bukkit-旧版)版本。

切换存储类型

LuckPerms 插件所使用的默认数据存储类型是 H2 数据库

所有的数据都会储存在LuckPerms插件目录下的 `luckperms.db.mv.db` 文件之中。

(插件目录为 `/plugins/LuckPerms/` 或 `/luckperms/`)

这个数据格式普通的文本编辑器是**不能读取**的。

如果你想要手动阅读/编辑LuckPerms插件的数据的话,你就需要切换到**YAML或JSON**存储格式,更改 `config.yml` 文件中的配置选项就好了。

更多相关于存储类型的有关信息请阅读[下一节]

选择存储类型

LuckPerms 插件带有很多存储数据的方式,你可以从中选择。

存储类型选项可以在 `config.yml` 或 `luckperms.conf` 文件中修改。

# Which storage method the plugin should use.
# Currently supported: mysql, postgresql, sqlite, h2, json, yaml, mongodb
# Fill out connection info below if you're using MySQL, PostgreSQL or MongoDB
storage-method: h2

请记住如果你想改变存储类型的话,你的数据不会自动转移到新的存储库中。

要想手动在数据存储方式间转移数据的话,请查看这里来获得更多信息。

可用的选项都列在了下面。

H2 / SQLite

默认的存储类型是 H2

这两种文件类型都是以SQL数据库为基础的。

所有的数据都会存储在LuckPerms插件目录下的一个文件之中。

和YAML和JSON方式的不同之处在于,这个文件不能用文本编辑器打开。

你必须使用插件提供的命令才能编辑或查看数据。

如果你选择使用 H2 数据库的话(默认设置),所有的数据都会储存在 `luckperms-h2.mv.db` 文件中。

SQLite 类型所提供的存储文件是 `luckperms-sqlite.db`。

要想使用这两种类型中的一种,请将配置设置为:

storage-method: h2
# or
storage-method: sqlite

JSON / YAML

JSON 和 YAML 存储类型会将数据存储在可读可编辑的文本文件中。YAML 类型所提供的文件扩展名为 `.yml` ,JSON类型所提供的文件扩展名为 `.json`。

这两种类型的存储格式很相似,只是在一些句法上不同。

示例 YAML 文件

uuid: c1d60c50-70b5-4722-8057-87767557e50d
name: Luck
primary-group: default
permissions:
- group.default:
    value: true
- test.permission:
    value: true
    server: factions
- other.test.permission:
    value: false

示例 JSON 文件

{
  "uuid": "c1d60c50-70b5-4722-8057-87767557e50d",
  "name": "Luck",
  "primaryGroup": "default",
  "permissions": [
    {
      "group.default": {
        "value": true
      }
    },
    {
      "test.permission": {
        "value": true,
        "server": "factions"
      }
    },
    {
      "other.test.permission": {
        "value": false,
        "server": "test"
      }
    }
  ]
}

要想使用这两种类型中的一种,请将配置设置为:

storage-method: yaml
# or
storage-method: json

MySQL / PostgreSQL

储存在 MySQL 类型和 PostgreSQL 类型中的数据格式上与上文提及的 H2/SQLite 类型相同,但是数据是储存在远程服务器上的。

这意味着你可以跨服分享相同的数据。

你需要在配置文件中输入你数据库服务器的地址,端口,数据库名,用户名和密码。

这种类型推荐要存储大量数据的用户,或是想要搭建群组服务器的用户所使用。

如果你已经在运行群组服务器,并且想要在子服务器之间同步数据的话,你就必须选择这种类型了。

格式布局示例在这里

要想使用这两种选项中的一种,请将配置设置为:

storage-method: mysql
# or
storage-method: postgresql

MongoDB

LuckPerms 也支持 MongoDB 类型的存储,它也是一种远程数据库,在有些方面上和 MySQL 相似。

这种类型也只会被一小部分的用户所使用。

要想使用这种类型的存储,请将配置设置为:

storage-method: mongodb

使用教程

这篇教程是为之前从来没有使用过权限管理插件的人所准备的。

如果你已经很熟悉权限管理等相关概念了的话,我认为你应该就能够理解命令中的东西了。

这样我就推荐你去阅读命令和权限页面,这样更加“直奔主题”,你也能够更容易理解插件的工作方法。

如果你正在努力想弄明白权限管理相关概念的话,这篇教程就是你起步的最佳地方:)


关键术语

权限

在你的服务器上会有大量的**特性,命令和一些新功能**。

这其中的一些特性是服务器自带的,另一些是由“插件”所添加的。

与这些特性相联系的大多数行为都是由权限所控制的,因此你可以控制哪些用户可以使用你指定的特性或权限。

    • 权限仅仅是个字符串**,并且使用英文的句号(半角 → . ←)分成几部分。

举个例子, “minecraft.command.ban” 就是原版 /ban 命令所使用的权限。

显然我们不想让所有用户都能执行这个命令,所以我们只给我们信任的玩家这个权限。

代表特定行为的使用许可的字符串,我们就称之为权限,它又名“权限节点”,简称“权限”。

权限组

代替单独为每个用户设置权限,我们可以将**权限捆绑为一组**,然后直接将这一组**给予玩家**。

举个例子,在我设置的“admin”权限组中,我可能会添加使用ban和unban指令的权限,然后将玩家加入admin权限组中。

这意味着他们能够获得“admin”权限组所设置的所有权限和他们自身被设置的权限。

继承

用户和权限组能够**互相继承权限**。

举个例子,默认地,所有的用户都会从“default”权限组继承权限。

你可以为你自己的服务器设置你自己的权限组与继承方式,或是制作你自己独特的系统。

举个例子,我设置了三个权限组, “default”, “moderator” 和 “admin”。

我想让“moderator”权限组从“default”权限组继承所有权限,“admin”权限组从“moderator”权限组继承所有权限。

起步

如果你还没有将LuckPerms插件安装在你的服务器上的话,我们推荐你先阅读安装有关的教程。

然后,请确保你在继续之前已经阅读了选择数据存储类型的有关章节。

虽然你在后期也能实现数据之间的转移,但第一次就将他们弄对位置是更好的。

给予修改权限的全部权限

你想做的第一件事情就是给你本插件的所有权限。

当本插件首次安装后,没有人能够使用LuckPerms插件的有关命令。

要想做到这个的话,你需要在服务器控制台输入 `/luckperms user Luck permission set luckperms.* true` 。

当然,请把我的名字换成你自己的(不用担心,这条命令的使用方法之后会详细讲解)

这应该就是运行的结果:

LPUsage1.png

实际上,这条命令起的效果,就是给了 `Luck` 用户 `luckperms.*` 权限。(或者说,为用户设置权限为 true)

你可能已经注意到了我们刚才在权限字符串的末端使用的 `*` 字符了。

这个字符叫做通配符,它会给玩家**所有**以 "luckperms" 为开头的权限。

创建第一个权限组

我们可以使用创建权限组命令来创建一个新的权限组。

让我们创建一个叫做“admin”的权限组,然后给它附加一条权限吧。

首先,运行 `/luckperms creategroup admin` 命令。

这会创建一个叫做“admin”的空权限组。

LPUsage2.png

接下来,我们想为“admin”权限组增加一条权限。

用来修改权限组的命令是 `/luckperms group <group>`

如果你执行这条命令的话,它会为你显示所有可用的子命令。

LPUsage3.png

你可能注意到了第一个子命令是“info”命令。它只会列举出一些权限组相关的信息。

我们可以运行 `/luckperms group admin info` 来查看新建立的“admin”权限组的一些信息。

LPUsage4.png

接下来就是“permission”命令。这能够帮助你修改权限组的权限。

再一次,使用 `/luckperms group admin permission` 命令会列出所有可用的子命令。

LPUsage5.png

再一次,我们看到了更多我们可以执行的命令。

第一个就是另一个 "info" 子命令。

因为它是“permission”子命令下的又一子命令,它就会显示某一权限组所拥有的所有权限。

下面的命令是“set”子命令。

你还记得吗,之前我们使用相似的指令来给玩家 "luckperms.*" 权限。这里它也相同

只需要不加参数运行该命令就可以返回该命令的使用方法。举个例子:

LPUsage6.png

举个例子,我想给我的“admin”用户组 "minecraft.command.ban" 权限。

因此我可以输入 `/luckperms group admin permission set minecraft.command.ban true`

LPUsage7.png

这条命令就会给予 `admin` 用户组 `minecraft.command.ban permission` 权限。

末端的true控制我们设置的权限的启用与否。

你可以将权限的启用与否设置为 `true` 或 `false` 。

为用户或权限组将权限设置为 true 能够让他们拥有该权限,设置为 false 即该权限无效。(指定他们没有该权限)

如果晚些时候我决定不再让“admin”用户组拥有这个权限了,我可以使用 unset 命令来移除该权限的设定。

输入 `/luckperms group admin permission unset minecraft.command.ban`

LPUsage8.png

将玩家加入到权限组中

将用户加入到权限组中需要使用 "parent" 命令。(在我们的命令使用页我们经常用“permission”替换“parent”)

举个例子,把我自己加入“admin”权限组中,我需要使用 `/luckperms user Luck parent add admin`

LPUsage9.png

这条命令会将用户 `Luck` 加入到 `admin` 权限组中。

这意味着任何“admin”权限组所拥有的权限我现在也继承下来了。

让一个权限组继承另一个权限组

就像用户能够继承一样,权限组也能够继承另一个权限组。

举个例子,想想下面这种情况的设置方法。(有些权限仅仅是为了演示而编造出来的)

Admin Mod Default
minecraft.command.ban minecraft.command.mute minecraft.command.say
minecraft.command.pardon minecraft.command.unmute minecraft.command.me
some.cool.admin.perm some.cool.mod.perm
someplugin.vanish |

我想让“admin”权限组中的用户拥有“mod”和“default”权限组的权限,同时“mod”权限组中的用户拥有“default”权限组中的权限。要想实现这个的话,我可以设置用户组之间的相互继承。

`/luckperms group admin parent add mod` 命令会让“admin”权限组继承所有“mod”权限组中的权限。

然后要想让“mod”继承“default”,同样的道理,我可以输入 `/luckperms group mod parent add default`。

LPUsage10.png

继承是可递归的,所以这样以后“admin”权限组就不仅仅继承了“mod”权限组,还继承了“default”权限组。

这意味着“admin”权限组中的玩家拥有“mod”**和**“default”两权限组中的权限了。

在“admin”组的一位用户因此拥有 `minecraft.command.ban`,`minecraft.command.mute` *和* `minecraft.command.say` 权限。

移除继承权限组

要想移除权限组间的继承关系只需要输入一个类似的命令就好了。

要想让我自己不再继承“admin”权限组,我只要输入 `/luckperms user Luck parent remove admin` 就好了。

LPUsage11.png