Minecraft(我的世界)中文论坛

 找回密码
 注册(register)

!header_login!

只需一步,立刻登录

查看: 171187|回复: 193

[插件] [插件百科]GroupManager组权限插件详细教程(EssentialsGroupManager v2.1)

    [复制链接]
Greensky 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
5663
钻石
性别
保密
注册时间
2013-1-8
查看详细资料
发表于 2014-7-15 13:44:22 | 显示全部楼层 |阅读模式

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
本帖最后由 henry5041 于 2016-1-24 21:44 编辑


【Plugin Wiki工作室 出品】
「原条目地址:http://mineplugin.org/GroupManager

前言

GroupManager是一款用于控制权限的插件,是Essentials的附加插件,安装Essentials的服务器基本上都在使用。其功能强大,使用方便,但是对于大部分服主朋友们来说,也许仅知道其最基础的为玩家添加权限功能。此教程意在帮助大家更详细地了解此插件。

教程内容主要基于我对Essentials wiki GroupManager条目的翻译,也加入了一些自己想法和见解。毕竟只能算是英语初学者,翻译中可能有部分翻译错误或不通顺内容,各位可在插件百科上对此教程条目进行更改。
插件百科上此教程条目地址:
http://mineplugin.org/GroupManager
Essentials wiki上Group Manager教程原文地址:
http://wiki.mc-ess.net/wiki/Group_Manager
Group Manager下载地址:
http://ess.ementalo.com/reposito ... alsGroupManager.jar
原文版权归属于Essentials团队,本翻译内容根据CC BY-SA 3.0协议发布,引用或转载注明出处便可。
本文由Plugin Wiki工作室出品,由本人完成教程主体翻译,Lucky777777 完成教程检查修改。
在此感谢john180 帮助检查,航空兔子 提供建议。

译名表
我的翻译使用的译名可能和大家的理解有所不同,阅读时如有不理解可以参考此译名表。

概念解释
我的翻译使用的概念大家可能难以理解,可以参考此概念解释。

FAQ[完善中](2014-8-28加入)
关于GroupManager的常见问题,可以在这里找到答案,参考前请先熟悉GroupManager各项功能以便了解答案的原理。



  
目录
      

最后更新:2014-9-23

【Plugin Wiki工作室 出品】

来自群组: Minecraft插件百科

评分

参与人数 51人气 +53 金粒 +316 贡献 +2 收起 理由
wolfonrhesky + 1 神乎其技!6的飞起!
Lucky777777 + 2 + 35 MCBBS有你更精彩~
A_oooo + 1 MCBBS有你更精彩~
ghzz + 1 全面的讲解
AmethystSEA + 1 神乎其技,不服不行!
Tian_Yv_233 + 5 神乎其技,不服不行!
WZRY + 2 Ssssssssssssssssssss
Melodyvoices + 2 MCBBS有你更精彩~
长路漫漫 + 1 MCBBS有你更精彩~
堕落男 + 1 + 11 楼主你太帅了~
jjjj1841375451 + 2 MCBBS有你更精彩~
A_Glitch + 5 不做伸手党
13199227701 + 2 MCBBS有你更精彩~
rucy + 1 夕阳你个sb
刘先生。 + 2 楼主你太帅了~
asm + 1 楼主你太帅了~
18820649703 + 5 很棒的作品!
小a哥 + 1 Mcbbs有你更精彩~
2575311563 + 2 楼主你太帅了~
六部哈师大 + 1 很棒的作品!

查看全部评分

Greensky 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
5663
钻石
性别
保密
注册时间
2013-1-8
查看详细资料
 楼主| 发表于 2014-7-15 13:44:23 | 显示全部楼层

Group Manager

本帖最后由 henry5041 于 2015-7-16 13:09 编辑

Group Manager
Group Manager(有时简称GM)是一款用于控制权限的插件。它允许你为用户组设立权限,并将玩家添加到这些用户组,便可以有拥有允许使用特定权限的多个等级。创建一个自定义的等级系统,对于大部分Minecraft服务器来说是非常有用的。没有它,设置服务器限制玩家的程度是比较困难的。
Group Manager作为一个独立的组件提供,并且当前不是可用的BukkitDev批准项目。
视频教学涉及这一页的一小部分。-其中有一些次要的、过时的、不准确的内容。所以当此页和视频不符时,请使用这一页内容。

【Plugin Wiki工作室 出品】

  
目录
   
  • 1 基本思路
  • 2 初始安装
    • 2.1 配置文件
  • 3 权限
    • 3.1 权限节点
    • 3.2 摘要节点(通配符“*”)
    • 3.3 否定节点
    • 3.4 例外节点
    • 3.5 权限范例
  • 4 变量
    • 4.1 聊天插件
    • 4.2 保护插件(AntiGrief)
  • 5 插件更换
  • 6 Group Manager命令
    • 6.1 基础用户指令
  

