• About
  • Distribute
  • Contact

ふわサク!

知りたいことがこの場所に

Menu
  • About
  • Distribute
  • Contact
 › Minecraft › PermissionsExを細かく設定してみる

PermissionsExを細かく設定してみる

Sakuani 2012年8月7日     7 Comments    

前回の記事では、PermissionsExの基本の設定をしました。
今回は、ワールドごとの設定も含め、さらに設定をしていきたいと思います。

今回覚える内容

今回解説する内容は、以下の2つです。

継承

継承という機能を使用することにより、設定の記述量を減らすことができます。
また、設定の管理がしやすくなるというメリットもあります。

簡単に解説します。
たとえばBグループの権限は、Aグループの権限設定 + 新規権限という風にする場合。
継承機能を使用せずに設定を行うと、Bグループの権限設定の箇所にAグループの権限設定を含め長々と書く羽目になってしまいます。
しかし、継承機能を使用するとAグループの権限設定を書く手間がなくなり書くべき内容は、Bグループで新規に追加する権限のみになるで、設定ファイルの内容が見やすくなり書く手間を省くことができるようになります。

ワールドごとの設定

見てわかるとおり、ワールドごとに使用できるコマンドを設定することができます。
また、ワールドごとの設定でも継承機能を使用することができます。

継承についての注意点

継承機能を使う際に注意する点が1つあります。
それは、継承元のグループを上のほうに書くということです。

たとえば、AグループとBグループがあったとします。
AグループがBグループの権限設定を継承する場合、Aグループの設定はBグループの下に書く必要があります。
以下に記述例を示します。

継承される側 : Bグループ
継承する側 : Aグループ

groups:
  BGroup:                     # 継承元のBを先(上)に書く
    default: true
    permissions:
    - bukkit.command.kill
  AGroup                      # 継承するAを後(下)に書く
    default: false
    permissions:
    - bukkit.command.seed
users:
  minecraftID01:
    group:
    - AGroup
  minecraftID02:
    group:
    - BGroup

このように設定を継承するグループを下に、元となるグループを上に書くことを注意してください。

設定

それでは設定していきましょう。
上記の継承についての注意点で使用した設定をもとに説明します。
色のついた行を見てください。

groups:
  BGroup:
    default: true
    permissions:
    - bukkit.command.kill
  AGroup:
    default: false
    inheritance:
    - BGroup
    permissions:
    - bukkit.command.seed
users:
  minecraftID01:
    group:
    - AGroup
  minecraftID02:
    group:
    - BGroup

上記の色のついた行で、Bグループの権限設定を継承するという設定しています。
今回の場合、AGroupはBGroupを継承しているので、各グループに所属しているプレイヤーが使用できるコマンドは以下の表の通りになります。

グループ名 使えるコマンド
AGroup
  • killコマンド
  • seedコマンド
BGroup
  • killコマンド

ワールドごとの設定

ワールドごとの設定を行うことにより、PvPワールドではこういう権限を・・・建築ワールドではこういう権限を使用できる・・・といったことができるようになります。

ワールドごとの設定の前に…

ワールドごとの設定をする前に一つ覚えておくべきことがあります。
まず、前回の記事の最初に説明したグループ定義の記述構造を思い出してみましょう。

1. グループ定義
2. 自動でそのグループに振り分けるか
3. 権限設定(使用できるコマンド設定)
4. ワールドごとの設定

今回解説するワールドごとの設定は、4番目になります。
ここでワールドごとの権限設定を行う場合、最終的に使用できるコマンドが少し変わってきます。

たとえば、3番目の権限設定でkillコマンドを使用できるようにし、4番目のワールドごとの設定でSigenワールドの権限設定でseedコマンドを使用できるようにしたとします。
その場合、Sigenワールドでは3番目の権限設定と4番目のワールド指定の権限設定で設定したkillコマンドとseedコマンドが使用できるということになります。

と、言葉で説明しましたがわかりにくいと思うので次の設定例を見ながら解説していきます。

設定

色がついている行を新規に追加してください。

groups:
  AGroup:
    default: false
    permissions:
    - bukkit.command.seed
    worlds:                      # ワールドごとの設定をする宣言
      world_nether:              # world_netherというワールドの設定
        permissions:
        - bukkit.command.kick    # kickコマンドの使用を許可
users:
  minecraftID01:
    group:
    - AGroup
  minecraftID02:
    group:
    - BGroup

上記の色がついた行のように記述して、ワールドごとの設定を行います。

今回の設定の場合、AGroupで使用できるコマンドは以下の表の通りになります。

ワールド 使えるコマンド
全ワールド
  • seedコマンド
world_nether
  • seedコマンド
  • kickコマンド

4番目の設定(6~9行目)のワールドごとの設定で、今回はworld_netherというワールドの権限を設定しています。
この場合、world_netherでは3番目(4~5行目)の権限設定と4番目(6~9行目)の権限設定が適用されるため、上記の表のような結果になっています。

ワールドごとの設定と継承

では、最後にワールドごとの設定と継承について解説します。

Permissionのファイルで継承設定をできる位置は、以下の2か所です。

groups:
  BGroup:
    default: true
    permissions:
    - bukkit.command.kill
    worlds:
      world_nether:
        permissions:
        - bukkit.command.ban.player
  AGroup:
    default: false
    inheritance:                        # ①
    - BGroup
    permissions:
    - bukkit.command.seed
    worlds:
      world_nether:
        inheritance:                    # ②
        - BGroup
        permissions:
        - bukkit.command.kick
