本帖最后由 Greensky 于 2022-10-11 14:52 编辑
教程内容主要基于我对 Essentials wiki GroupManager 条目的翻译,也加入了一些自己想法和见解。毕竟只能算是英语初学者,翻译中可能有部分翻译错误或不通顺内容,各位可在插件百科上对此教程条目进行更改。
插件百科上此教程条目地址:
http://mineplugin.org/GroupManager
Essentials wiki 上 Group Manager 教程原文地址:
http://wiki.mc-ess.net/wiki/Group_Manager
Group Manager 下载地址:
https://www.spigotmc.org/resources/groupmanager.38875/
原文版权归属于 Essentials 团队与 GroupManager 开发者 ElgarL,本翻译内容根据 CC BY-SA 3.0 协议发布,引用或转载注明出处便可。
本文由 Plugin Wiki 出品,由本人完成教程主体翻译,Lucky777777 完成教程检查修改。
在此感谢 john180 帮助检查,航空兔子 提供建议。
注:GroupManager 原作者 ElgarL 近期(2020-6-27)宣布重启 GroupManager 更新,现已发布版本 v2.2。本条目也将随其更新。
来自群组: Minecraft插件百科
前言
GroupManager 是一款用于控制权限的插件,曾是 Essentials 的附加插件,安装 Essentials 的服务器基本上都在使用。其功能强大,使用方便,但是对于大部分服主朋友们来说,也许仅知道其最基础的为玩家添加权限功能。此教程意在帮助大家更详细地了解此插件。
教程内容主要基于我对 Essentials wiki GroupManager 条目的翻译,也加入了一些自己想法和见解。毕竟只能算是英语初学者,翻译中可能有部分翻译错误或不通顺内容,各位可在插件百科上对此教程条目进行更改。
插件百科上此教程条目地址:
http://mineplugin.org/GroupManager
Essentials wiki 上 Group Manager 教程原文地址:
http://wiki.mc-ess.net/wiki/Group_Manager
Group Manager 下载地址:
https://www.spigotmc.org/resources/groupmanager.38875/
原文版权归属于 Essentials 团队与 GroupManager 开发者 ElgarL,本翻译内容根据 CC BY-SA 3.0 协议发布,引用或转载注明出处便可。
本文由 Plugin Wiki 出品,由本人完成教程主体翻译,Lucky777777 完成教程检查修改。
在此感谢 john180 帮助检查,航空兔子 提供建议。
译名表
我的翻译使用的译名可能和大家的理解有所不同,阅读时如有不理解可以参考此译名表。
概念解释
我的翻译使用的概念大家可能难以理解,可以参考此概念解释。
FAQ[完善中](2014-8-28 加入)
关于 GroupManager 的常见问题,可以在这里找到答案,参考前请先熟悉 GroupManager 各项功能以便了解答案的原理。
| 目录 |
最后更新:2020-6-27
注:GroupManager 原作者 ElgarL 近期(2020-6-27)宣布重启 GroupManager 更新,现已发布版本 v2.2。本条目也将随其更新。
【Plugin Wiki 出品】
本帖最后由 Greensky 于 2020-6-27 21:58 编辑
复制代码
配置文件的细节可以在配置页面找到。
Group Manager
Group Manager(有时简称 GM)是一款用于控制权限的插件。它允许你为用户组设立权限,并将玩家添加到这些用户组,便可以有拥有允许使用特定权限的多个等级。创建一个自定义的等级系统,对于大部分 Minecraft 服务器来说是非常有用的。没有它,设置服务器限制玩家的程度是比较困难的。
Group Manager 是作为一个独立的组件,而且当前不是可用的 BukkitDev 批准项目。
视频教程涉及这个教程的一小部分。——其中有一些次要的、过时的、不准确的内容。所以当这个教程和视频不符时,请以这个教程的内容为准。
【Plugin Wiki 出品】
| 目录
|
【Plugin Wiki 出品】
基本思路
Group Manager 允许通过尽可能多地创建需要的用户组和副用户组,有效地管理用户的权限。配置可以非常简单,或是如需要的那样复杂。
最传统的权限系统(如下)使用了组继承,从最上方的新人(Newbie)用户组开始,一直到最下方的服主(Owner)。在小型服务器上可以合并协管员(Moderator)和管理员用户组,但大多数人会在管理员和协管员获得的权限上有不同的想法。
- Newbie(新人)
- Newbie用户组包括最基础的权限节点,应该给予所有新加入玩家在注册时保证安全的权限。
- Newbie用户组包括最基础的权限节点,应该给予所有新加入玩家在注册时保证安全的权限。
- Player(玩家)
- Player用户组包括了所有玩家可以使用的权限。一般包含经济、基础传送,和其他的基础指令。
- Player用户组包括了所有玩家可以使用的权限。一般包含经济、基础传送,和其他的基础指令。
- Moderator(协管员)
- Admin(管理员)
- 管理员和协管员两个用户组可以基于你的喜好合并或更深入地分开。典型地,最低级的协管员等级拥有踢出玩家、监禁玩家的权限,高级的协管员可以获得封禁玩家IP地址、隐身、生成创造模式物品的允许。
- 管理员和协管员两个用户组可以基于你的喜好合并或更深入地分开。典型地,最低级的协管员等级拥有踢出玩家、监禁玩家的权限,高级的协管员可以获得封禁玩家IP地址、隐身、生成创造模式物品的允许。
- Owner(服主)
- 服主用户组一般允许使用所有权限/命令,且通常是唯一一个拥有控制插件、规定用户组、关闭/重启服务器命令的用户组。
- 服主用户组一般允许使用所有权限/命令,且通常是唯一一个拥有控制插件、规定用户组、关闭/重启服务器命令的用户组。
【Plugin Wiki 出品】
初始安装
Group Manager 的安装非常容易:
- 安全地关闭服务器。
- 将 Group Manager 插件放入 plugins 文件夹。 (EssentialsGroupManager.jar/GroupManager.jar)
- 启动然后关闭服务器。
- 修改初始的 config.yml 文件。
- 重启服务器(在游戏中应用更新的 Group Manager 配置时,输入 /manload)。
配置文件
请参见:Group Manager/配置
第一次下载 Group Manager 时,一般只有 .jar 文件。在第一次运行 Group Manager 时,它会生成可以编辑的配置文件。
标准的配置和范例里详细的布局很相似,但在使用之前至少需要更改一点,需要将自己加入管理员。
第一次生成的配置文件时的文件目录结构会看起来像这样:
- plugins/
- GroupManager/
- config.yml
- globalgroups.yml
- backups/
- worlds/
- world/
- groups.yml
- users.yml
配置文件的细节可以在配置页面找到。
【Plugin Wiki 出品】
权限
Group Manager 配置的核心是权限节点,能够准确地控制一个玩家能干什么、不能干什么,是 Group Manager 的重点所在。每一个插件都有各自的权限节点,关联于具体插件的命令。
Essentials 插件在它的命令参考里有一个关于权限完整的列表。至于其他的插件,需要查看和它们有关的文档帮助。
权限节点
每一个支持权限的插件,都会有他们各自的权限节点。
权限节点大致语法:<插件名>.<命令名>
- 语法范例: essentials.tp (允许一个玩家通过使用 Essentials 的 /tp 命令进行传送)
- Essentials 是插件名称,命令是 /tp
父节点(权限节点前半部分)不一定总是插件的名称,所以请在构建用户组之前先检查。这个特性允许不同的插件拥有相同的指令,但是在指明选定哪个插件的指令为默认后不会互相起冲突。
- 例子:essentials.god 和 worldguard.god
概要节点(通配符“*”)
Group Manager 支持概要权限,使用通配符允许所有注册的附属的权限
- essentials.*:允许使用所有的 essentials 命令
- essentials.kits.*:允许使用所有的 kit 工具包
也可以不用指明插件,直接使用“*”通配符本身。这个使指明的用户组拥有权限使用所有插件的所有命令。注意:有冲突的命令会变得不稳定,除非使用否定节点否认。请自行承担风险,也不是所有的插件都正确地注册了它们的权限。
否定节点
Group Manager 支持否定节点,允许收回使用命令的权限。和组继承配合是非常有用的。
- essentials.kits.*:给予所有 /kit 的权限
- -essentials.kits.admin:仅移除 /kit admin 的权限(注意开头的减号“-”)
在使用大型通配符权限(概要节点)的时候,这个是非常有用的,例如给予一个管理员所有的指令,但移除Group Manager命令的权限部分。将概要节点和否定节点组合在一起,可以轻松地移除许多的附属命令。
- -essentials.kits.*:移除所有 /kit 的权限
例外节点
Group Manager 支持可以覆盖否定节点的例外节点,允许你轻易地恢复命令的权限。这在移除所有命令的权限,并把每个单独地加回来时是有用的。
- -essentials.signs.create.*:移除创建所有 Essentials 牌子的权限
- +essentials.signs.create.trade:覆盖并给予创建交易牌子的权限
权限范例
【Plugin Wiki 出品】
变量
Group Manager 允许像规定权限一样规定变量。每一个用户组的变量都可以有不同的取值。它们往往在基于用户组的插件(如 VIP 插件等)使用。这里有两个主要的例子:"prefix"(前缀)“suffix”(后缀),和“build”开关。
聊天插件
大部分聊天插件,会为了基于用户组给予玩家自定义名称,而读取 prefix(前缀)和 suffix(后缀)取值。
EssentialsChat 会将前缀和后缀添加到个人的用户名,以给用户的名称增加标签和颜色。
如果想制作更长的聊天前缀,建议查看我们的聊天格式向导,它展示了如何在聊天中使用长的前缀,但在玩家名的名称里使用短的前缀。
在这里可以找到一个关于颜色代码的列表。
一些例子:
- prefix: '[A]' : 制作一个简单的 <[A]User>
- prefix: '&e' : 制作一个上色的 <User>
保护插件(AntiGrief)
一些插件支持基于“AntiGrief”的保护。就像聊天颜色功能一样,GroupManager 并不提供这项功能,而是像 EssentialsProtect 这样的插件才会提供。
build状态往往像这样:
build状态往往像这样:
- build: false 禁用方块的建筑/破坏。
- build: true 启用方块的建筑/破坏。
【Plugin Wiki 出品】
插件迁移
一般地从大部分权限插件迁移到 Group Manager 是一个比较容易的事情。请先尝试下面的步骤,但是如果无法运行,手动地构建用户组也是比较容易的。
- 移动 EssentialsGroupManager.jar 或 GroupManager.jar 到你的 plugins 目录里。
- 从你的 plugins 目录移除先前的权限插件的 jar 文件。
- 复制先前的用户组文件。
- 打开 Group Manager 文件夹然后定位到世界文件夹(plugins/worlds/<你的世界名称>)。
- 将两个权限配置文件粘贴到此处。
- 将一个重命名为 users.yml,另一个重命名为 groups.yml,覆盖所有存在的文件。
- 重启服务器。
【Plugin Wiki 出品】
Group Manager命令
有大量和 Group Manager 插件有关的命令,可以用于在游戏中和控制台上为玩家修改和分配用户组。
请参见:Group Manager/命令
基础用户命令
这些命令在已经建立好一个用户组,且仅想将用户分配到用户组时十分有用。
- /manuadd: 移动用户到希望的用户组。(如果不存在的话会添加用户组到文件)
- /<命令> <玩家> <用户组>
- 权限名:groupmanager.manuadd
复制代码- groupmanager.manuadd
- /manudel: 移除所有此用户特定的配置。使他进入默认用户组。
- /<命令> <玩家>
- 权限名:groupmanager.manudel
复制代码- groupmanager.manudel
- /manpromote: 允许在继承树中向上提升一个玩家。这个命令只会允许用户在相互继承的用户组之间移动。
- /<命令> <玩家> <用户组>
- 权限名:groupmanager.manpromote
复制代码- groupmanager.manpromote
- /mandemote: 允许在继承树中向下降级一个玩家。这个命令只会允许用户在相互继承的用户组之间移动。
- /<命令> <玩家> <用户组>
- 权限名:groupmanager.mandemote
复制代码- groupmanager.mandemote
- /manwhois: 获得用户处在的用户组。
- /<命令> <玩家>
- 权限名:groupmanager.manwhois
复制代码- groupmanager.manwhois
本帖最后由 Greensky 于 2020-6-27 22:29 编辑
复制代码
复制代码
镜像
复制代码
在这个范例里将要维护数个配置文件的设置。Skylands 和 Skylands2 将会共享 Skylands 文件夹。MainWorld和 MainWorld_nether 会共享一个文件夹。Hardcore 会使用 MainWorld 的 groups 文件,但会有自己的 users 文件,所有其他的世界会使用 Hardcore 的 user 文件和 Mainworld 的 groups 文件。
复制代码
这个范例有几个值得注意并指出、对于大多数服务器有用的特性:复制代码
这个范例有几个值得注意并指出、对于大多数服务器有用的特性:
复制代码
视频教程
Group Manager/配置
这个页面详细说明了 Group Manager 配置文件的默认和基础的配置。
警告:Group Manager 在重新加载(reload)时会覆写它的配置文件,如果做出了手动的更改,请一定使用/manload。
请参见:Group Manager
| 目录
|
安装之后
第一次下载 Group Manager 时,一般只有 .jar 文件。在第一次运行 Group Manager 时,它会生成可以编辑的配置文件。
标准的配置和主页面上的详细的布局很相似,但在使用之前至少需要更改一点,如果除了想要把自己加入管理员之外没有其他需要的话。
第一次生成配置文件时的文件目录结构会看起来像这样:
- plugins/
- GroupManager/
- config.yml
- globalgroups.yml
- backups/
- worlds/
- world/
- groups.yml
- users.yml
config.yml
位于: plugins/GroupManager/config.yml
这个配置文件在你拥有多个世界时使用。它用于从一个单独的世界复制权限到其他的世界。
配置文件看起来像这样:
- settings:
- config:
- # 这个启用时任何一个设置成 op 的用户在管理 GroupManager 时拥有全部权限
- # 用户将能够提升玩家到同样或更高的组。
- opOverrides: true
-
- # 'mantogglevalidate' 的默认设置
- # 为 true 值时会使 GroupManager 尝试将名称和默认相配
- validate_toggle: true
- #************************************************************************************************************************************************************
- # ***注意:启用这个功能会允许命令方块不合法的使用,引起不希望的权限改变,警告! ***
- #************************************************************************************************************************************************************
- allow_commandblocks: false
-
- data:
- save:
- # GroupManager 每过多久会保存它的数据到 groups.yml 和 users.yml
- minutes: 10
- # 备份保留的小时数(备份地址:plugins/GroupManager/backup)
- hours: 24
-
- logging:
- # GroupManager 记录的详细程度。
- # 允许的参数是- ALL(全部),CONFIG(配置),FINE(精细),FINER(更精细),FINEST(最精细),INFO(信息),OFF(关闭),SEVERE(严格),WARNING(警告)
- level: INFO
-
- mirrors:
- # 在这里列出世界的设置映射到它们的子世界。
- # 第一个要素‘world'是主世界名称,是父世界。
- # 随后的要素‘world_nether'和'world_the_end'是将使用的世界。
- # 和父世界使用相同的user/group 文件。
- # 要素'all_unnamed_worlds'指定所有没有列出的世界,然后自动地映射它的父世界。
- # 每一个子世界可以设置从它的父文件映射'groups'、‘users',或两个文件都映射。
- world:
- world_nether:
- - users
- - groups
- world_the_end:
- - users
- - groups
- all_unnamed_worlds:
- - users
- - groups
- # world2: (world2 会有它自己的用户和组的设置文件)
- # world3:
- # - users (world3 会使用 world2 的 users.yml 文件,但自己拥有 groups.yml 文件)
- # world4:
- # - groups (world4 会使用 world2 的 groups.yml 文件,但拥有自己的 users.yml 文件)
- # world5:
- # - world6 (这个会使 world6 从 world5 映射两个文件)
镜像
有关取消镜像的教程参看此处。
http://www.mcbbs.net/thread-273672-1-1.html
Lucky777777
这是一个如何在 GM 里使用镜像系统的范例。
- # 这是一个范例的 GroupManager 镜像系统。
- # 这个会使你接触一些更复杂的 GM 映射。
- mirrors:
- MainWorld:
- MainWorld_nether:
- - users
- - groups
- Hardcore:
- - groups
- Skylands:
- Skylands2:
- - users
- - groups
- Hardcore:
- Hardcore_nether:
- - users
- - groups
- all_unnamed_worlds:
- - users
- - groups
在这个范例里将要维护数个配置文件的设置。Skylands 和 Skylands2 将会共享 Skylands 文件夹。MainWorld和 MainWorld_nether 会共享一个文件夹。Hardcore 会使用 MainWorld 的 groups 文件,但会有自己的 users 文件,所有其他的世界会使用 Hardcore 的 user 文件和 Mainworld 的 groups 文件。
group.yml
位于: plugins/GroupManager/worlds/<世界名>/group.yml
这是主要的且最重要的配置文件,是声明将会使用组的地方。范例的文件全部发布在这里有一点过大了,但是它会在第一次启动 GM 时自动生成。
Group Manager 的基础可以总结于这里展示的范例:
- groups:
- Default:
- default: true
- permissions:
- - essentials.help
- -essentials.help.*
- --essentials.help.factions
- -essentials.helpop
- -essentials.list
- -essentials.motd
- -essentials.rules
- -essentials.spawn
- -essentials.eco
- inheritance: []
- info:
- prefix:'&e'
- build: false
- suffix: ''
- Builder:
- default: false
- permissions:
- -essentials.home
- - essentials.me
- -essentials.msg
- -essentials.sethome
- -essentials.warp
- inheritance:
- - default
- info:
- prefix:'&2'
- build: true
- suffix: ''
这个范例有几个值得注意并指出、对于大多数服务器有用的特性:
- 请仔细观察首行缩进,YAML 对于这个十分严格,不正确的时候就会出错。
- 第二行给予了组的名称,格式应该是'<名称>:'。
- 第三行规定这个是否是新用户会自动加入的组,每个配置文件里只能有一个这样的组。
- 下一个部分列出了所有想给加入用户组用户的权限。在这一个例子里的权限只是最基础的命令。
- inheritance(继承)部分允许直接使用另一个用户组的各种属性,像上面权限节点那样简单的列出你想继承的组即可。
- 前缀可以在玩家名称前面显示,在这个范例中,是一个颜色代码,会使用户名有一个不同的颜色。
- build开关被某些插件使用,在这个范例中在默认组的人将不能够建筑。
- “default”用户组有一个否定权限的范例,取消一个特定的权限只需要简单地在权限开头之前加一个“-”,在这个范例中取消了'essentials.help.factions'权限。那上面的一行是一个通配符权限(概要节点)的范例,意思是在default用户组里的人会看到除了 factions 插件之外的所有插件命令帮助。
默认配置有更多像这样有一系列权限的用户组,并使用名叫全体用户组(grobalgroups)的功能。这个可以使多世界配置更加容易,详情参见下方。
user.yml
位于: plugins/GroupManager/worlds/<worldname>/user.yml
这里是规定用户进入什么组的地方。确定将自己加入这个配置,以拥有在游戏中管理权限的允许。大部分人很少直接编辑此文件,因为使用游戏中命令会更加容易。
配置文件看起来像这样:
- users:
- kimkandor:
- subgroups: []
- permissions:
- -essentials.heal
- group: Default
- zenexer:
- subgroups: []
- permissions: []
- group: Mod
- khobbits:
- subgroups: []
- permissions: []
- group: Admin
这个范例有几个值得注意并指出、对于大多数服务器有用的特性:
- 请仔细观察首行缩进,YAML 对于这个十分严格,不正确的时候就会出错。
- 第二行给予了用户的名称,格式应该是'<名称>:'。
- permissions(权限)部分列出了所有除用户组权限之外的权限。在这个例子中,'kimkandor' 获得了一个附加的能对自己使用 /heal 的权限。
- 每一个用户的最后一行规定了用户属于什么用户组。
globalgroups.yml(全局用户组)
位于: plugins/GroupManager/globalgroups.yml
这个文件用于制作自定义的权限设置。在这个文件里的用户组永远不会直接地给予一个用户,只会简单地加入一个真实用户组的继承。
全局(grobal)用户组的重点,是使管理多个世界时更加容易,不需要从每个世界复制权限。每次做出了一个更改,可以简单地制作一个全局 'mod' 组,并在那里列出你的 mod 权限。以那种方法,只需要简单地在每一个世界的 mod 用户组继承里加入 'g:mod',mod 用户组就会从全体用户组文件获得所有此条权限。
全局用户组文件的使用通常是可选择的。可以从此文件删除出大部分用户组,并将权限移动到group.yml。这些都是基于个人的偏爱,最主要的是,如果重命名或移动了任何全局用户组里的用户组,确定也在每个世界的继承里更新名称。
权限
请参见: Group Manager
Group Manager 配置的核心是权限节点,能够准确地控制一个玩家能干什么、不能干什么,是GM的重点所在。每一个插件都有各自的权限节点,关联于具体的插件的命令。
Essentials插件在它的命令参考里有一个关于权限的完整的列表。至于其他的插件,你需要查看它们有关的文档帮助。关于权限的更多细节,例如概要节点,可以在 Group Manager 页面找到。
权限范例
最简配置
运行服务器需要的最简单最基础配置文件是什么,这个问题以前被提到过。接下来的配置是我们可以推荐的最基础的配置,对于大多数服务器来说,并不会允许足够的管理或给用户提供足够的命令。
- groups:
- Default:
- default: true
- permissions:
- -essentials.help
- -essentials.list
- -essentials.motd
- -essentials.rules
- info:
- prefix:'&5'
- build: true
- suffix: ''
- Admin:
- default: false
- permissions:
- - '*'
- inheritance:
- - default
- info:
- prefix:'&4'
- build: true
- suffix: ''
视频教程
本帖最后由 Greensky 于 2020-6-27 22:37 编辑
Group Manager/命令
Group Manager 提供两种实行对用户和用户组管理的方法,使用配置文件规定用户组和用户,或使用控制台命令修改用户和用户组。所有的这些命令都可以在服务器控制台或在游戏中由 op 使用。建议至少最开始使用配置文件规定用户组,并使用命令执行对用户的管理。
你也可以允许其它用户使用这些管理命令,可以使用概要权限 groupmanager.*,直接给予全部权限。
显然地,这些命令只会在安装了 Group Manager 后才工作。
| 目录
|
命令命名规律
Group Manager 命令大部分符合一个相当标准的语法:
man [u/g] [add/del/list/check] [p/i/v/sub]
man - group manager
[u/g] - (用户)user/(用户组)group
[p/i/v/sub] - permission(权限)/inheritance(继承)/variable(变量)/subgroup(副用户组)
[u/g] - (用户)user/(用户组)group
[p/i/v/sub] - permission(权限)/inheritance(继承)/variable(变量)/subgroup(副用户组)
用户
用户管理
- /manuadd: 移动用户到希望的用户组。(如果不存在的话会添加用户组到文件)
- /<命令> <玩家> <用户组>
- groupmanager.manuadd
复制代码- groupmanager.manuadd
- /manudel: 移除所有此用户特定的配置。使他进入默认用户组。
- /<命令> <玩家>
- groupmanager.manudel
复制代码- groupmanager.manudel
- /manuaddsub: 将一个用户组加入一个玩家的副用户组列表。
- /<命令> <玩家> <用户组>
- groupmanager.manuaddsub
复制代码- groupmanager.manuaddsub
- /manudelsub: 从一个玩家的副用户组列表移除一个用户组。
- /<命令> <玩家> <用户组>
- groupmanager.manudelsub
复制代码- groupmanager.manudelsub
- /manpromote: 允许在继承树中向上提升一个玩家。这个命令只会允许用户在相互继承的用户组之间移动。
- /<命令> <玩家> <用户组>
- groupmanager.manpromote
复制代码- groupmanager.manpromote
- /mandemote: 允许在继承树中向下降级一个玩家。这个命令只会允许用户在相互继承的用户组之间移动。
- /<命令> <玩家> <用户组>
- groupmanager.mandemote
复制代码- groupmanager.mandemote
- /manwhois: 获得用户处在的用户组。
- /<命令> <玩家>
- groupmanager.manwhois
复制代码- groupmanager.manwhois
用户权限(原文为覆盖权限)
- /manuaddp: 将权限直接添加到玩家。
- /<命令> <玩家> <权限>
- groupmanager.manuaddp
复制代码- groupmanager.manuaddp
- /manudelp: 从玩家直接移除权限。
- /<命令> <玩家> <权限>
- groupmanager.manudelp
复制代码- groupmanager.manudelp
- /manulistp: 列出一个玩家的所有权限。
- /<命令> <玩家>
- groupmanager.manulistp
复制代码- groupmanager.manulistp
- /manucheckp: 查证玩家是否有这个权限和其来源。
- /<命令> <玩家> <权限>
- groupmanager.manucheckp
复制代码- groupmanager.manucheckp
用户变量
- /manuaddv: 增加或替换一个用户的变量(例如 prefix 或 suffix)。
- /<命令> <用户> <变量> <取值>
- groupmanager.manuaddv
复制代码- groupmanager.manuaddv
- /manudelv: 从一个用户移除一个变量。
- /<命令> <用户> <变量>
- groupmanager.manudelv
复制代码- groupmanager.manudelv
- /manulistv: 列出一个用户拥有的变量(例如 prefix 或 suffix)。
- /<命令> <用户>
- groupmanager.manulistv
复制代码- groupmanager.manulistv
- /manucheckv: 查看玩家的一个变量取值和其来源。
- /<命令> <用户> <变量>
- groupmanager.manucheckv
复制代码- groupmanager.manucheckv
用户组
用户组管理
注意在这里使用 g: 前缀的格式修改全体用户组是有效的。
- /mangadd: 将一个用户组加入到系统。
- /<命令> <用户组>
- /<命令> <g:全体用户组>
- groupmanager.mangadd
复制代码- groupmanager.mangadd
- /mangdel: 从系统移除一个用户组(它的所有用户进入默认用户组)。
- /<命令> <用户组>
- /<命令> <g:全体用户组>
- groupmanager.mangdel
复制代码- groupmanager.mangdel
- /mangaddi: 将一个用户组2加入另一个用户组1继承列表。
- /<命令> <用户组1> <用户组2>
- groupmanager.mangaddi
复制代码- groupmanager.mangaddi
- /mangdeli: 从一个用户组1继承列表移除另一个用户组2。
- /<命令> <用户组1> <用户组2>
- groupmanager.mangdeli
复制代码- groupmanager.mangdeli
- /listgroups: 列出可用的用户组。
- /<命令>
- groupmanager.listgroups
复制代码- groupmanager.listgroups
权限
注意在这里使用 g: 前缀的格式修改全体用户组是有效的。
- /mangaddp: 将权限加入一个用户组。
- /<命令> <用户组> <权限>
- /<命令> <g:全体用户组> <权限>
- groupmanager.mangaddp
复制代码- groupmanager.mangaddp
- /mangdelp: 从一个用户组移除权限。
- /<命令> <用户组> <权限>
- /<命令> <g:全体用户组> <权限>
- groupmanager.mangdelp
复制代码- groupmanager.mangdelp
- /manglistp: 列出一个用户组所有的权限。
- /<命令> <用户组>
- /<命令> <g:全体用户组>
- groupmanager.manglistp
复制代码- groupmanager.manglistp
- /mangcheckp: 检查用户组是否拥有一个权限和其来源。
- /<命令> <用户组> <权限>
- /<命令> <g:全体用户组> <权限>
- groupmanager.mangcheckp
复制代码- groupmanager.mangcheckp
用户组变量
- /mangaddv: 增加或更改一个用户组的变量(例如prefix或suffix)。
- /<命令> <用户组> <变量> <取值>
- groupmanager.mangaddv
复制代码- groupmanager.mangaddv
- /mangdelv: 从一个用户组移除一个变量。
- /<命令> <用户组> <变量>
- groupmanager.mangdelv
复制代码- groupmanager.mangdelv
- /manglistv: 列出一个用户组拥有的所有变量(例如prefix或suffix)。
- /<命令> <用户组>
- groupmanager.manglistv
复制代码- groupmanager.manglistv
- /mangcheckv: 查证玩用户组的一个变量取值和其来源。
- /<命令> <用户组> <变量>
- groupmanager.mangckeckv
复制代码- groupmanager.mangckeckv
实用命令
- /mansave: 在文件上保存所有权限的更改。
- /<命令>
- groupmanager.mansave
复制代码- groupmanager.mansave
- /manload: 重新加载当前的世界和config.yml文件,或加载给定的世界。
- /<命令> [世界]
- groupmanager.manload
复制代码- groupmanager.manload
- /mantogglevalidate: 切换玩家在线验证开关。
- /<命令>
- groupmanager.mantogglevalidate
复制代码- groupmanager.mantogglevalidate
- /mantogglesave: 切换自动保存开关。
- /<命令>
- groupmanager.mantogglesave
复制代码- groupmanager.mantogglesave
- /manworld: 显示选定的世界名。
- /<命令>
- groupmanager.manworld
复制代码- groupmanager.manworld
- /manselect: 选定下一个命令工作的世界。
- /<命令> <世界>
- groupmanager.manselect
复制代码- groupmanager.manselect
- /manclear: 清除世界的选定,下一个命令会在你的世界工作。
- /<命令>
- groupmanager.manclear
复制代码- groupmanager.manclear
- /mancheckw: 获得一个世界的每一个文件(users/groups)存储的路径。
- /<命令> <世界>
- groupmanager.mancheckw
复制代码- groupmanager.mancheckw
- groupmanager.mancheckw
无命令权限
- groupmanager.op 使用Group Manager命令时不理会所有的继承和权限。(op权限)
复制代码- groupmanager.op
- groupmanager.notify.self 在你的等级改变时通知你自己。
复制代码- groupmanager.notify.self
- groupmanager.notify.other 在别人等级改变时通知你。
复制代码- groupmanager.notify.other
- groupmanager.noofflineperms 服务器在离线模式时拒绝所有的权限。
复制代码- groupmanager.noofflineperms
本帖最后由 Greensky 于 2020-6-27 22:45 编辑
复制代码
复制代码
在这之后,你需要添加权限。复制代码
复制代码
附加信息: 如果你正在使用的插件拥有很多权限,且想将它们同时给予,请查看是否有带通配符 '*' 的权限(摘要节点)。一般像“essentials.*”那样,允许使用 Essentials 插件的全部权限。复制代码
复制代码
复制代码
复制代码
复制代码
Group Manager/游戏中教程
欢迎来到 GroupManager 游戏中命令教程。
为何要在游戏中做这些?
这是一个常见的问题,为何在可以于配置文件里编写权限的时候,花费时间输入命令?
答案是:
- 使用命令使一个 YAML 文件出错是不可能的。
- 在不能直接访问服务器文件的时候,这个更加方便。
- 这很简单。
怎么做!
开始时,我们需要制作一个用户组用于给予权限。
* 命令:
- /mangadd <用户组名>
* 范例:
- /mangadd Administrator
在上面的范例中,创建了一个名为“Administrator”的用户组。你需要记住用户组名称,如果忘记了名称,可以使用命令“/listgroups”获得所有用户组的列表,这也会包括全体用户组(GlobalGroup)。
将会显示“You created a new group called:$groupname”(你创建了一个用户组叫做:$groupname),$groupname 是你制作的用户组名称。
在这之后,你需要添加权限。
* 命令:
- /mangaddp <用户组名> <权限>
* 范例:
- /mangaddp Administrator essentials.msg
在这个范例里,给予了名为“Administrator”用户组由“Essentials”插件提供的使用“msg”命令的权限。你不能假定插件名一定在权限节点里,所以在使用前确定查看了插件的权限节点。
附加信息: 如果你正在使用的插件拥有很多权限,且想将它们同时给予,请查看是否有带通配符 '*' 的权限(摘要节点)。一般像“essentials.*”那样,允许使用 Essentials 插件的全部权限。
你可以通过像使用权限那样直接给予通配符'*'自己,以给予所有插件的全部权限,但是不建议将此给予除管理员以外的其它任何用户组,因为那个用户组将可以使用任何命令。
另一个附加信息: 如果你给予了一个通配符权限,例如“essentials.*”,但希望限制某一个特定的权限,可以使用 “/mangaddp <用户组> <权限>” 命令,但在命令前加一个连字符 '-'(否定节点)。
一个例子:
- /mangaddp Administrator -essentials.motd
移除权限:
如果你发现在添加一个权限时拼写错误,决定不再使用它,或者有其他的原因想要删除它,可以使用这个命令:
* 命令:
- /mangdelp <用户组名> <权限>
* 范例:
- /mangdelp Administrator essentials.msg
这个权限会移除基于此权限的命令的允许。
前缀
对于前缀的编辑也可以这样完成。使用这个命令:
* 命令:
- /mangaddv <用户组名> prefix <前缀>
* 范例:
- /mangaddv Administrator prefix &4[Admin]&f &c
使用上方的命令,可以轻易地设置一个前缀。
范例解析:
/mangaddv Administrator - 告诉 GroupManager 你想将一个变量添加到"Administrator"用户组。prefix - 告诉 GroupManager 你想添加prefix(前缀)变量。 &4[Admin]&f &c - 显示的前缀。
&4, &f 和 &c 都是颜色代码。你可以把它们改成任何东西!
第一个颜色代码,或像范例里的,“&4”,会将 '[Admin]' 设置成深红。下一个颜色代码,或像范例里的,“&f”,会将下一片文本设置成白色,但没有放置更多的文本,而使用了一个空格。这是为了让它像 '[Admin] bonney12' 一样,而不是 '[Admin]bonney12'。第三个颜色代码,或像范例里一样,会将用户名设置为亮红色。
可以像希望的那样使用更多的颜色代码,和更多的格式代码,但是在前缀使用粗体会导致文本在意想不到的时候缩进,这会导致文本不可视!
本帖最后由 Greensky 于 2020-6-27 22:46 编辑
Group Manager/开发者
由于本人对科技英语并不熟悉,此处和编程有关的翻译可能会出现错误影响理解,请参考此处的原文网页:
http://wiki.mc-ess.net/wiki/Group_Manager/Developers
创建到 GM 的回调(hook into)函数有多种方法,即使有意想做一些复杂的事,也最好只使用 SuperPerms。SuperPerms 支持本身就是 bukkit 的,因此不需要和任何插件建立连接,或编写特定的回调函数。
JavaDocs
如果你想调用 GM,可能想要知道有哪些方法是可用的,最好参考自动的文档。
你可以在这里找到最新的文档: http://ci.ess3.net/guestAuth/repository/download/bt10/.lastSuccessful/JavaDocs/EssentialsGroupManager/dist/javadoc/index.html
范例 GM 回调函数
复制代码
Group Manager/开发者
由于本人对科技英语并不熟悉,此处和编程有关的翻译可能会出现错误影响理解,请参考此处的原文网页:
http://wiki.mc-ess.net/wiki/Group_Manager/Developers
创建到 GM 的回调(hook into)函数有多种方法,即使有意想做一些复杂的事,也最好只使用 SuperPerms。SuperPerms 支持本身就是 bukkit 的,因此不需要和任何插件建立连接,或编写特定的回调函数。
JavaDocs
如果你想调用 GM,可能想要知道有哪些方法是可用的,最好参考自动的文档。
你可以在这里找到最新的文档: http://ci.ess3.net/guestAuth/repository/download/bt10/.lastSuccessful/JavaDocs/EssentialsGroupManager/dist/javadoc/index.html
范例 GM 回调函数
- import java.util.Arrays;
- import java.util.List;
- import org.anjocaido.groupmanager.GroupManager;
- import org.anjocaido.groupmanager.dataholder.OverloadedWorldHolder;
- import org.anjocaido.groupmanager.permissions.AnjoPermissionsHandler;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.server.PluginDisableEvent;
- import org.bukkit.event.server.PluginEnableEvent;
- import org.bukkit.plugin.Plugin;
- import org.bukkit.plugin.PluginManager;
-
- public class GMHook
- {
- private GroupManager groupManager;
- private Plugin plugin;
-
- public GMHook(final Plugin plugin)
- {
- this.plugin = plugin;
- }
-
- @EventHandler(priority = EventPriority.MONITOR)
- public void onPluginEnable(final PluginEnableEvent event)
- {
- final PluginManager pluginManager = plugin.getServer().getPluginManager();
- final Plugin GMplugin = pluginManager.getPlugin("GroupManager");
-
- if (GMplugin != null && GMplugin.isEnabled())
- {
- groupManager = (GroupManager)GMplugin;
-
- }
- }
-
- @EventHandler(priority = EventPriority.MONITOR)
- public void onPluginDisable(PluginDisableEvent event)
- {
- if (groupManager != null)
- {
- if (event.getPlugin().getDescription().getName().equals("GroupManager"))
- {
- groupManager = null;
- }
- }
- }
-
- public String getGroup(final Player base)
- {
- final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
- if (handler == null)
- {
- return null;
- }
- return handler.getGroup(base.getName());
- }
-
- public boolean setGroup(final Player base, final String group)
- {
- final OverloadedWorldHolder handler = groupManager.getWorldsHolder().getWorldData(base);
- if (handler == null)
- {
- return false;
- }
- handler.getUser(base.getName()).setGroup(handler.getGroup(group));
- return true;
- }
-
- public List<String> getGroups(final Player base)
- {
- final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
- if (handler == null)
- {
- return null;
- }
- return Arrays.asList(handler.getGroups(base.getName()));
- }
-
- public String getPrefix(final Player base)
- {
- final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
- if (handler == null)
- {
- return null;
- }
- return handler.getUserPrefix(base.getName());
- }
-
- public String getSuffix(final Player base)
- {
- final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
- if (handler == null)
- {
- return null;
- }
- return handler.getUserSuffix(base.getName());
- }
-
- public boolean hasPermission(final Player base, final String node)
- {
- final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
- if (handler == null)
- {
- return false;
- }
- return handler.has(base, node);
- }
- }
辛苦了OAO,好顶赞!
( ^_^ )不错嘛
好东西。留名
很好,我喜欢
好...厉害!
收藏不谢~
收藏不谢~
果然精华了呢,恭喜恭喜。
极好极好,顶起!
不愧是greensky!!!厲害喲~
腐竹翻译辛苦了
幸苦了,
顶一下
魔君 发表于 2014-7-15 13:47
辛苦了OAO,好顶赞!
魔君开小号了?
好人啊,一定要赞
REN0011 发表于 2014-7-16 10:02
魔君开小号了?
这是大号OAO
非常实用,已经收藏啦
魔君 发表于 2014-7-16 11:19
这是大号OAO
名副其实的‘大号'
REN0011 发表于 2014-7-16 11:44
名副其实的‘大号'
=A=明明就是大号
魔君 发表于 2014-7-16 11:47
=A=明明就是大号
安啦安啦,知道是大号了
REN0011 发表于 2014-7-16 11:57
安啦安啦,知道是大号了
嗦嘎← ←
非常感谢~!
顶一下,太有用了
大神谢了!
赞啊!!!!!!!!!!!!!!!!!!!!!!
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
谢谢分享 我要去服务器弄好玩的啦 问下牌子传送ESS里的怎么弄为毛 我明明装了ESS但是牌子无效
本帖最后由 henry5041 于 2014-7-22 12:43 编辑
这就是我写的= =
请先参考此教程完成Essentials的牌子的设定
对于warp传送的牌子来说,
创建牌子者需拥有此权限:
复制代码
使用者需拥有此权限:
复制代码
九尾· 发表于 2014-7-22 02:36
谢谢分享 我要去服务器弄好玩的啦 问下牌子传送ESS里的怎么弄为毛 我明明装了ESS但是牌子无效 ...
这就是我写的= =
请先参考此教程完成Essentials的牌子的设定
[插件介绍]Essential基础插件详解(Essentials-2.13.1) 7.木牌相关设置
http://www.mcbbs.net/forum.php?m ... =290356&pid=5572172
john180
首先你在使用这些功能之前得到config文件中开启对应木牌,默认状态下他们全部是关闭的。
对于warp传送的牌子来说,
创建牌子者需拥有此权限:
- essentials.signs.create.warp
使用者需拥有此权限:
- essentials.signs.use.warp
我的天哪。。 好多字啊。。
九尾· 发表于 2014-7-22 18:32
怎么开启 Essentials木牌传送
按照我给你的那个教程里的,在config.yml里,去掉warp那个前面的“#”
不错的帖子外加
首先你得是个辅助系列
首先你得是个辅助系列
感谢lz分享,需要继续学习。。
精华唉!!!赞{:10_523:}
插件么
表示玩原版
插件么
表示玩原版
确实好 像当初我什么都不懂 自己盯着配置指令不断摸索参透这东西 那叫一个举步维艰。。。。不过听说有个叫PEX的权限插件超越了 GM 但GM在我的心中是完美的权限插件
太好了,有些权限什么的完全搞不懂
我只想知道一直显示All commands are locked due to an error. Check the log and then try a '/manload'.
>
是怎么回事= =
>
是怎么回事= =
我只想知道一直显示All commands are locked due to an error. Check the log and then try a '/manload'.
>
是怎么回事= =
>
是怎么回事= =
赤灬魔 发表于 2014-8-9 18:56
我只想知道一直显示All commands are locked due to an error. Check the log and then try a '/manload'.
...
发生错误导致命令被锁定,请输入/manload
我能说这是神贴嘛?好吧,能!
我的世界服务器火爆开荒收人了 专业服务器 稳定不卡 还有变形模组 神奇宝贝mod 期待你的加入 如果觉得服务器好玩就赞助赞助 这样服务器才会长久 赞助有特权哦!群号: 43124977
我想问一个问题,当你创建了一个新的组以后,如何让这个新的组拥有和builder一样的基础权限?
504560256 发表于 2014-8-27 23:32
我想问一个问题,当你创建了一个新的组以后,如何让这个新的组拥有和builder一样的基础权限? ...
输入
- /mangaddi [你创造的组] Builder
- /mangaddv [你创造的组] build true
两个都试过了,不管用
504560256 发表于 2014-8-28 00:15
两个都试过了,不管用
你把你的groups.yml中的内容发上来看看吧