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

# PermissionsEx