PermissionsExを使ったパーミッションの設定方法【Bukkit】

サーバーを運営していく中で必要不可欠なPluginがPermissionsExです。

通常では権限なしかOPかの二つですが、このPluginを導入することによって権限をプレイヤー・グループごとに分けて制御することができます。

ダウンロード

権限の付与と剥奪

まず初期のpermissions.ymlの設定を理解しましょう。

groups: <-グループセクション
  default: <-グループ名
    options: <-グループのオプション
      default: true <-初期グループ
    permissions: <-グループの権限
    - modifyworld.* <-許可した権限
schema-version: 1

groups:グループの設定をするセクションです。以下のようにグループを追加することができます。

groups:
  default:
    options:
      default: true
    permissions:
    - modifyworld.*
  Moderator:
    options:
      default: false
    permissions:
    - modifyworld.*
  Admin:
    options:
      default: false
    permissions:
    - '*'
schema-version: 1

これでdefaultModeratorAdminグループが追加されました。

default: true
初期で入るグループを設定します。何も設定していないプレイヤーはdefault: trueになっているグループに所属されます。

このオプションは全てのグループの中で一つしかtrueにしてはいけません。複数あると何処に属すればいいのか分からなくなりエラーが出ます。

groups:
  default:
    options:
      default: true
    permissions:
    - -bukkit.command.kill
    - modifyworld.*
    - minecraft.command.gamemode
schema-version: 1

permissions:グループの権限を設定します。権限は剥奪と付与の二つがあります。

権限を付与するには– minecraft.command.gamemodeとハイフンの次の与えたい権限ノードを記入します。

逆に権限を剥奪する時は– -bukkit.command.killこのようにハイフンを二つ付けます。

プレイヤーをグループに追加

現在の時点だとサーバーにいる全ての人がdefaultグループに入ってしまいます。なので、ユーザー毎にグループに追加する設定をしなければなりません。

groups:
  default:
    options:
      default: true
    permissions:
    - modifyworld.*
  Moderator:
    options:
      default: false
    permissions:
    - modifyworld.*
  Admin:
    options:
      default: false
    permissions:
    - '*'
users:
  UUID-UUID-UUID-UUID-UUID:
    group:
    - Moderator
    options:
      name: Steve
  UUID-UUID-UUID-UUID-UUID:
    group:
    - Admin
    options:
      name: Alex

このようにするのことでSteveはModeratorグループ、AlexはAdminグループに追加する事ができます。

pex user
サーバのコンソールでこのコマンドを実行してみましょう。ユーザが入っているグループが確認することができます。

Point

Adminとadminは全く別のグループと判断されてしまうので、大文字小文字の区別に注意してください。

最後に実際に設定してみよう

では実際に設定をしてみましょう。ここまで理解できた人には解るはずです。

  • defaultグループを標準グループに、killコマンドの権限を剥奪
  • ModeraterグループはBAN,Kickの権限を付与
  • Adminグループは全ての権限
  • SteveをModeraterグループに追加
  • AlexをAdminグループに追加

と設定したいと思います。

 
答え↓

groups:
  default:
    options:
      default: true
    permissions:
    - -bukkit.command.kill
    - modifyworld.*
  Moderator:
    options:
      default: false
    permissions:
    - modifyworld.*
    - minecraft.command.ban
    - minecraft.command.kick
  Admin:
    options:
      default: false
    permissions:
    - '*'
users:
  UUID-UUID-UUID-UUID-UUID:
    group:
    - Admin
    options:
      name: Alex
  UUID-UUID-UUID-UUID-UUID:
    group:
    - Moderator
    options:
      name: Steve

最後に

権限の設定ができていないと荒らしの対象になったりする可能性があるので注意して設定するようにしましょう。

それと設定が終わったら再起動かpex reloadを実行して再読み込みして必ずログを見てエラーが出ていないか確認しましょう。Tabが入っていてエラーになっていることが良くあります。

Plugin ver: PermissionsEx-1.23.4
Server ver: Spigot 1.9.4-R0.1-SNAPSHOT

13 件のコメント

  • BANしてから、牢屋に閉じ込めておくときに、
    全ての権限を剥奪するには、
    どのように書けばよいのでしょうか?

    • このPluginだけで自動的に剥奪する事はできませんが、modifyworld.*の権限を剥奪すれば何もできなくなったと思いますよ。

        • どういう意味でしょうか?
          もう少し具体的に詳しく書いて貰わないと答える側としては回答しにくいです。

          • それの何についての質問なのか分からないと言っているのです。

            「Pluginの何処がどのように分からない」「Pluginの○○を○○ようにしてみたけどこのようなエラーがでて分からない」「○○みたいな事してみたくて○○をしてみたけど○○が○○でできない」
            などのように主語を入れて質問してくださいね。

  • あなたのサイトで1.8.7のBukkitを使ってサーバーを立てているのですが、1.8.7のPermissionsExはありませんか?調べてみたのですが、まだ探していない場所もあると思うので、もしあれば教えて欲しいです。(英語も読めないし)

    • PermissionsExの公式配布ページで配布されていないのならまだ出ていません。
      最新のバージョンを入れて動作テストして正常に動かないのであれば諦めてください。

      それと英語が読めなくても翻訳にかけて少しは予想して設定するぐらいじゃないと今後質問ばかりになると思うので覚えておいたほうがいいでしょう。

    • Pluginを入れてから起動させましたか。起動させたとしてバージョン等の違いで無効になっていませんか。
      情報が少なすぎるので最低限の情報を書いてくださいね。

  • えー、最近サーバーを立てました、色々うまく行っているのですが…
    やっぱパーミッションで引っかかりました。
    全ての権限を取って、指定したコマンドだけに権限を与えることは可能ですか?
    やってみると:
    – -modifyworld.*
    – minecraft.command.kill

    これでkillだけの権限が着いたんですか?
    ご回答お願い致しますm(_ _)m

    • 半年以上触っていないので非公式フォーラムで聞いてください ;-(

      せっかくなので少し助言すると、全ての権限を剥奪という事はレバーやドアの使用・チャット・ブロックの設置破壊などができなくなります。なので使われたくない権限だけ剥奪する方が『○○ができない』と後から判明することが少なくなる事があるので参考にしてください。

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です