【Plugin Wiki工作室 出品】

基本思路
Group Manager允许通过尽可能多地创建需要的用户组和副用户组,有效地管理用户的权限。配置可以非常简单,或是如需要的那样复杂。
最传统的权限系统(如下)使用了组继承,从最上方的新人(Newbie)用户组开始,一直到最下方的服主(Owner)。在小型服务器上可以合并协管员/主持人(Moderator)和管理员用户组,但大多数人会在管理员获得的权限和协管员/主持人获得的权限上有不同的想法。
  • Newbie(新人)
    • Newbie用户组包括最基础的权限节点,应该给予所有新加入玩家在注册时保证安全的权限。
  • Player(玩家)
    • Player用户组包括了所有玩家可以使用的权限。一般包含经济、基础传送,和其他的基础指令。
  • Moderator(协管员/主持人)
    • 接下来的两个用户组可以基于你的喜好合并或更深入地分开。典型地,最低级的协管员/主持人等级拥有踢出玩家、监禁玩家的权限,高级的协管员/主持人可以获得封禁玩家IP地址、隐身、生成创造模式物品的允许。
  • Admin(管理员)
  • Owner(服主)
    • 服主用户组一般允许使用所有权限/命令,且通常是唯一一个拥有控制插件、规定用户组、关闭/重启服务器命令的用户组。

【Plugin Wiki工作室 出品】

初始安装
Group Manager的安装非常容易:
  • 安全地关闭服务器。
  • 将Group Manager插件放入plugins文件夹。 (EssentialsGroupManager.jar/GroupManager.jar)
  • 启动然后关闭服务器。
  • 修改初始的config.yml文件。
  • 重启服务器(在游戏中应用更新的Group Manager配置时,输入/manload)。
配置文件
第一次下载Group Manager时,一般只有.jar文件。在第一次运行Group Manager时,它会生成可以编辑的配置文件。
标准的配置和范例里详细的布局很相似,但在使用之前至少需要更改一点,需要将自己加入管理员。
第一次生成的配置文件时的文件目录结构会看起来像这样:
  1. plugins/
  2.       GroupManager/
  3.          config.yml
  4.         globalgroups.yml
  5.          backups/
  6.          worlds/
  7.             world/
  8.              groups.yml
  9.              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:覆盖并给予创建交易牌子的权限
权限范例
这里有大量的Group Manager可用的权限文件范例:
Group 用户组::Group Manager全体组

【Plugin Wiki工作室 出品】

变量
Group Manager允许像规定权限一样规定变量。每一个用户组的变量都可以有不同的取值。它们往往在基于用户组的插件(如VIP插件等)使用。这里有两个主要的范例:"prefix"(前缀)“suffix”(后缀),和“build”开关。
聊天插件
大部分聊天插件,会为了基于用户组给予玩家自定义名称,而读取prefix(前缀)和suffix(后缀)取值。
EssentialsChat会将前缀和后缀添加到个人的用户名,以给用户的名称增加标签和颜色。
如果想制作更长的聊天前缀,建议查看我们的聊天格式向导,它展示了如何在聊天中使用长的前缀,但在玩家名的名称里使用短的前缀。
这里可以找到一个关于颜色代码的列表。
一些范例:
  • prefix: '[A]' : 制作一个简单的<[A]User>
  • prefix: '&e' : 制作一个上色的<User>
保护插件(AntiGrief)
一些插件支持基于“AntiGrief”的保护。就像聊天颜色一样,GroupManager并不提供这项功能。像EssentialsProtect这样的插件提供。
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插件有关的命令,可以用于在游戏中和控制台上为玩家修改和分配用户组。
基础用户命令
这些命令在已经建立好一个用户组,且仅想将用户分配到用户组时十分有用。
  • /manuadd: 移动用户到希望的用户组。(如果不存在的话会添加用户组到文件)
    • /<命令> <玩家> <用户组>
    • groupmanager.manuadd      
      1. groupmanager.manuadd
      复制代码

  • /manudel: 移除所有此用户特定的配置。使他进入默认用户组。
    • /<命令> <玩家>
    • groupmanager.manudel      
      1. groupmanager.manudel
      复制代码

  • /manpromote: 允许在继承树中向上提升一个玩家。这个命令只会允许用户在相互继承的用户组之间移动。
    • /<命令> <玩家> <用户组>
    • groupmanager.manpromote      
      1. groupmanager.manpromote
      复制代码

  • /mandemote: 允许在继承树中向下降级一个玩家。这个命令只会允许用户在相互继承的用户组之间移动。
    • /<命令> <玩家> <用户组>
    • groupmanager.mandemote      
      1. groupmanager.mandemote
      复制代码

  • /manwhois: 获得用户处在的用户组。
    • /<命令> <玩家>
    • groupmanager.manwhois      
      1. groupmanager.manwhois
      复制代码


