回复:
Greensky
Greensky
标题: Group Manager 本帖最后由 Greensky 于 2020-6-27 21:58 编辑
Group ManagerGroup Manager(有时简称 GM)是一款用于控制权限的插件。它允许你为用户组设立权限,并将玩家添加到这些用户组,便可以有拥有允许使用特定权限的多个等级。创建一个自定义的等级系统,对于大部分 Minecraft 服务器来说是非常有用的。没有它,设置服务器限制玩家的程度是比较困难的。Group Manager 是作为一个独立的组件,而且当前不是可用的 BukkitDev 批准项目。请参见 Group Manager/配置,GroupManager/命令 和 Group Manager/开发者 条目。视频教程涉及这个教程的一小部分。——其中有一些次要的、过时的、不准确的内容。所以当这个教程和视频不符时,请以这个教程的内容为准。
【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(协管员)Admin(管理员)
管理员和协管员两个用户组可以基于你的喜好合并或更深入地分开。典型地,最低级的协管员等级拥有踢出玩家、监禁玩家的权限,高级的协管员可以获得封禁玩家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:覆盖并给予创建交易牌子的权限
权限范例这里有大量的 Group Manager 可用的权限文件范例:
Group 用户组(groups.yml) :: Group Manager 全局用户组(globalgroups.yml)
【Plugin Wiki 出品】
变量Group Manager 允许像规定权限一样规定变量。每一个用户组的变量都可以有不同的取值。它们往往在基于用户组的插件(如 VIP 插件等)使用。这里有两个主要的例子:"prefix"(前缀)“suffix”(后缀),和“build”开关。聊天插件大部分聊天插件,会为了基于用户组给予玩家自定义名称,而读取 prefix(前缀)和 suffix(后缀)取值。EssentialsChat 会将前缀和后缀添加到个人的用户名,以给用户的名称增加标签和颜色。如果想制作更长的聊天前缀,建议查看我们的聊天格式向导,它展示了如何在聊天中使用长的前缀,但在玩家名的名称里使用短的前缀。在这里可以找到一个关于颜色代码的列表。一些例子:prefix: '[A]' : 制作一个简单的 <[A]User>prefix: '&e' : 制作一个上色的
保护插件(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 插件有关的命令,可以用于在游戏中和控制台上为玩家修改和分配用户组。请参见: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复制代码
2014-07-15 05:44:00
Greensky
Greensky
标题: Group Manager/配置 本帖最后由 Greensky 于 2020-6-27 22:29 编辑
Group Manager/配置这个页面详细说明了 Group Manager 配置文件的默认和基础的配置。警告:Group Manager 在重新加载(reload)时会覆写它的配置文件,如果做出了手动的更改,请一定使用/manload。请参见:Group Manager 目录
1 安装之后
1.1 config.yml(配置文件)1.2 镜像1.3 groups.yml1.4 users.yml1.5 globalgroups.yml(全局用户组)
2 权限
2.1 权限范例
3 最低限度配置4 视频教程
安装之后第一次下载 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/
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 页面找到。 权限范例这里有大量 GroupManager 可用的范例权限文件。
GroupManager 用户组 :: GroupManager 全体用户组 最简配置运行服务器需要的最简单最基础配置文件是什么,这个问题以前被提到过。接下来的配置是我们可以推荐的最基础的配置,对于大多数服务器来说,并不会允许足够的管理或给用户提供足够的命令。 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: ''
复制代码
视频教程http://www.youtube.com/watch?v=06mqvMuSmHU&feature=player_embeddedhttp://www.youtube.com/watch?feature=player_embedded&v=Rurjwv91_dU
2014-07-15 05:44:00
Greensky
Greensky
标题: Group Manager/命令 本帖最后由 Greensky 于 2020-6-27 22:37 编辑
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
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: 将一个用户组加入到系统。
/<命令> <用户组> /<命令>
groupmanager.mangadd复制代码
/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: 将权限加入一个用户组。
/<命令> <用户组> <权限> /<命令>
groupmanager.mangaddp复制代码
/mangdelp: 从一个用户组移除权限。
/<命令> <用户组> <权限> /<命令>
groupmanager.mangdelp复制代码
/manglistp: 列出一个用户组所有的权限。
/<命令> <用户组> /<命令>
groupmanager.manglistp复制代码
/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.op 使用Group Manager命令时不理会所有的继承和权限。(op权限)
groupmanager.op复制代码
groupmanager.notify.self 在你的等级改变时通知你自己。
groupmanager.notify.self复制代码
groupmanager.notify.other 在别人等级改变时通知你。
groupmanager.notify.other复制代码
groupmanager.noofflineperms 服务器在离线模式时拒绝所有的权限。
groupmanager.noofflineperms复制代码
2014-07-15 05:44:00
Greensky
Greensky
标题: Group Manager/游戏中教程 本帖最后由 Greensky 于 2020-6-27 22:45 编辑
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'。第三个颜色代码,或像范例里一样,会将用户名设置为亮红色。 可以像希望的那样使用更多的颜色代码,和更多的格式代码,但是在前缀使用粗体会导致文本在意想不到的时候缩进,这会导致文本不可视!
2014-07-15 05:44:00
Greensky
Greensky
标题: Group Manager/开发者 本帖最后由 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 回调函数
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
{
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);
}
}
复制代码
2014-07-15 05:44:00
魔君
魔君
辛苦了OAO,好顶赞!
2014-07-15 05:47:00
fff1123
fff1123
前来围观·
henry赛高~!
来自群组: 兔斯基大家族←已成为历史..
来自群组: 兔斯基家族←似乎不引人注目的样子..
2014-07-15 05:49:00
1007108187
1007108187
( ^_^ )不错嘛
2014-07-15 06:11:00
qq864896956
qq864896956
好东西。留名
2014-07-15 06:57:00
Hong-Jian
Hong-Jian
提示: 作者被禁止或删除 内容自动屏蔽
2014-07-15 10:52:00
lisongnan7
lisongnan7
好...厉害!
收藏不谢~
2014-07-15 10:52:00
Lucky777777
Lucky777777
果然精华了呢,恭喜恭喜。
2014-07-15 11:15:00
航空兔子
航空兔子
极好极好,顶起!
2014-07-15 11:44:00
LinYi_Z
LinYi_Z
不愧是greensky!!!厲害喲~
2014-07-15 12:07:00
A-rbiter
A-rbiter
腐竹翻译辛苦了
2014-07-16 00:45:00
abc2040605370
abc2040605370
幸苦了,
2014-07-16 00:53:00
Qin_yu
Qin_yu
顶一下
2014-07-16 01:40:00
REN0011
REN0011
魔君 发表于 2014-7-15 13:47
辛苦了OAO,好顶赞!
魔君开小号了?
2014-07-16 02:02:00
qq2393679506
qq2393679506
好人啊,一定要赞
2014-07-16 03:13:00
魔君
魔君
REN0011 发表于 2014-7-16 10:02
魔君开小号了?
这是大号OAO
2014-07-16 03:19:00
liyu
liyu
非常实用,已经收藏啦
2014-07-16 03:41:00
REN0011
REN0011
魔君 发表于 2014-7-16 11:19
这是大号OAO
名副其实的‘大号'
2014-07-16 03:44:00
魔君
魔君
REN0011 发表于 2014-7-16 11:44
名副其实的‘大号'
=A=明明就是大号
2014-07-16 03:47:00
REN0011
REN0011
魔君 发表于 2014-7-16 11:47
=A=明明就是大号
安啦安啦,知道是大号了
2014-07-16 03:57:00
魔君
魔君
REN0011 发表于 2014-7-16 11:57
安啦安啦,知道是大号了
嗦嘎← ←
2014-07-16 03:58:00
Nonetheless
Nonetheless
非常感谢~!
2014-07-16 04:05:00
741815914@qq.co
741815914@qq.co
提示: 作者被禁止或删除 内容自动屏蔽
2014-07-16 07:41:00
Sin50
Sin50
大神谢了!
2014-07-17 07:11:00
RitterLldska
RitterLldska
赞啊!!!!!!!!!!!!!!!!!!!!!!
2014-07-20 02:11:00
RitterLldska
RitterLldska
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
2014-07-20 02:12:00
九尾·
九尾·
谢谢分享 我要去服务器弄好玩的啦 问下牌子传送ESS里的怎么弄为毛 我明明装了ESS但是牌子无效
2014-07-21 18:36:00
Greensky
Greensky
本帖最后由 henry5041 于 2014-7-22 12:43 编辑
九尾· 发表于 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-07-22 04:37:00
z59479031
z59479031
我的天哪。。 好多字啊。。
2014-07-22 10:16:00
九尾·
九尾·
henry5041 发表于 2014-7-22 12:37
这就是我写的= =
请先参考此教程完成Essentials的牌子的设定
怎么开启 Essentials木牌传送
2014-07-22 10:32:00
Greensky
Greensky
九尾· 发表于 2014-7-22 18:32
怎么开启 Essentials木牌传送
按照我给你的那个教程里的,在config.yml里,去掉warp那个前面的“#”
2014-07-22 10:55:00
-木羽-
-木羽-
不错的帖子外加
首先你得是个辅助系列
2014-07-24 02:49:00
leavessoft
leavessoft
感谢lz分享,需要继续学习。。
2014-07-25 11:04:00
陈乾s
陈乾s
精华唉!!!赞{:10_523:}
插件么
表示玩原版
2014-07-26 08:14:00
w44225769
w44225769
确实好 像当初我什么都不懂 自己盯着配置指令不断摸索参透这东西 那叫一个举步维艰。。。。不过听说有个叫PEX的权限插件超越了 GM 但GM在我的心中是完美的权限插件
2014-07-27 02:02:00
ztq
ztq
太好了,有些权限什么的完全搞不懂
2014-08-03 04:37:00
赤灬魔
赤灬魔
我只想知道一直显示All commands are locked due to an error. Check the log and then try a '/manload'.
>
是怎么回事= =
2014-08-09 10:56:00
赤灬魔
赤灬魔
我只想知道一直显示All commands are locked due to an error. Check the log and then try a '/manload'.
>
是怎么回事= =
2014-08-09 10:56:00
Greensky
Greensky
赤灬魔 发表于 2014-8-9 18:56
我只想知道一直显示All commands are locked due to an error. Check the log and then try a '/manload'.
...
发生错误导致命令被锁定,请输入/manload
2014-08-10 00:47:00
困罪丶
困罪丶
我能说这是神贴嘛?好吧,能!
2014-08-19 13:07:00
kou_jiao
kou_jiao
提示: 作者被禁止或删除 内容自动屏蔽
2014-08-21 08:54:00
504560256
504560256
我想问一个问题,当你创建了一个新的组以后,如何让这个新的组拥有和builder一样的基础权限?
2014-08-27 15:32:00
Greensky
Greensky
504560256 发表于 2014-8-27 23:32
我想问一个问题,当你创建了一个新的组以后,如何让这个新的组拥有和builder一样的基础权限? ...
输入/mangaddi [你创造的组] Builder复制代码和
/mangaddv [你创造的组] build true复制代码
2014-08-27 15:53:00
504560256
504560256
henry5041 发表于 2014-8-27 23:53
输入和
两个都试过了,不管用
2014-08-27 16:15:00
Greensky
Greensky
504560256 发表于 2014-8-28 00:15
两个都试过了,不管用
你把你的groups.yml中的内容发上来看看吧
2014-08-28 01:26:00
a740576689
a740576689
看得眼都花.. 翻译辛苦 我还是直接覆盖原用户权限好了
2014-09-16 07:02:00
Greensky
Greensky
a740576689 发表于 2014-9-16 15:02
看得眼都花.. 翻译辛苦 我还是直接覆盖原用户权限好了
谢谢,是我写得条理不够清晰= =
2014-09-16 07:06:00
ychs394901
ychs394901
{:10_492:}腐竹考试顺利不挂科
2014-10-11 06:15:00
徐小洋丶
徐小洋丶
那个,如果我开一个单独的游戏世界,权限都设置好,然后这个世界的权限组 只留一个默认组行吗 其他组可以删除吗?
2014-12-17 17:30:00
xiegege
xiegege
好东西顶 。
2014-12-18 01:14:00
武王撞钟
武王撞钟
很不错的教程!
2014-12-18 04:44:00
w781482205
w781482205
这绝对是标准的十个字
2015-01-25 09:58:00
orangenihao
orangenihao
不愧是greensky!!!厲害喲~
2015-01-26 14:18:00
zzbb
zzbb
xxxxxxxxxxxxxxxxxxxxxxxxxx
2015-01-31 15:04:00
qq752248574
qq752248574
非常感谢!!
2015-02-03 12:15:00
asd723132544
asd723132544
请问一下,我是腐竹,但是我想使用一个指令却提示我没有权限,如何解决?
2015-02-04 03:38:00
绯色黄昏
绯色黄昏
请问一个ESS可以配单个世界的权限组吗?例如我资源世界有res的权限,但是地狱没有这样子的,可以做到吗?求教跪求
2015-02-12 09:32:00
5041henry
5041henry
绯色黄昏 发表于 2015-2-12 17:32
请问一个ESS可以配单个世界的权限组吗?例如我资源世界有res的权限,但是地狱没有这样子的,可以做到吗?求 ...http://www.mcbbs.net/thread-273672-1-1.html复制代码可以参照这篇帖子取消世界权限镜像,其余请自行摸索
2015-02-12 10:32:00
绯色黄昏
绯色黄昏
5041henry 发表于 2015-2-12 18:32
可以参照这篇帖子取消世界权限镜像,其余请自行摸索
非常感谢(*゜ロ゜)ノ
2015-02-12 10:46:00
xcc
xcc
表示帮了大忙
2015-03-01 04:14:00
andyhkong
andyhkong
我还是不明白 。我的要求很简单 就是创建一个新的世界 然后添加某种怪物在里面 地图是随机。。
但是我看来看去还是看不明白。。。
2015-03-12 03:58:00
5041henry
5041henry
andyhkong 发表于 2015-3-12 11:58
我还是不明白 。我的要求很简单 就是创建一个新的世界 然后添加某种怪物在里面 地图是随机。。
但是我看来 ...
您高估此插件能力了,它做不到
2015-03-15 09:31:00
niubixiaor
niubixiaor
慢慢看。。
2015-03-28 04:36:00
X_Soda★汽水
X_Soda★汽水
提示: 作者被禁止或删除 内容自动屏蔽
2015-03-28 10:01:00
honglantu
honglantu
可以说一下,如何制作多个礼包么?物品代码支持别的mod么?
2015-04-06 04:34:00
模拟超级
模拟超级
误导!给予权限不是/mangaddv而是/mangaddp请楼主纠错
2015-04-13 13:07:00
q278747740
q278747740
赞额...............
2015-04-14 05:20:00
xieyin
xieyin
感谢楼主的详细教程{:10_512:}
2015-04-15 19:31:00
SunHeavenRuler
SunHeavenRuler
本帖最后由 SunHeavenRuler 于 2015-4-21 11:17 编辑
5041henry 发表于 2015-3-15 17:31
您高估此插件能力了,它做不到
求教~为什么我用了ESS和GM后目标选择器(@a @p之类)的就不能正常使用了呢?手打命令不识别,提示目标玩家不在线,用命令方块可以。还有代替当前坐标的“~”符号也不识别了。并且权限组的相关命令比如/mangaddp之类的不能用命令方块执行,我看别的服务器里面可以用呀~{:10_503:}
服务器版本1.8(Spigot,开服器MCSGUI-1.4.1)大号也提醒下~
@henry5041
2015-04-21 03:15:00
lsz7575
lsz7575
哇居然还有离线版真好人
2015-04-25 08:47:00
Sigh123
Sigh123
楼主,传送提示you dont have teleport access是为什么,不管什么传送,op就不会,玩家不管什么组都会,是权限的问题吗
2015-06-09 03:13:00
leewjsy
leewjsy
lz辛苦了
2015-06-16 12:04:00
Zenx
Zenx
终于会用了{:10_507:}
2015-06-17 10:19:00
缘魔浪人
缘魔浪人
henry5041 发表于 2014-8-28 09:26
你把你的groups.yml中的内容发上来看看吧
vip1:
default: false
permissions:
- essentials.fly
- payday.groupname
- plotme.limit.2
- plotme.use
inheritance:
- builder
info:
prefix: '&f[&d赞助财团小白人&f]&c'
build: true
suffix: ''
2015-06-28 12:32:00
缘魔浪人
缘魔浪人
henry5041 发表于 2014-8-28 09:26
你把你的groups.yml中的内容发上来看看吧
vip1:
default: false
permissions:
- essentials.fly
- payday.groupname
- plotme.limit.2
- plotme.use
inheritance:
- builder
info:
prefix: '&f[&d赞助财团小白人&f]&c'
build: true
suffix: ''
2015-06-28 12:33:00
Greensky
Greensky
Sigh123 发表于 2015-6-9 11:13
楼主,传送提示you dont have teleport access是为什么,不管什么传送,op就不会,玩家不管什么组都会,是 ... - essentials.tpa
- essentials.tpaccept
- essentials.tpahere
- essentials.tpdeny复制代码
自己给权限
2015-06-29 00:22:00
Greensky
Greensky
SunHeavenRuler 发表于 2015-4-21 11:15
求教~为什么我用了ESS和GM后目标选择器(@a @p之类)的就不能正常使用了呢?手打命令不识别,提示目标玩家 ...
命令方块我用的少,不太清楚,不过我记得原版的命令方块好像不能使用插件拓展指令,你可以装一个像ScriptBlock这样实现命令方块功能的插件试试
2015-06-29 00:31:00
缘魔浪人
缘魔浪人
缘魔浪人 发表于 2015-6-28 20:33
vip1:
default: false
permissions:
找到问题是那里了!
BUILD:TRUE 这个造成了新建权限组无法建筑的事情发生
2015-06-30 00:32:00
o1071921038
o1071921038
好东西收下了
2015-07-02 02:50:00
fyyo429
fyyo429
henry5041 发表于 2014-7-15 13:44
Group Manager/配置这个页面详细说明了Group Manager配置文件的默认和基础的配置。警告:Group Manager在重 ...
谢谢楼主,我按照这个帖子终于弄好了这个难弄的东西--权限……
2015-07-11 06:59:00
小C子
小C子
谢谢楼主
2015-07-11 06:59:00
ggmmapple
ggmmapple
提示: 作者被禁止或删除 内容自动屏蔽
2015-07-11 08:52:00
KagamineRin╮
KagamineRin╮
请问,怎么更改默认的聊天字体颜色,或者是取消聊天字体颜色?
2015-07-12 16:08:00
Greensky
Greensky
KagamineRin╮ 发表于 2015-7-13 00:08
请问,怎么更改默认的聊天字体颜色,或者是取消聊天字体颜色?
请参阅Essentials配置文件中chat部分
2015-07-13 01:01:00
KagamineRin╮
KagamineRin╮
henry5041 发表于 2015-7-13 09:01
请参阅Essentials配置文件中chat部分
配置文件介绍部分没有Chat的介绍设置方法.
2015-07-13 13:13:00
Greensky
Greensky
KagamineRin╮ 发表于 2015-7-13 21:13
配置文件介绍部分没有Chat的介绍设置方法.http://www.mcbbs.net/forum.php?mod=redirect&goto=findpost&ptid=290356&pid=5561439
你可以参阅这里有关Essentialschat的教程,只用Groupmanager的话没办法修改聊天字体颜色
2015-07-14 03:45:00
a1156173075
a1156173075
那个用户组权限继承的能不能说一下是前面继承后面还是后面继承前面的啊?
2015-07-15 03:54:00
w1481618319
w1481618319
辛苦了。好东西
2015-07-16 04:07:00
Greensky
Greensky
a1156173075 发表于 2015-7-15 11:54
那个用户组权限继承的能不能说一下是前面继承后面还是后面继承前面的啊? ...
帖子里面已经说清楚了,把权限组1加入权限组2继承列表,就是权限组2继承权限组1。
2015-07-16 04:32:00
fei05
fei05
好吧,我什么都不懂。。。
2015-07-16 06:10:00
SeplienturTD
SeplienturTD
下载地址有没有网盘的~
2015-07-19 01:12:00
cc612
cc612
非常好的技术贴,顶一个!
2015-07-19 13:10:00
撒打算打
撒打算打
怎么复制一个权限组的权限到另一个权限组
比如说我想把普通玩家所在权限组的权限复制到vip权限组
2015-07-26 00:59:00
Greensky
Greensky
撒打算打 发表于 2015-7-26 08:59
怎么复制一个权限组的权限到另一个权限组
比如说我想把普通玩家所在权限组的权限复制到vip权限组 ...
你是说复制吗,我觉得你这种情况使用权限组继承可能更好,详情请见帖内继承部分教程
2015-07-26 12:57:00
Raymond_Min
Raymond_Min
帮助很大 谢谢楼主!
2015-07-26 13:46:00