您尚未登录,请登录后浏览更多内容! 登录 | 加入最MC

QQ登录

只需一步,快速开始

 找回密码
 加入最MC

QQ登录

只需一步,快速开始

查看: 31382|回复: 17
打印 上一主题 下一主题

minecraft服务器permissions_node权限管理插件配置基础[bukkit1.5.2]

[复制链接]
  • TA的每日心情
    开心
    2013-7-20 00:17
  • 签到天数: 2 天

    [LV.1]初来乍到

    跳转到指定楼层
    楼主
    发表于 2013-5-24 23:43:34 | 只看该作者 |0人打赏回帖奖励 |倒序浏览 |阅读模式
    [教程]minecraft服务器permissions_node权限管理插件配置基础[bukkit1.5.2]

    看过很多新手服主问permissions node权限管理插件的配置.
    这个,是技术硬功夫.

    开bukkit作服务器核心的minecraft服必会的技术基础.这个不会.没法开服的.我这里不是说基友服,是说40人以上的公网服务器,基友服根本用不到写这种技术教程.

    现在minecraft 1.5.2时代了.能跟上bukkit版本一直追新的permissions node权限管理插件基本上没几个了.
    硕果仅存的YAPP也停止在了1.5.1时代.知名的permissionsex,bpermissions,根本没有进军1.5.x的迹象.
    就剩zpermissions和essentials group manager还现在能上bukkit 1.5.2的原生支持.
    其他都是向上兼容而已.

    先开讲essentials group manager吧.然后再讲zpermissions,希望两天内能贫完这点破事儿.

    -待续

    评分

    参与人数 1MC币 +10 贡献 +1 收起 理由
    zuimc + 10 + 1 支持原创内容!

    查看全部评分

    打赏

    0

    收藏

    0

    支持

    2

    反对

    0

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
  • TA的每日心情
    开心
    2013-7-20 00:17
  • 签到天数: 2 天

    [LV.1]初来乍到

    沙发
     楼主| 发表于 2013-5-25 00:09:15 | 只看该作者
    本帖最后由 alecthree 于 2013-5-25 01:41 编辑

    essentials是一套插件,很庞大.内容太多.
    不过
    essentials group manager是可以当单体插件来用的.简称ess gm吧.名字太长.
    现在的预览版EssentialsGroupManager-pre2.11.1.6
    已经可以上bukkit 1.5.2了.

    http://wiki.ess3.net/wiki/Downloads
    这里是essentials的维基,下载发布页,有pre-release,预览版的下载,其中essentials-gm那个就是group manager.新版已经不需要什么GroupBridge那个东西了.

    jar文件扔到服务器plugins文件夹起服,自动生成配置文件.

    完了说一下文件ess gm的配置文件结构.
    维基其实都有.
    http://wiki.ess3.net/wiki/Group_Manager

    config,不用说了吧.自己看维基好了.难点主要是
    他那个权限节点的分布式结构,

    感觉ess gm好像是鼓励服主配permissions node的时候,多进行模块化编写.完了呢,把permissions node写好的多条权限,分到一个模块下,完了再到实际应用permissions node的文件中直接引用模块名字.

    类似这么一种逻辑.但是这对于permissions node新手有点太晕头转向了.
    简单来说,就是global分多个组权限.然后实际一个世界或者多个世界自己的权限配置,继承global的组权限.
    然后各个世界再自己附加的独立的权限配置.
    然后如果不同世界的权限有一致的,可以世界之间的权限互相镜像,这样父权限世界配置一次,其他子镜像世界,就镜像父世界的权限就好了.

    晕不晕.不晕那继续.

    而且,如果不把ess gm和essentials本身其他插件搭配使用.那配置文件默认写的那么多根本没用.

    所以,上来最小化.ess gm的配置.删除那些乱七八糟没用的权限.具体方法.

    globalgroups.yml就写三行.
    1. groups:
    2.   g:globaldefault:
    3.     permissions: []
    复制代码
    那个[]表示空值.g:globaldefault,的g:开头表示这个是全局权限组,供其他世界本身权限配置文件中的权限组来继承权限的.必须这么写,不能写成不带g:开头的普通权限组.会报错.因为这是globalgroups,全局配置文件.这个是ess gm的一个死规矩.

    plugins\GroupManager\worlds\world\下,groups.yml就写简单的几行
    1. groups:
    2.   default:
    3.     default: true
    4.     permissions: []
    5.     inheritance:
    6.     - g:globaldefault
    7.     info:
    8.       prefix: ''
    9.       build: false
    10.       suffix: ''
    复制代码
    1. 注意那个default:true那个是这个文件下,所有的组,只有那一个可以default:true其他都是不写这行,或者有,但是写false,这个表示什么组都没有的玩家,上来就用那个组的权限.但是那个组一般要分特别特别低劣的权限,甚至禁用掉普通生存玩家的建造权限...一般给新来服务器的,或者罪犯等用的权限组.正常玩家不用default组.
    复制代码
    完了,还是world下,users.yml,就写
    1. users:
    2.   playernotexist:
    3.     group: default
    4.     subgroups: []
    5.     permissions: []
    复制代码
    这样就很简单了.
    不能写的太过简单,否则,essentials group manager开始启动的时候会检查这些文件的语法.会报错.至少要写一条垃圾条目.
    用户这个条目,实际上是要求,这个用户至少登录过一次服务器的.
    否则,当配置发生变化的时候,添加了正常的用户,那个playernoexist条目会被删除.

    另外,这个这么配是有原因的.
    因为config.yml中,的settings:下已经有
    1.   mirrors:
    2.         world:
    3.           world_nether:
    4.           - users
    5.           - groups
    6.           world_the_end:
    7.           - users
    8.           - groups
    复制代码
    表示,地狱和末地的权限都镜像主世界overworld的,所以,改了主世界的权限,地狱和末地的权限列表也会跟着变动,不用改了.
    如果有地狱和末地的权限permissions node的文件夹,可以直接删除.就留主世界的.
    完了这样,就可以开始重启服务器,开始配permissions node了.

    -待续.


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
  • TA的每日心情
    开心
    2013-7-20 00:17
  • 签到天数: 2 天

    [LV.1]初来乍到

    板凳
     楼主| 发表于 2013-5-25 00:35:13 | 只看该作者
    本帖最后由 alecthree 于 2013-5-25 00:38 编辑

    比如我现在有几个插件,商店,
    http://dev.bukkit.org/server-mods/battleshops/
    经济插件.
    http://dev.bukkit.org/server-mods/boseconomy/
    vault api
    http://dev.bukkit.org/server-mods/vault/

    基本上vault没什么好配的.
    battleshops这个,怎么弄.默认普通玩家无法建商店.
    其实这个插件就2条权限.在他原网站上有.
    shop.create
    shop.admin

    那么,先给玩家,比如player1,配商店权限.

    一般配permissions node权限管理就需要4步.建权限组,给权限组配权限,给权限组加人,证验.
    ess gm的建组命令,比如在服务器控制台,或者有权限的op也可以,但是如果在客户端登录服务器配,命令开头要加/

    mangadd player
    这个是建立一个名字为player的组
    mangaddp player shop.create
    这个是把商店建造的权限加到player组.
    manuadd player1 player
    这个是把player1加到player权限组中.因为player组有商店权限,player1是player组组员,那么他也有商店权限.

    证验.除了进入游戏测试.
    manwhois player1
    可以看player1的当前组.
    manudel player1
    把player1从他当前的组中移除.之后可以继续manuadd重新加组.比如配错了,或者换组,都可以用这个.

    具体essentials group manager命令全表,在http://wiki.ess3.net/wiki/Group_Manager/Commands

    然后可以配op们的权限.
    比如建一个op的组serveradm,完了把2条商店权限都配上.那就
    mangadd serveradm
    mangaddp serveradm shop.create
    mangaddp serveradm shop.admin
    manuadd oper1 serveradm
    那么,oper1是一个op管理员.

    不难吧.serveradm就是服务器的op权限组.这样op有商店插件的管理权限了.

    -待续
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
  • TA的每日心情
    开心
    2013-7-20 00:17
  • 签到天数: 2 天

    [LV.1]初来乍到

    地板
     楼主| 发表于 2013-5-25 00:55:30 | 只看该作者
    本帖最后由 alecthree 于 2013-5-25 01:19 编辑

    然后经济插件.boseconomy.
    这个插件的settings.txt中可以设置
    use-permissions-plugin true
    默认op也没有权限刷钱.

    所以要配permissions node来获得管理权限.不过这个插件权限列表很长.原文在
    http://dev.bukkit.org/server-mods/boseconomy/pages/permission-nodes/

    所以这个.大概60多条,不可能我去一条条命令敲去.原插件的permissions node表也没提供通配符权限,比如aaaa.bbbb.*这种,配一条所有权限全都加,
    或者什么什么.all之类的,配一个权限就全部权限都有的那种.
    那怎么办呢?

    这个就要用到bukkit服务器本身的permissions.yml.相关知识可以自行搜索http://wiki.bukkit.org网站,可以搜permission.
    简单来说就是自己整合一条通配符或者,总和的权限.

    修改permissions.yml,在bukkit服主程序的目录.
    1. bose.full:
    2.     description: complete BOSE perms node for admin
    3.     children:
    4.         BOSEconomy.accountgroup.players: true
    5.         BOSEconomy.accountgroup.banks: true
    6.         BOSEconomy.accountgroup.brackets: true
    7.         BOSEconomy.accountgroup.general.online: true
    8.         BOSEconomy.accountgroup.general.offline: true
    9.         BOSEconomy.accountgroup.general.players: true
    10.         BOSEconomy.accountgroup.general.banks: true
    11. .......一共60多条.......
    12.         BOSEconomy.admin.bank.removemember: true
    13.         BOSEconomy.admin.payday.reset: true
    14. bose.common:
    15.     description: bose perms for normal players
    16.     children:
    17.         BOSEconomy.common.wallet: true
    18.         BOSEconomy.common.income: true
    19.         BOSEconomy.common.mastry: true
    20. ....也是好多条.都是boseconomy.common.xxxx开头的
    21.         BOSEconomy.common.bank.listmembers: true
    22.         BOSEconomy.common.help: true
    复制代码
    注意退格不要错.标点符号也不要错!
    完了其中bose.common:是给普通玩家的权限,bose.full:是给admin的,写法都可以自己写简单短小,方便输入的,每条权限最后的: true不能少.因为这是bukkit的权限定义文件.然后让插件来借用而已.
    description: 是可以自己写注释.没有也没事.children:必须有.

    然后实际配权限就很简单了.因为我已经自己做了2条总和权限节点.包括那么多permissions nodes.
    那么ess gm直接,
    mangaddp serveradm bose.full
    mangaddp player bose.common
    二条命令搞定.至于编辑那个列表,从插件原网站复制下来,编辑一下,比一条条敲要快好多.

    配好了之后,可别忘了保存!
    很多插件都要求先保存,再reload配置,否则您就欲哭无泪去吧!
    mansave保存.manload是ess gm的配置重新载入.

    boseconomy插件,也有这种命令, econ save保存和econ reload...重载配置
    勤保存一下没坏处.

    完了到游戏中证验一下吧.
    op账号应该就可以用/econ add 玩家名字 金钱数
    这种命令,给玩家刷钱了.

    具体boseconomy命令全表可以看http://dev.bukkit.org/server-mods/boseconomy/pages/commands/

    这个经济插件和iconomy都差不多1.4.x时代的牛X物,好久不更新了.不过很有名.

    -待续.
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
  • TA的每日心情
    开心
    2013-7-20 00:17
  • 签到天数: 2 天

    [LV.1]初来乍到

    5#
     楼主| 发表于 2013-5-25 01:10:27 | 只看该作者

    中间休息

    本帖最后由 alecthree 于 2013-5-25 06:38 编辑

    留个坑.我先睡觉了.今天讲了essentials group manager,

    明天,如果没有意外,我讲
    craftconomy, quickshop, zpermissions, vault,这套组合.

    2套组合下来,应该就都会配permissions node了.

    另外我贫一句,那个battleshops那个插件.默认牌子商店和箱子相连用的红石棒,用红石棒子左键锤一下自己的箱子,会将所有U状态的商店牌子和箱子中货品进行链接,再锤一次断开链接,可以多个牌子商店连一个箱子.
    不过红石在某些服务器是禁用的.可以改为262号物品(弓箭的箭),或者别的东西.另外,牌子商店那个左键是卖东西,右键是买东西,最好手里空着,去点牌子,否则容易出问题.

    另外这个是基础教程,不讲:
    高级的什么权限优先级,
    权限继承,
    否定/负面权限写法,
    权限override强制覆盖,
    权限模块化编写,
    前后缀与美名插件/聊天格式插件联动,
    如何阅读英文文档,
    如何理解原文技术文档到底哪个permissions node是玩家用的,哪个是管理员用的,
    等等.

    -待续
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
  • TA的每日心情
    开心
    2013-7-20 00:17
  • 签到天数: 2 天

    [LV.1]初来乍到

    6#
     楼主| 发表于 2013-5-25 12:19:15 | 只看该作者
    然后现在换一套组合.
    bukkit 1.5.2 r0.1 beta
    网址dl.bukkit.org
    加craftconomy 3.1.3
    网址http://dev.bukkit.org/server-mods/craftconomy/
    加quickshop 4.4
    网址http://dev.bukkit.org/server-mods/quickshop/
    加vault 1.2.25
    http://dev.bukkit.org/server-mods/vault/
    加zpermissions 0.9.19.
    http://dev.bukkit.org/server-mods/zpermissions/
    这个组合.

    插件jar文件都扔到服务器plugins文件夹.起服,会自动生成配置文件.

    完了看怎么配这个quickshop商店的permissions node.

    经济插件我没用imonies,因为自己感觉有不方便的地方.这个见仁见智,你喜欢也可以试试.

    craftconomy上来是setup模式,转正常模式要配.用op账号进服
    按照英文提示,把这一套命令,逐条按照提示敲一遍.
    /ccsetup
    /ccsetup database sqlite
    /ccsetup currency cc2 no
    /ccsetup currency name Yuan
    /ccsetup currency name Kuai
    /ccsetup currency minor Jiao
    /ccsetup currency minorplural Mao
    /ccsetup currency sign $
    /ccsetup basic
    /ccsetup basic 100
    /ccsetup basic 1
    /ccsetup basic long
    /ccsetup convert no

    这样就行了.op账号就可以/money命令,看自己当前多少钱了.
    但是普通玩家没权限,用不了这个命令.

    而且craftconomy,默认配置文件有一条  CheckNewVersion: true
    这个要改成false,否则老是起服时候检查新版本,浪费几秒.启动时间.如果有多个插件都开着查新版本的特性,这个整个bukkit启动过程慢好几十秒,很烦人.因为服务器测试时期重启频繁.老等着...

    vault没什么好配的.
    quickshop默认会挂上vault.
    op上来就有在生存模式下建商店的权限,但是玩家没有权限建箱子商店.

    zpermissions的配置文件config.yml中,
    database-support: true
    这个权限permissions node权限管理插件默认就是给挂数据库的大服用的.默认就上数据库.如果你喜欢flat-file模式,把玩家权限节点数据存为data.yml,可以把那条设置改为false.
    并且配置文件中,默认权限组名是default,但是该组需要手动创建.
    完了,在服务器控制台,

    permissions group default create
    命令创建default权限组.

    zpermissions命令全表在
    http://dev.bukkit.org/server-mods/zpermissions/pages/commands/

    完了.stop命令,停止服务器.
    zpermissions的data.yml才会生成.

    完了.这样基本上就可以开始配permissions node了.把经济插件和商店插件的权限分给玩家.

    -待续

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
  • TA的每日心情
    开心
    2013-7-20 00:17
  • 签到天数: 2 天

    [LV.1]初来乍到

    7#
     楼主| 发表于 2013-5-25 13:51:46 | 只看该作者
    完了继续.比如我现在有2个玩家,一个player1是,普通玩家.一个oper1.是admin管理员.

    那么还是4步走.
    第一.创建权限组.
    第二.加权限组的权限.
    第三.把玩家分配到权限组.
    第四.证验.

    zpermissions创建权限组.
    命令.如果是op用客户端进服务器,注意命令开头加/,我这就直接控制台敲命令了.
    permissions group serveradm create
    permissions group player create
    这2个是创建serveradm,管理员权限组.player是玩家权限组.
    具体这些权限组的名字,你可以按照自己服务器的需求写自己喜欢的样子.

    完了.权限组加权限.

    vault没什么.quickshop,这个插件权限比较多.那么还是.到permissions.yml写权限组的总集权限.

    在那个yml中新起一行
    1. quickshop.all:
    2.         description: complete quickshop perms node for admin
    3.         children:
    4.                quickshop.use: true
    5.                quickshop.create.sell: true
    6.                quickshop.create.buy: true
    7.                quickshop.create.double: true
    8.                quickshop.create.changeprice: true     
    9.                quickshop.find: true
    10.                quickshop.unlimited: true
    11.                quickshop.setowner: true
    12.                quickshop.other.destroy: true
    13.                quickshop.other.open: true
    14.                quickshop.other.price: true
    15.                quickshop.refill: true
    16.                quickshop.empty: true
    17.                quickshop.clean: true
    复制代码
    注意每行结尾都要有: true的字样.原插件发布页,有权限列表
    http://dev.bukkit.org/server-mods/quickshop/
    他的permissions node列表可是不会在末尾给你写: true的,自己写一下,在其他文本上编辑好,粘贴过来.
    完了.命令
    permissions group serveradm set quickshop.all
    就行了.表示给serveradm权限组加admin管理员的quickshop全部命令/使用权限.

    然后普通玩家,不用像admin那样那么多权限.
    permissions group player set quickshop.use
    permissions group player set quickshop.create.sell
    permissions group player set quickshop.create.buy
    permissions group player set quickshop.create.double
    permissions group player set quickshop.create.changeprice
    permissions group player set quickshop.find
    敲这6条就行了.表示把权限加到player组之下.

    完了配craftconomy.这个权限permissions node比较多.30多条.

    也是写到permissions.yml先,总集出简单的权限.
    先说玩家的.
    1. craftconomy.player:
    2.         description: craftconomy perms node for normal players
    3.         children:
    4.                 craftconomy.currency.info: true
    5.                 craftconomy.bank.balance: true
    6.                 craftconomy.bank.deposit: true
    7.                 craftconomy.bank.perm: true
    8.                 craftconomy.bank.withdraw: true
    9.                 craftconomy.bank.list: true
    10.                 craftconomy.bank.create: true
    11.                 craftconomy.money.balance: true
    12.                 craftconomy.money.balance.others: true
    13.                 craftconomy.money.pay: true
    14.                 craftconomy.money.top: true
    15.                 craftconomy.money.log: true
    16.                 craftconomy.money.log.others: true
    复制代码
    这样,写入到permissions.yml
    完了在配权限组权限时候,直接引用自己刚在permissions.yml中定义的总集权限节点.
    命令
    permissions group player set craftconomy.player
    就完了.表示craftconomy的玩家权限加到玩家组player.

    但是呢.admin的permissions node还没有加到admin权限组.
    也是到permissions.yml去加
    1. craftconomy.all:
    2.         description: craftconomy full perms node for admin
    3.         children:
    4.                 craftconomy.money.give: true
    5.                 craftconomy.money.set: true
    6.                 craftconomy.money.take: true
    7.         ......一共30多条....
    8.                 craftconomy.money.log: true
    9.                 craftconomy.money.log.others: true
    复制代码
    命令.
    permissions group serveradm set craftconomy.all
    就ok了.
    表示把serveradm组,管理员组的craftconomy插件权限节点,都加进去.
    那个编辑permissions.yml中的条目的时候,可以用excel,或者wps表格都行,从原网站抓下来,然后编辑,这样省事点.再粘贴到permissions.yml中

    另外,这种自定义的权限节点的写法,写成通配符wildcard也是可以的,比如craftconomy.*:
    地下再一行行这样,
    玩了命令配的时候就写permissions group XXXX set craftconomy.*
    也是可以的.但是为什么我没用呢?*比all和full这种敲起来更容易啊.
    就是,这个自定义权限节点不能和已有的插件权限节点冲突或者重名.
    有些插件,他可能默认有这种 "插件名字.*"的权限节点,但是作者没公开发布到自己的插件发布页的permissoins node列表上.
    所以,如果遇到这种情况,冲突时候会在服务器启动时候,提示说,这个权限节点已经定义过了.
    有时,可能会遇到这问题.

    craftconomy的命令全表和permissions node表在插件作者的维基百科
    http://wiki.greatmancode.com/display/CRAFTCONO/Craftconomy+Home

    -待续

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
  • TA的每日心情
    开心
    2013-7-20 00:17
  • 签到天数: 2 天

    [LV.1]初来乍到

    8#
     楼主| 发表于 2013-5-25 06:23:35 | 只看该作者
    本帖最后由 alecthree 于 2013-5-25 06:27 编辑

    完了.刚才把组建了.权限节点加入到对应的权限组了.
    第三步.
    把玩家加入到对应权限组.让他们继承权限组的权限.

    zpermissions的方法,也是命令.

    permissions player player1 setgroup player
    permissions player oper1 setgroup serveradm

    这2个命令表示把player1加入到权限组player中.
    把玩家oper1加入到权限组serveradm中.
    这样他们应该就有权限了.

    因为之前quickshop和craftconomy的权限都加到player组和serveradm组了.
    所以.

    普通玩家player1,应该可以在服务器内创建quickshop商店了.之前没配权限节点时候他是不能的.而且,他也可以/qs buy把自己面前的商店切换为收购商店.但是不可以/qs unlimited制作admin无限商品商店.
    然后player1还可以用/money 查看自己有多少钱.
    默认没有permissions node时候,是不能用这个命令的.

    而oper1作为管理员,现在可以在普通quickshop商店前头,输入/qs unlimited把商店变为无限商品商店.
    也可以/money give 玩家名字 金钱数额
    为其他玩家刷钱/凭空增加钱币了.

    这就ok了.

    这样.商店和经济插件的permissions node权限节点就都配好了.

    其他插件也类似是这样的逻辑,都不难.费点功夫而已.
    弄完可以看看zpermissions的data.yml内部是怎么写的.如果服务器停服的时候,那个是可以手动编辑的.不过要有把握,语法别弄错了.

    zpermissions全命令列表在
    http://dev.bukkit.org/server-mods/zpermissions/pages/commands/

    -全文完-
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
  • TA的每日心情
    慵懒
    2015-8-30 12:26
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    9#
    发表于 2013-5-31 20:30:47 | 只看该作者
    啊,俯视啊
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

    该用户从未签到

    10#
    发表于 2013-6-2 11:22:27 | 只看该作者
    。。。。。;。。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    您需要登录后才可以回帖 登录 | 加入最MC

    本版积分规则