回复

使用道具 举报

Greensky 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
5663
钻石
性别
保密
注册时间
2013-1-8
查看详细资料
 楼主| 发表于 2014-7-15 13:44:24 | 显示全部楼层

Group Manager/配置

本帖最后由 henry5041 于 2014-7-20 11:34 编辑

Group Manager/配置
这个页面详细说明了Group Manager配置文件的默认和基础的配置。
警告:Group Manager在重新加载(reload)时会覆写它的配置文件,如果做出了手动的更改,请一定使用/manload
请参见:Group Manager
  
目录
  

  
  • 1 安装之后
    • 1.1        config.yml(配置文件)
    • 1.2 镜像
    • 1.3 groups.yml
    • 1.4        users.yml
    • 1.5        globalgroups.yml(全体/全球用户组)
  • 2 权限
    • 2.1 权限范例
  • 3 最低限度配置
  • 4 视频教程
  
安装之后
第一次下载Group Manager时,一般只有.jar文件。在第一次运行Group Manager时,它会生成可以编辑的配置文件。
标准的配置和主页面上的详细的布局很相似,但在使用之前至少需要更改一点,如果除了想要把自己加入管理员之外没有其他需要的话。
第一次生成配置文件时的文件目录结构会看起来像这样:
  1. plugins/
  2.       GroupManager/
  3.          config.yml
  4.         globalgroups.yml
  5.          backups/
  6.          worlds/
  7.             world/
  8.              groups.yml
  9.              users.yml
复制代码


config.yml
位于: plugins/GroupManager/config.yml
这个配置文件在你拥有多个世界时使用。它用于从一个单独的世界复制权限到其他的世界。
配置文件看起来像这样:
  1. settings:
  2.   config:
  3.     # 这个启用时任何一个设置成op的用户在管理GroupManager时拥有全部权限
  4.     # 用户将能够提升玩家到同样或更高的组。
  5.     opOverrides:true
  6.    
  7.     # 'mantogglevalidate'的默认设置
  8.     # 为true值时会使GroupManager尝试将名称和默认相配
  9.    validate_toggle: true
  10.     #************************************************************************************************************************************************************
  11.     # ***注意:启用这个功能会允许命令方块不合法的使用,引起不希望的权限改变,警告! ***
  12.     #************************************************************************************************************************************************************
  13.    allow_commandblocks: false
  14.    
  15.   data:
  16.     save:
  17.       # GroupManager每过多久会保存它的数据到groups.yml和users.yml
  18.       minutes: 10
  19.       # 备份保留的小时数(plugins/GroupManager/backup)
  20.       hours: 24
  21.       
  22.   logging:
  23.     # GroupManager记录的详细程度。
  24.     # 允许的参数是- ALL(全部),CONFIG(配置),FINE(精细),FINER(更精细),FINEST(最精细),INFO(信息),OFF(关闭),SEVERE(严格),WARNING(警告)
  25.     level: INFO
  26.    
  27.   mirrors:
  28.         # 在这里列出世界的设置映射到它们的子世界。
  29.         # 第一个要素‘world'是主世界名称,是父世界。
  30.         # 随后的要素‘world_nether'和'world_the_end'是将使用的世界。
  31.         # 和父世界使用相同的user/group 文件。
  32.         # 要素'all_unnamed_worlds'指定所有没有列出的世界,然后自动地映射它的父世界。
  33.         # 每一个子世界可以设置从它的父文件映射'groups'、‘users',或两个文件都映射。
  34.         world:
  35.          world_nether:
  36.           - users
  37.           - groups
  38.          world_the_end:
  39.           - users
  40.           - groups
  41.          all_unnamed_worlds:
  42.           - users
  43.           - groups
  44.     #  world2:     (world2会有它自己的用户和组的设置文件)
  45.     #    world3:
  46.     #    - users   (world3会使用world2的users.yml文件,但自己拥有groups.yml文件)
  47.     #    world4:
  48.     #    - groups  (world4会使用world2的groups.yml文件,但拥有自己的users.yml文件)
  49.     #  world5:
  50.     #    - world6  (这个会使world6从world5映射两个文件)
复制代码

镜像
有关取消镜像的教程参看此处。
http://www.mcbbs.net/thread-273672-1-1.html
Lucky777777

