欢迎来到Minecraft插件百科!
对百科编辑一脸懵逼?
帮助:快速入门
带您快速熟悉百科编辑!
因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
查看“LuckPerms”的源代码
←
LuckPerms
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于这些用户组的用户执行:
用户
、
自动确认用户
、
巡查者
您可以查看和复制此页面的源代码。
欢迎来到 LuckPerms wiki。这里你将会找到本插件的完整的使用文档,包括了安装、设置、配置和如何高效的使用 LuckPerms。 '''从何开始?''' 如果您从未使用过任意权限插件,我推荐你从头开始看。 基础都在[[https://github.com/PluginsCDTribe/LuckPerms/wiki/Usage 使用教程]]页面。 完整的命令使用在[[https://github.com/PluginsCDTribe/LuckPerms/wiki/Command-Usage 命令使用]]页面。 '''什么也没找到?''' 如果你有更多的问题是这篇Wiki没有解决的,你可以通过以下几种方式联系我。 * [[https://discord.gg/W3FzxHA Discord 服务器]] (就算我不在,也有很多人帮助你!) * 在 irc.esper.net 我是 "Luck",我也在 irc.spi.gt 和 chat.freenode.net * 在 SpigotMC 和 Sponge 论坛我是 "Luck" * 在[[https://github.com/lucko/LuckPerms/issues GitHub]]提交一个 issue (如果你要提交一个BUG,这是最好的方式) '''一些有用的链接''' * [[https://ci.lucko.me/job/LuckPerms 开发构建]] * [[https://luckperms.lucko.me/javadocs/ Javadocs]] ==为什么选择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技术性方面的内容感兴趣,我推荐你从[[https://github.com/PluginsCDTribe/LuckPerms/wiki/Command-Usage 命令使用]]部分开始阅读 或者看看wiki列出的其他部分内容,在本节的其余部分,我会将阅读重点放到LuckPerm一些全新的特色功能上面。 这些内容是你不太可能从其他插件中找到的,专属luckPerm的特色功能! '''Verbose(权限查看系统)''' LuckPerm有一套完整的权限查看系统,是的,它叫做[[https://github.com/PluginsCDTribe/LuckPerms/wiki/Verbose verbose]]。 他可以实时监视并检测其他插件所需的权限,就像下面示例的动态图那样:【图片过大 请去wiki页面查看】 你也可以把录像上传到网上,方便查看、分析和阅读: [[https://git.io/vQitM https://git.io/vQitM]] '''权限树系统''' LuckPerm允许你在服务器所有已知权限上建立编写"权限树"。 权限树上的数据是由你所有的插件在服务器注册的权限构成的。 随着你服务器运营时间的增长,因为服务器添加了许多插件,它们都会注册权限,这些数据都会被纳入权限树中。 这是个清真的例子 [[https://git.io/vQiti https://git.io/vQiti]]。 你看到的权限树的颜色,代表了你的玩家是否拥有对应的权限,这一机制很方便的让你查阅到服务器的相应权限。 这还是那个清真的例子 [[https://git.io/vQitihttps://git.io/vQiti]] '''指令界面&TAB补全''' LuckPerm的指令系统被我设计的尽可能便捷、易用、人性化, 这样一来,你除了查阅LuckPerm的[[https://github.com/PluginsCDTribe/LuckPerms/wiki/Command-Usage 大量相关帮助文档]],还可以在游戏中查看指令用法、以及指令列表。 [[文件:Luck-1.png]] LuckPerm的所有指令皆可使用TAB补全功能,这就意味着,你可以通过输入更少的指令来完成你的工作! 这是不是在一定程度极大地提高了你的工作效率呢?就像下面那样: [[文件:AnnualYoungKoi-size restricted.gif]] '''网站编辑器''' 除了使用指令来编辑服务器权限相关,LuckPerm还提供了更加便捷的编辑方式, 你可以使用Web网站编辑器来对服务器的权限数据进行快速更改, 任何人都能够使用网站编辑器,不论你使用了哪种存储方式! 网站编辑功能非常容易使用,且易于上手 【图片过大 请去wiki页面查看】 '''行为记录仪''' 为了防止服务器中出现心存不轨的管理员,想要私自给自己添加权限, LuckPerm详细的记录了服务器各类权限的微小变化, 你可以通过行为记录仪来搜索每个人的详细操作。 [[文件:Luck-2.png]] 你也可以查看所有东西的详细历史。 ==安装== ===安装=== '''初始设置''' 1. 下载适合你平台的 `LuckPerms-???-x.x.x.jar` 文件。你可以点[https://ci.lucko.me/job/LuckPerms/ 这里]查看最新的版本。 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` 文件中的配置选项就好了。 更多相关于存储类型的有关信息请阅读[[https://github.com/PluginsCDTribe/LuckPerms/wiki/Choosing-a-Storage-type 下一节]] ===选择存储类型=== LuckPerms 插件带有很多存储数据的方式,你可以从中选择。 存储类型选项可以在 `config.yml` 或 `luckperms.conf` 文件中修改。 <pre> # 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 </pre> 请记住如果你想改变存储类型的话,你的数据不会自动转移到新的存储库中。 要想手动在数据存储方式间转移数据的话,请查看[https://github.com/PluginsCDTribe/LuckPerms/wiki/Switching-storage-types 这里]来获得更多信息。 可用的选项都列在了下面。 '''H2 / SQLite''' 默认的存储类型是 '''H2'''。 这两种文件类型都是以SQL数据库为基础的。 所有的数据都会存储在LuckPerms插件目录下的一个文件之中。 和YAML和JSON方式的不同之处在于,这个文件不能用文本编辑器打开。 你必须使用插件提供的命令才能编辑或查看数据。 如果你选择使用 H2 数据库的话(默认设置),所有的数据都会储存在 `luckperms-h2.mv.db` 文件中。 SQLite 类型所提供的存储文件是 `luckperms-sqlite.db`。 要想使用这两种类型中的一种,请将配置设置为: <pre> storage-method: h2 # or storage-method: sqlite </pre> '''JSON / YAML''' JSON 和 YAML 存储类型会将数据存储在可读可编辑的文本文件中。YAML 类型所提供的文件扩展名为 `.yml` ,JSON类型所提供的文件扩展名为 `.json`。 这两种类型的存储格式很相似,只是在一些句法上不同。 '''''示例 YAML 文件''''' <pre> 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 </pre> '''''示例 JSON 文件''''' <pre> { "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" } } ] } </pre> 要想使用这两种类型中的一种,请将配置设置为: <pre> storage-method: yaml # or storage-method: json </pre> '''MySQL / PostgreSQL''' 储存在 MySQL 类型和 PostgreSQL 类型中的数据格式上与上文提及的 H2/SQLite 类型相同,但是数据是储存在远程服务器上的。 这意味着你可以跨服分享相同的数据。 你需要在配置文件中输入你数据库服务器的地址,端口,数据库名,用户名和密码。 这种类型推荐要存储大量数据的用户,或是想要搭建群组服务器的用户所使用。 如果你已经在运行群组服务器,并且想要在子服务器之间同步数据的话,你就必须选择这种类型了。 格式布局示例在[https://github.com/PluginsCDTribe/LuckPerms/tree/master/common/src/main/resources 这里]。 要想使用这两种选项中的一种,请将配置设置为: <pre> storage-method: mysql # or storage-method: postgresql </pre> '''MongoDB''' LuckPerms 也支持 MongoDB 类型的存储,它也是一种远程数据库,在有些方面上和 MySQL 相似。 这种类型也只会被一小部分的用户所使用。 要想使用这种类型的存储,请将配置设置为: <pre> storage-method: mongodb </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]]
本页使用的模板:
模板:ArticleCategory
(
查看源代码
)
模板:Info
(
查看源代码
)
模板:Plugin Infobox
(
查看源代码
)
模板:信息表
(
查看源代码
)
模板:信息表/列表
(
查看源代码
)
模板:急需改进
(
查看源代码
)(受保护)
返回
LuckPerms
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
编辑相关
百科公告
编辑帮助
互助客栈
贡献分数
测试沙盒
发布条目
插件分类
管理
安全
聊天
编程
经济
修正
娱乐
综合
信息
机械
角色
传送
网页
整地
创世
付费
其它
工具
链入页面
相关更改
特殊页面
页面信息
相关网站
MCMOD百科
Minecraft中文百科
Minecraft纪念论坛
Minecraft百度贴吧
虚无世界Wiki