users:
  minecraftID01:
    group:
    - AGroup
  minecraftID02:
    group:
    - BGroup

1つ目は、ワールドごとの設定の外。
2つ目は、ワールドごとの設定の中。
それぞれの位置によって継承設定が及ぶ範囲が異なるので、それについて解説します。

①の部分で設定した場合は、後述するワールドごとの設定で設定するワールドも含めすべてのワールドで設定権限が有効になります。
しかし②の部分で設定した場合は、そのワールドのみに継承設定が適用されるため、ほかのワールドでは権限が継承されません。

以下の表にまとめましたので、上の設定と照らし合わせてみましょう。
なお、AGroupの権限内容表です。

①の部分で継承設定をした場合

ワールド 使えるコマンド
全体
  • seedコマンド [Aの全体]
  • killコマンド [Bの全体より継承]
world_nether
  • seedコマンド [Aの全体]
  • kickコマンド [Aのワールドごとの設定]
  • killコマンド [Bの全体より継承]
  • banコマンド [Bのワールドごとの設定より継承]

②の部分で継承設定をした場合

ワールド 使えるコマンド
全体
  • seedコマンド [Aの全体]
world_nether
  • seedコマンド [Aの全体]
  • kickコマンド [Aのワールドごとの設定]
  • killコマンド [Bの全体より継承]
  • banコマンド [Bのワールドごとの設定より継承]

このように、①の場合は存在しているワールドすべてに継承した権限設定が適用。
②の場合は指定したワールドのみで継承した権限設定が適用されます。

最後に

これにてPermissionsExの解説は終了です。
少し難しいと感じたかもしれませんが、設定しながら動作テストすると頭に入りやすいかもしれません。
このプラグインにはRankという機能もありますが、これについては今回解説は行いません。
しっかり設定して、よりよいサーバ管理をしましょう。

シェア
Minecraft
bukkitMinecraftPermissionsEx

 Previous Post

WorldGuardのblacklistを設定しよう

― 2012年7月1日

Next Post 

ScriptBlockを使ってみる

― 2012年8月21日

Author: Sakuani

Related Articles

アイキャッチ画像
【Minecraft】Shopkeepersを解説
アイキャッチ画像
Bukkitサーバ オススメプラグイン
アイキャッチ画像
ScriptBlockを使ってみる
WorldGuardのblacklistを設定しよう
WorldGuardのconfigを設定しよう

7 Comments

  1. Acekard 2i
    ― 2013年3月29日 - 04:53  返信

    Nice

    1. Sakuani
      ― 2013年3月29日 - 13:05  返信

      Thank you.

  2. 匿名
    ― 2014年9月27日 - 14:48  返信

    すみません・・・ multiverse-Portalsのパーミッション設定で、OP権限がない人でもゲートをくぐれるようにしたいのですが、
    まだ、Permissionは勉強中で、書き方がわかりません。すみませんが、permissyons.ymlが真っ白な状態に、そのままコピーしたいので、1から、multiverse-Portalsのゲートをくぐれるようにするパーミッションを書いていただけないでしょうか?

    1. Sakuani
      ― 2014年9月28日 - 10:47  返信

      こんにちは。Permissionの設定は最初は難しいとは思いますが、構造はとても単純なので頑張ってください!

      さて、OP権限なしでゲートをくぐれるようにする権限を探したところ

      - multiverse.portal.access.*
      - multiverse.access.*
      

      上記の二つをPermissionに設定すればよいとのことです。

      groups:
        Admin:
          default: false
          permissions:
          - '*'
        Member:
          default: true
          permissions:
          - multiverse.portal.access.*
          - multiverse.access.*
      users:
        MinecraftID:
          group:
          - Admin
      

      上記の設定で問題なく動作すると思います。

      1. kouki
        ― 2014年9月29日 - 15:20

        ありがとうございます^^
        なんとか大体、ぱーみっよんの書き方はマスターしました!!
        本当にありがとうございました!!

  3. kouki
    ― 2014年9月29日 - 15:24  返信

    ホントに助かりました。wikiで一生懸命勉強しましたw

Leave a Reply Cancel reply

email confirm*

post date*

※スパム対策のため、日本語が含まれない投稿は無視されますのでご注意ください。

検索

Follow

スポンサーリンク

最新の記事

1
【Java】独自クラスのリストを比較して、値が一致してないものを取り出す

― 2018年5月11日 | No Comment

2
CentOS7で32bit版Wineをつかう!

― 2017年7月8日 | 4 Comments

3
スパム対策!WordPressにreCaptchaを導入しよう!

― 2016年5月19日 | 1 Comment

4
【CakePHP3】ファイル・クラスの命名について

― 2016年3月22日 | No Comment

5
【NLE】ニコ生で高画質配信をしよう!

― 2015年3月19日 | No Comment

最新のコメント

  • CentOS7で32bit版Wineをつかう! に Sakuani より
  • CentOS7で32bit版Wineをつかう! に 匿名 より
  • CentOS7で32bit版Wineをつかう! に Sakuani より
  • CentOS7で32bit版Wineをつかう! に hide より
  • スパム対策!WordPressにreCaptchaを導入しよう! に カッラーを崇めよ より

カテゴリー

アーカイブ

スポンサーリンク

ランキング参加中

にほんブログ村 IT技術ブログへ にほんブログ村 ネットブログへ にほんブログ村 ゲームブログへ ブログランキング・にほんブログ村へ
  • RSS
  • Twitter
  • Twitch
  • Youtube
  • Github
© 2012 ふわサク!