这是一个如何在GM里使用镜像系统的范例。
  1. # 这是一个范例的GroupManager镜像系统。
  2. # 这个会使你接触一些更复杂的GM映射。
  3.   mirrors:
  4.         MainWorld:
  5.          MainWorld_nether:
  6.           - users
  7.           - groups
  8.           Hardcore:
  9.           - groups
  10.         Skylands:
  11.          Skylands2:
  12.           - users
  13.           - groups
  14.         Hardcore:
  15.          Hardcore_nether:
  16.           - users
  17.           - groups
  18.          all_unnamed_worlds:
  19.           - users
  20.           - 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的基础可以总结于这里展示的范例:
  1. groups:
  2.   Default:
  3.     default: true
  4.     permissions:
  5.     - essentials.help
  6.     -essentials.help.*
  7.     --essentials.help.factions
  8.     -essentials.helpop
  9.     -essentials.list
  10.     -essentials.motd
  11.     -essentials.rules
  12.     -essentials.spawn
  13.     -essentials.eco
  14.     inheritance: []
  15.     info:
  16.       prefix:'&e'
  17.       build: false
  18.       suffix: ''
  19.   Builder:
  20.     default: false
  21.     permissions:
  22.     -essentials.home
  23.     - essentials.me
  24.     -essentials.msg
  25.     -essentials.sethome
  26.     -essentials.warp
  27.     inheritance:
  28.     - default
  29.     info:
  30.       prefix:'&2'
  31.       build: true
  32.       suffix: ''
复制代码

这个范例有几个值得注意并指出、对于大多数服务器有用的特性:
  • 请仔细观察首行缩进,YAML对于这个十分严格,不正确的时候就会出错。
  • 第二行给予了组的名称,格式应该是'<名称>:'。
  • 第三行规定这个是否是新用户会自动加入的组,每个配置文件里只能有一个这样的组。
  • 下一个部分列出了所有想给加入用户组用户的权限。在这一个例子里的权限只是最基础的命令。
  • inheritance(继承)部分允许直接使用另一个用户组的各种属性,像上面权限节点那样简单的列出你想继承的组即可。
  • 前缀可以在玩家名称前面显示,在这个范例中,是一个颜色代码,会使用户名有一个不同的颜色。
  • build开关被某些插件使用,在这个范例中在默认组的人将能够建筑。
  • “default”用户组有一个否定权限的范例,取消一个特定的权限只需要简单地在权限开头之前加一个“-”,在这个范例中取消了'essentials.help.factions'权限。那上面的一行是一个通配符权限(摘要节点)的范例,意思是在default用户组里的人会看到除了factions插件之外的所有插件命令帮助。
默认配置有更多像这样有一系列权限的用户组,并使用名叫全体用户组(grobalgroups)的功能。这个可以使多世界配置更加容易,详情参见下方。
user.yml
位于: plugins/GroupManager/worlds/<worldname>/user.yml
这里是规定用户进入什么组的地方。确定将自己加入这个配置,以拥有在游戏中管理权限的允许。大部分人很少直接编辑此文件,因为使用游戏中命令会更加容易。
配置文件看起来像这样:
  1. users:
  2.   kimkandor:
  3.     subgroups: []
  4.     permissions:
  5.     -essentials.heal
  6.     group: Default
  7.   zenexer:
  8.     subgroups: []
  9.     permissions: []
  10.     group: Mod
  11.   khobbits:
  12.     subgroups: []
  13.     permissions: []
  14.     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页面找到。
权限范例
这里有大量GroupManager可用的范例权限文件。
GroupManager 用户组 :: GroupManager 全体用户组
最低限制配置
运行服务器需要的最简单最基础配置文件是什么,这个问题以前被提到过。接下来的配置是我们可以推荐的最基础的配置,对于大多数服务器来说,并不会允许足够的管理或给用户提供足够的命令。
  1. groups:
  2.   Default:
  3.     default: true
  4.     permissions:
  5.     -essentials.help
  6.     -essentials.list
  7.     -essentials.motd
  8.     -essentials.rules
  9.     info:
  10.       prefix:'&5'
  11.       build: true
  12.       suffix: ''
  13.   Admin:
  14.     default: false
  15.     permissions:
  16.     - '*'
  17.     inheritance:
  18.     - default
  19.     info:
  20.       prefix:'&4'
  21.       build: true
  22.       suffix: ''
复制代码

视频教程

评分

参与人数 2人气 +1 金粒 +2 收起 理由
aaa....... + 2 没有世界权限文件.......................
1157173310 + 1 楼主你太帅了~

查看全部评分

回复

使用道具 举报

Greensky 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
5663
钻石
性别
保密
注册时间
2013-1-8
查看详细资料
 楼主| 发表于 2014-7-15 13:44:25 | 显示全部楼层

Group Manager/命令

本帖最后由 henry5041 于 2014-7-14 20:05 编辑

Group Manager/命令
Group Manager提供两种实行对用户和用户组管理的方法,使用配置文件规定用户组和用户,或使用控制台命令修改用户和用户组。所有的这些命令都可以在服务器控制台或在游戏中由op使用。建议至少最开始使用配置文件规定用户组,并使用命令执行对用户的管理。
你也可以允许其它用户使用这些管理命令,可以使用摘要权限groupmanager.*,直接给予全部权限。
显然地,这些命令只会在安装了Group Manager后才工作。
  
目录
  

  
  • 1 命令命名规律
  • 2 用户
    • 2.1 用户管理
    • 2.2 用户权限
    • 2.3 用户变量
  • 3 用户组
    • 3.1 用户组管理
    • 3.2 权限
    • 3.3 用户组变量
  • 4 实用命令
  • 5 无命令权限
  
命令命名规律
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(副用户组)
用户
用户管理
  • /manuadd: 移动用户到希望的用户组。(如果不存在的话会添加用户组到文件)
    • /<命令> <玩家> <用户组>
    • groupmanager.manuadd      
      1. groupmanager.manuadd
      复制代码

  • /manudel: 移除所有此用户特定的配置。使他进入默认用户组。
    • /<命令> <玩家>
    • groupmanager.manudel      
      1. groupmanager.manudel
      复制代码

  • /manuaddsub: 将一个用户组加入一个玩家的副用户组列表。
    • /<命令> <玩家> <用户组>
    • groupmanager.manuaddsub      
      1. groupmanager.manuaddsub
      复制代码

  • /manudelsub: 从一个玩家的副用户组列表移除一个用户组。
    • /<命令> <玩家> <用户组>
    • groupmanager.manudelsub      
      1. groupmanager.manudelsub
      复制代码

  • /manpromote: 允许在继承树中向上提升一个玩家。这个命令只会允许用户在相互继承的用户组之间移动。
    • /<命令> <玩家> <用户组>
    • groupmanager.manpromote      
      1. groupmanager.manpromote
      复制代码

  • /mandemote: 允许在继承树中向下降级一个玩家。这个命令只会允许用户在相互继承的用户组之间移动。
    • /<命令> <玩家> <用户组>
    • groupmanager.mandemote      
      1. groupmanager.mandemote
      复制代码

  • /manwhois: 获得用户处在的用户组。
    • /<命令> <玩家>
    • groupmanager.manwhois      
      1. groupmanager.manwhois
      复制代码

用户权限(原文为覆盖权限)
  • /manuaddp: 将权限直接添加到玩家。
    • /<命令> <玩家> <权限>
    • groupmanager.manuaddp      
      1. groupmanager.manuaddp
      复制代码

  • /manudelp: 从玩家直接移除权限。
    • /<命令> <玩家> <权限>
    • groupmanager.manudelp      
      1. groupmanager.manudelp
      复制代码

  • /manulistp: 列出一个玩家的所有权限。
    • /<命令> <玩家>
    • groupmanager.manulistp      
      1. groupmanager.manulistp
      复制代码

  • /manucheckp: 查证玩家是否有这个权限和其来源。
    • /<命令> <玩家> <权限>
    • groupmanager.manucheckp      
      1. groupmanager.manucheckp
      复制代码

用户变量
  • /manuaddv: 增加或替换一个用户的变量(例如prefix或suffix)。
    • /<命令> <用户> <变量> <取值>
    • groupmanager.manuaddv      
      1. groupmanager.manuaddv
      复制代码

  • /manudelv: 从一个用户移除一个变量。
    • /<命令> <用户> <变量>
    • groupmanager.manudelv      
      1. groupmanager.manudelv
      复制代码

  • /manulistv: 列出一个用户拥有的变量(例如prefix或suffix)。
    • /<命令> <用户>
    • groupmanager.manulistv      
      1. groupmanager.manulistv
      复制代码

  • /manucheckv: 查看玩家的一个变量取值和其来源。
    • /<命令> <用户> <变量>
    • groupmanager.manucheckv      
      1. groupmanager.manucheckv
      复制代码

用户组
用户组管理
注意在这里使用g:前缀 的格式修改全体用户组是有效的。
  • /mangadd: 将一个用户组加入到系统。
    • /<命令> <用户组>
    • /<命令> <g:全体用户组>
    • groupmanager.mangadd      
      1. groupmanager.mangadd
      复制代码

  • /mangdel: 从系统移除一个用户组(它的所有用户进入默认用户组)。
    • /<命令> <用户组>
    • /<命令> <g:全体用户组>
    • groupmanager.mangdel      
      1. groupmanager.mangdel
      复制代码

  • /mangaddi: 将一个用户组2加入另一个用户组1继承列表。
    • /<命令> <用户组1> <用户组2>
    • groupmanager.mangaddi      
      1. groupmanager.mangaddi
      复制代码

  • /mangdeli: 从一个用户组1继承列表移除另一个用户组2。
    • /<命令> <用户组1> <用户组2>
    • groupmanager.mangdeli      
      1. groupmanager.mangdeli
      复制代码

  • /listgroups: 列出可用的用户组。
    • /<命令>
    • groupmanager.listgroups      
      1. groupmanager.listgroups
      复制代码

权限
注意在这里使用g:前缀 的格式修改全体用户组是有效的。
  • /mangaddp: 将权限加入一个用户组。
    • /<命令> <用户组> <权限>
    • /<命令> <g:全体用户组> <权限>
    • groupmanager.mangaddp      
      1. groupmanager.mangaddp
      复制代码

  • /mangdelp: 从一个用户组移除权限。
    • /<命令> <用户组> <权限>
    • /<命令> <g:全体用户组> <权限>
    • groupmanager.mangdelp      
      1. groupmanager.mangdelp
      复制代码

  • /manglistp: 列出一个用户组所有的权限。
    • /<命令> <用户组>
    • /<命令> <g:全体用户组>
    • groupmanager.manglistp      
      1. groupmanager.manglistp
      复制代码

  • /mangcheckp: 检查用户组是否拥有一个权限和其来源。
    • /<命令> <用户组> <权限>
    • /<命令> <g:全体用户组> <权限>
    • groupmanager.mangcheckp      
      1. groupmanager.mangcheckp
      复制代码

用户组变量
  • /mangaddv: 增加或更改一个用户组的变量(例如prefix或suffix)。
    • /<命令> <用户组> <变量> <取值>
    • groupmanager.mangaddv      
      1. groupmanager.mangaddv
      复制代码

  • /mangdelv: 从一个用户组移除一个变量。
    • /<命令> <用户组> <变量>
    • groupmanager.mangdelv      
      1. groupmanager.mangdelv
      复制代码

  • /manglistv: 列出一个用户组拥有的所有变量(例如prefix或suffix)。
    • /<命令> <用户组>
    • groupmanager.manglistv      
      1. groupmanager.manglistv
      复制代码

  • /mangcheckv: 查证玩用户组的一个变量取值和其来源。
    • /<命令> <用户组> <变量>
    • groupmanager.mangckeckv      
      1. groupmanager.mangckeckv
      复制代码

实用命令
  • /mansave: 在文件上保存所有权限的更改。
    • /<命令>
    • groupmanager.mansave      
      1. groupmanager.mansave
      复制代码

  • /manload: 重新加载当前的世界和config.yml文件,或加载给定的世界。
    • /<命令> [世界]      
    • groupmanager.manload      
      1. groupmanager.manload
      复制代码

  • /mantogglevalidate: 切换玩家在线验证开关。
    • /<命令>
    • groupmanager.mantogglevalidate      
      1. groupmanager.mantogglevalidate
      复制代码

  • /mantogglesave: 切换自动保存开关。
    • /<命令>
    • groupmanager.mantogglesave      
      1. groupmanager.mantogglesave
      复制代码

  • /manworld: 显示选定的世界名。
    • /<命令>
    • groupmanager.manworld      
      1. groupmanager.manworld
      复制代码

  • /manselect: 选定下一个命令工作的世界。
    • /<命令> <世界>
    • groupmanager.manselect      
      1. groupmanager.manselect
      复制代码

  • /manclear: 清除世界的选定,下一个命令会在你的世界工作。
    • /<命令>
    • groupmanager.manclear      
      1. groupmanager.manclear
      复制代码

  • /mancheckw: 获得一个世界的每一个文件(users/groups)存储的路径。
    • /<命令> <世界>
    • groupmanager.mancheckw      
      1. groupmanager.mancheckw
      复制代码

无命令权限
  • groupmanager.op     使用Group Manager命令时不理会所有的继承和权限。(op权限)
    1. groupmanager.op
    复制代码

  • groupmanager.notify.self     在你的等级改变时通知你自己。
    1. groupmanager.notify.self
    复制代码

  • groupmanager.notify.other     在别人等级改变时通知你。
    1. groupmanager.notify.other
    复制代码

  • groupmanager.noofflineperms     服务器在离线模式时拒绝所有的权限。
    1. groupmanager.noofflineperms
    复制代码


回复

使用道具 举报

Greensky 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
5663
钻石
性别
保密
注册时间
2013-1-8
查看详细资料
 楼主| 发表于 2014-7-15 13:44:26 | 显示全部楼层

Group Manager/游戏中教程

本帖最后由 henry5041 于 2014-7-14 20:22 编辑

Group Manager/游戏中教程
欢迎来到GroupManager 游戏中命令教程。
为何要在游戏中做这些?
这是一个常见的问题,为何在可以于配置文件里编写权限的时候,花费时间输入命令?
答案是:
  • 使用命令使一个YAML文件出错是不可能的。
  • 在不能直接访问服务器文件的时候,这个更加方便。
  • 这个非常容易。
如何做!
开始时,我们需要制作一个用户组用于给予权限。
* 命令:
  1. /mangadd <用户组名>
复制代码

* 范例:
  1. /mangadd Administrator
复制代码

在上面的范例中,创建了一个名为"Administrator"的用户组。你需要记住用户组名称,如果忘记了名称,可以使用命令“/listgroups”获得所有用户组的列表,这也会包括全体用户组(GlobalGroup)。
将会显示“You created a new group called:$groupname”(你创建了一个用户组叫做:$groupname),$groupname是你制作的用户组名称。

在这之后,你需要添加权限。
* 命令:
  1. /mangaddp <用户组名> <权限>
复制代码

* 范例:
  1. /mangaddp Administrator essentials.msg
复制代码

在这个范例里,给予了名为“Administrator”用户组由“Essentials”插件提供的使用“msg”命令的权限。你不能假定插件名一定在权限节点里,所以在使用前确定查看了插件的权限节点。

附加信息: 如果你正在使用的插件拥有很多权限,且想将它们同时给予,请查看是否有带通配符'*'的权限(摘要节点)。一般像“essentials.*”那样,允许使用Essentials插件的全部权限。
你可以通过像使用权限那样直接给予通配符'*'自己,以给予所有插件的全部权限,但是不建议将此给予除管理员以外的其它任何用户组,因为那个用户组将可以使用任何命令。
另一个附加信息: 如果你给予了一个通配符权限,例如“essentials.*”,但希望限制某一个特定的权限,可以使用/mangaddp <用户组> <权限>命令,但在命令前加一个连字符'-'(否定节点)。
一个范例:
  1. /mangaddp Administrator -essentials.motd
复制代码



移除权限:
如果你发现在添加一个权限时拼写错误,决定不再使用它,或者有其他的原因想要删除它,可以使用这个命令:
* 命令:
  1. /mangdelp <用户组名> <权限>
复制代码

* 范例:
  1. /mangdelp Administrator essentials.msg
复制代码

这个权限会移除基于此权限的命令的允许。
前缀
对于前缀的编辑也可以这样完成。使用这个命令:
* 命令:
  1. /mangaddv <用户组名> prefix <前缀>
复制代码

* 范例:
  1. /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 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
5663
钻石
性别
保密
注册时间
2013-1-8
查看详细资料
 楼主| 发表于 2014-7-15 13:44:27 | 显示全部楼层

Group Manager/开发者

本帖最后由 henry5041 于 2014-7-22 12:51 编辑

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回调函数
  1. import java.util.Arrays;
  2. import java.util.List;
  3. import org.anjocaido.groupmanager.GroupManager;
  4. import org.anjocaido.groupmanager.dataholder.OverloadedWorldHolder;
  5. import org.anjocaido.groupmanager.permissions.AnjoPermissionsHandler;
  6. import org.bukkit.entity.Player;
  7. import org.bukkit.event.EventHandler;
  8. import org.bukkit.event.EventPriority;
  9. import org.bukkit.event.server.PluginDisableEvent;
  10. import org.bukkit.event.server.PluginEnableEvent;
  11. import org.bukkit.plugin.Plugin;
  12. import org.bukkit.plugin.PluginManager;
  13. public class GMHook
  14. {
  15.         private GroupManager groupManager;
  16.         private Plugin plugin;
  17.         public GMHook(final Plugin plugin)
  18.         {
  19.                 this.plugin = plugin;
  20.         }
  21.         @EventHandler(priority = EventPriority.MONITOR)
  22.         public void onPluginEnable(final PluginEnableEvent event)
  23.         {
  24.                 final PluginManager pluginManager = plugin.getServer().getPluginManager();
  25.                 final Plugin GMplugin = pluginManager.getPlugin("GroupManager");
  26.                 if (GMplugin != null && GMplugin.isEnabled())
  27.                 {
  28.                         groupManager = (GroupManager)GMplugin;
  29.                 }
  30.         }
  31.         @EventHandler(priority = EventPriority.MONITOR)
  32.         public void onPluginDisable(PluginDisableEvent event)
  33.         {
  34.                 if (groupManager != null)
  35.                 {
  36.                         if (event.getPlugin().getDescription().getName().equals("GroupManager"))
  37.                         {
  38.                                 groupManager = null;
  39.                         }
  40.                 }
  41.         }
  42.         public String getGroup(final Player base)
  43.         {
  44.                 final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
  45.                 if (handler == null)
  46.                 {
  47.                         return null;
  48.                 }
  49.                 return handler.getGroup(base.getName());
  50.         }
  51.         public boolean setGroup(final Player base, final String group)
  52.         {
  53.                 final OverloadedWorldHolder handler = groupManager.getWorldsHolder().getWorldData(base);
  54.                 if (handler == null)
  55.                 {
  56.                         return false;
  57.                 }
  58.                 handler.getUser(base.getName()).setGroup(handler.getGroup(group));
  59.                 return true;
  60.         }
  61.         public List<String> getGroups(final Player base)
  62.         {
  63.                 final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
  64.                 if (handler == null)
  65.                 {
  66.                         return null;
  67.                 }
  68.                 return Arrays.asList(handler.getGroups(base.getName()));
  69.         }
  70.         public String getPrefix(final Player base)
  71.         {
  72.                 final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
  73.                 if (handler == null)
  74.                 {
  75.                         return null;
  76.                 }
  77.                 return handler.getUserPrefix(base.getName());
  78.         }
  79.         public String getSuffix(final Player base)
  80.         {
  81.                 final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
  82.                 if (handler == null)
  83.                 {
  84.                         return null;
  85.                 }
  86.                 return handler.getUserSuffix(base.getName());
  87.         }
  88.         public boolean hasPermission(final Player base, final String node)
  89.         {
  90.                 final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
  91.                 if (handler == null)
  92.                 {
  93.                         return false;
  94.                 }
  95.                 return handler.has(base, node);
  96.         }
  97. }
复制代码
回复

使用道具 举报

魔君 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
1159
钻石
性别
保密
注册时间
2013-3-10
查看详细资料
发表于 2014-7-15 13:47:06 | 显示全部楼层
辛苦了OAO,好顶赞!
回复

使用道具 举报

fff1123 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
4713
钻石
性别
保密
注册时间
2013-11-14
查看详细资料
发表于 2014-7-15 13:49:40 | 显示全部楼层
前来围观·
henry赛高~!









来自群组: 兔斯基大家族←已成为历史..
来自群组: 兔斯基家族←似乎不引人注目的样子..

评分

参与人数 1人气 +1 收起 理由
Greensky + 1 谢谢= =

查看全部评分

回复

使用道具 举报

1007108187 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
1088
钻石
性别
保密
注册时间
2013-8-28
查看详细资料
发表于 2014-7-15 14:11:04 | 显示全部楼层
( ^_^ )不错嘛
回复

使用道具 举报

qq864896956 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2011
钻石
性别
保密
注册时间
2012-1-18
查看详细资料
发表于 2014-7-15 14:57:37 | 显示全部楼层
好东西。留名                        
回复

使用道具 举报

Hong-Jian 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
4420
钻石
性别
保密
注册时间
2014-3-10
查看详细资料
头像被屏蔽
发表于 2014-7-15 18:52:12 | 显示全部楼层
很好,我喜欢
回复

使用道具 举报

lisongnan7 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
3591
钻石
性别
保密
注册时间
2013-5-15
查看详细资料
发表于 2014-7-15 18:52:23 | 显示全部楼层
好...厉害!


收藏不谢~
回复

使用道具 举报

Lucky777777 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
11382
钻石
性别
保密
注册时间
2013-4-5
查看详细资料
发表于 2014-7-15 19:15:51 来自手机 | 显示全部楼层
  果然精华了呢,恭喜恭喜。

评分

参与人数 1人气 +2 收起 理由
Greensky + 2 感谢提供帮助= =

查看全部评分

回复

使用道具 举报

航空兔子 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
712
钻石
性别
保密
注册时间
2012-9-22
查看详细资料
发表于 2014-7-15 19:44:33 | 显示全部楼层
极好极好,顶起!

评分

参与人数 1人气 +2 收起 理由
Greensky + 2 感谢提供建议= =

查看全部评分

回复

使用道具 举报

LinYi_Z 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2775
钻石
性别
保密
注册时间
2014-3-19
查看详细资料
发表于 2014-7-15 20:07:51 | 显示全部楼层
不愧是greensky!!!厲害喲~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 京公网安备 11010502037624号 | 手机版

GMT+8, 2020-1-23 01:14 , Processed in 0.054128 second(s), Total 23, Slave 22 queries, Release: Build.2020.01.19.1840, Gzip On, MemCached On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标 本站与Mojang以及微软公司没有从属关系

© 2010-2020 我的世界中文论坛 版权所有 本站原创图文内容版权属于原创作者,未经许可不得转载

快速回复 返回顶部 返回列表