プラグイン導入!PermissionEXを導入してみよう-01

プラグインを導入しない、マインクラフトのサーバの作り方ばかりが、よくアクセスされていますね。。。
皆さっと楽しめるサーバでいいのかな?プラグインについて、記事書いてないからかなー
その他は、PermissionEXとかでも結構飛んできてもらっているみたいなので、

ただ、プラグインって色々連携してたりして、一気に説明するのって難しいんだよね。
なんで、最低限必要だとyukimomoが感じているプラグインを最初に書いていき、PermissionEXもちゃんとからめながら、
説明していきまーす!そんな第1回目になるのかな。

yukimomo城の風景
yukimomo城の風景

[quads id=1]

導入方法

基本的にプラグインは、Bukkitサーバのフォルダ内に作成されているPluginsに置いていけばいいんです。
Bukkitサーバの立て方がわからない方は、こちらから先に読んでみると簡単に作成できますよー

【Windows】

【VPS/ConoHa】

例にならって、上記の記事で作成したBukkitサーバにPermissionEXを導入していきます。

プラグイン
プラグイン

上の画像のフォルダに置きます。

PermissionEXのダウンロード

上記のURLからプラグインのファイルをダウンロードしてきてください。
ダウンロードしたファイルは、先ほど話をしたPluginフォルダ内に格納します。

permissionEX
permissionEX

これで、OKなのです。

サーバ起動

この状態で、サーバを起動します。

起動
起動

[PermissionsEx] Loading PermissionsEx v1.23.3

この文章が出力されればOK!

Bukkitサーバのディレクトリを確認してみましょう!

プラグイン導入後
プラグイン導入後

こんな感じになっていると思います。

PermissionEX単体では、とくに設定することもないかな。設定もデフォルトでいいかと思います。

PermissionEXフォルダ
PermissionEXフォルダ

Config.yml

基本的に、permissions.ymlは別のプラグインを導入する記事を書くときに一緒に説明しますね。
また、ymlファイルが開けない!って場合は、server.propertiesの記事で説明しているので、そちらをご参考にしてください。

config.ymlは、ちょっと次回の記事を書く前に、日本語で説明します。(10/12までに更新予定。。。ちょっと眠くなっちゃいました;てへ)

Config.ymlも実際はデフォルトで問題ありませんが、設定値の説明を、、、

multiserver:
use-netevents: true
permissions:
debug: false
allowOps: false
user-add-groups-last: false
log-players: false
createUserRecords: false
backend: file
informplayers:
changes: false
basedir: plugins/PermissionsEx
backends:
file:
type: file
file: permissions.yml
updater: true
alwaysUpdate: false

こんな風に書かれていますが、これはみんな一緒ってわけではありません、実際にはいつ部欠けていたり順番が違っていたりするかもしれません。
別に異常なことではありませんよ、設定の変更が必要ない限り足りていないからって追加する必要はありませんー。

Node 説明
permissions.backends 権限のバックエンド(データを保存する先のようなものです。)を何処に設定するかを決定できます。
デフォルトでは、Fileが設定され、「Permissions.yml」がコマンドの実行によりデータのやり取りを行います。ファイルの他に、やり取りを行うDBを設定することができます。次のセクションで例を書きますね。
permissions.backend デフォルトでは、fileが設定されています。
backendsのNodeで定義しているバックエンドによって、設定可能な値が異なります。
permissions.allowOps サーバのディレクトリに存在している、ops.jsonファイルに設定されているユーザに全てのアクセス許可を与えるかどうか。
デフォルトは、false
Trueを設定するとOP権限を持っていたユーザはすべてのアクセス許可が設定されます。
permissions.debug PEX権限のデバッグモードを有効または無効にします。
デフォルトはfalseで、trueを設定するとコマンドによってデバックモードのOn、Offを行えるようになります。
permissions.user-add-groups-last デフォルトは、false。
trueを設定するとGroupWeightが使用されていないかぎり、Groupの後にユーザ情報が記載されていきます。
permissions.basedir プラグインのベースディレクトリを設定します。
ここの値を変更すると、別のディレクトリを見に行くように設定を変更できます。
multiserver.use-netevents NetEventsとの連携が有効になっているかどうかを決定します。
(NetEventsプラグインがインストールされているときのみ効果があります。)
updater アップデータを有効にするかどうかを設定します。デフォルトはtrueで

SQLのバックエンド

SQLのバックエンドの構成には、内部のNodeで設定できます。

Node 説明
URI データベース接続文字列、AKA DSN。DSNは、ドライバ固有であることに注意してください。
たとえば、MySQLはこのようになります。mysql:// <ホスト名> / <データベース>
user データベースのユーザー名。データベースは、ユーザ名を必要としない場合、これは無視することができます。
password 指定したユーザーのデータベースパスワード。データベースにパスワードを必要としない場合、これは無視することができます。

MySQL

ご使用の環境に合わせて、ホスト名、データベース名、データベースのユーザ名とパスワードを設定します。
多くの場合は、Minecraftと同じサーバ上に、データベースが存在しているので、「localhost」が指定されるかと思いますが、
別のサーバーのデータベースを使用される方は、環境に応じて設定してみてください。

PermissionEX起動時に設定したデータベースに自動的にデータベースのテーブルと初期グループ、アクセス許可の設定が作成されます。
何をしているかわからない場合は、初期のテーブルを削除しないでください。

例えばこんな感じに設定できます。

permissions:
    backends:
        sql:
            uri: mysql://localhost/demo
            password: password
            user: demo
            aliases:
                permissions: pex_permissions
                permissions_inheritance: pex_inheritance
                permissions_entity: pex_entity

SQLite

SQLiteの構成はMySQLとほぼ一緒です。
例えばこんな感じに作成できます。

permissions:
    basedir: plugins/PermissionsEx
    backend: sql
    backends:
        sql:
            uri: sqlite:plugins/PermissionsEx/permissions.db
            user: username
            password: password

サーバーの再起動やリロードを行った後に作成される、設定内で設定したpermissions.dbは削除しないでください。
これが、データベースファイルです。

コマンド

ユーティリティコマンド

コマンド Permission 解説
pex permissions.manage ヘルプを表示します。
pex toggle debug permissions.debug デバックの有効、無効を切り替えます。有効にするとServer.logファイルに多くのエントリが書き込まれるため、デバックの為だけに使用することをお勧めします。
pex user <user> toggle debug permissions.manage.<user> 特定のユーザーに対してのみデバックモードを有効にします。ユーザーのアクションやコマンドの実行がLogに出力されます。
pex user <user> check <permission> permissions.manage.<user> 特定のユーザに対して特定の権限をチェックします。
pex reload permissions.manage.reload PermissionEXのリロード
pex config <node> [value] permissions.manage.config Configの設定値をの値を入力して、新しい設定を適用します。
pex backend permissions.manage.backend 現在使用されているバックエンドを表示します。
pex backend <backend> permissions.manage.backend バックエンドを変更します。このコマンドは、テストでしか使用しないでください。
バックエンドが変更されると、設定していたアクセス権がなくなります。
pex hierarchy permissions.manage.users 完全な、ユーザー、グループ階層を表示します。
pex import <backend> permissions.manage.dump 選択された形式からユーザー、グループをインポートします。
pex users cleanup <group> [threshold] permissions.manage.users.cleanup ファイルから死んだユーザーを削除します。
閾値、デフォルトは30日です。

Worldコマンド

コマンド Permission 解説
pex worlds permissions.manage.worlds ワールド毎のパーミッションを表示します。
pex world <world> permissions.manage.worlds ワールドの継承情報を表示します。
pex world <world> inherit <parentWorlds> permissions.manage.worlds.inheritance <world>の親の<parentWorlds>を設定します。
<parentWorlds>には一つ、またはカンマ区切りでリスト指定できます。

ユーザーコマンド

コマンド Permission 解説
pex users list permissions.manage.users 権限ファイルに設定されているすべてのユーザーの一覧を表示します。
pex users permissions.manage.users 権限ファイルに設定されているすべてのユーザーの一覧を表示します。
pex user permissions.manage.users 権限ファイルに設定されているすべてのユーザーの一覧を表示します。

ユーザーの権限管理コマンド

コマンド Permission 解説
pex user permissions.manage.users 登録ユーザーの一覧表示
pex user <user> permissions.manage.users.permissions.<user> 特定のユーザーのアクセス権の一覧を表示
pex user <user> prefix [newprefix] permissions.manage.users.prefix.<user> 特定のユーザーのprefixの表示、または設定
pex user <user> suffix [newsuffix] permissions.manage.users.suffix.<user> 特定のユーザーのsuffixの表示、または設定
pex user <user> delete permissions.manage.users.<user> 権限ファイルからユーザーの削除
pex user <user> list [world] permissions.manage.users.permissions.<user> ユーザーの権限を一覧表示します。
ユーザーに直接割り当てられている権限だけでなくすべてを表示
pex user <user> add <permission> [world] permissions.manage.users.permissions.<user> 特定のユーザーに特定のワールドのみの権限を許可します。
pex user <user> remove <permission> [world] permissions.manage.users.permissions.<user> 特定のユーザーに特定のワールドのみの権限を削除します。
pex user <user> timed add <permission> <lifetime in seconds> [world] permissions.manage.users.permissions.timed.<user> 特定の時間経過したユーザに特定のアクセス権限を許可します。
pex user <user> timed remove <permission> <lifetime in seconds> [world] permissions.manage.users.permissions.timed.<user> 特定の時間経過したユーザに特定のアクセス権限を削除します。
pex user <user> set <option> <value> [world] permissions.manage.users.permissions.<user> 特定のユーザーにオプションを設定します。

グループの管理コマンド

コマンド Permission 解説
pex user <user> group list permissions.manage.membership.<user> 全てのグループを一覧表示します。
pex user <user> group add <group> [world] [lifetime] permissions.manage.membership.<group> グループにユーザーを追加します。
オプションに秒単位で権限が昇格するための情報を設定することもできます。
pex user <user> group set <group> [world] permissions.manage.membership.<group> 特定のユーザーを特定のグループに設定します。
pex user <user> group remove <group> [world] permissions.manage.membership.<group> 特定のユーザーを特定のグループから削除します。

デフォルトグループ管理コマンド

コマンド Permission 解説
pex default group [world] permissions.manage.groups.inheritance 指定されたWorldのためのデフォルトグループを表示します。
pex set default group <group> <value> [world] permissions.manage.groups.inheritance 特定のグループに指定されたWorldのデフォルトグループを指定します。

グループコマンド

コマンド Permission 解説
pex group permissions.manage.groups.list 登録されたすべてのグループを表示
pex groups permissions.manage.groups.list 登録されたすべてのグループを表示
pex groups list permissions.manage.groups.list 登録されたすべてのグループを表示
pex group <group> prefix [newprefix] permissions.manage.groups.prefix.<group> グループのprefixを設定
pex group <group> suffix [newsuffix] permissions.manage.groups.suffix.<group> グループのsuffixを設定
pex group <group> create [parents] permissions.manage.groups.create.<group> グループを作成します。作成するグループの親を指定する場合には[parents]に指定します。
pex group <group> delete permissions.manage.groups.remove.<group> 指定したグループを削除します。
pex group <group> parents list permissions.manage.groups.inheritance.<group> 指定したグループの親を一覧表示
pex group <group> parents set <parents> permissions.manage.groups.inheritance.<group> 指定したグループの親を表示
pex group <group> permissions.manage.groups.permissions.<group> 全てのグループのアクセス許可リスト表示
pex group <group> list [world] permissions.manage.groups.permissions.<group> グループのためのアクセス県をすべて一覧表示します。
pex group <group> add <permission> [world] permissions.manage.groups.permissions.<group> グループに権限を追加します。
pex group <group> remove <permission> [world] permissions.manage.groups.permissions.<group> 指定したグループから指定した権限を削除します。
pex group <group> timed add <permission> [lifetime] [world] permissions.manage.groups.permissions.timed.<group> グループにログイン時間経過後に権限の追加をする設定をします。
pex group <group> timed remove <permission> [world] permissions.manage.groups.permissions.timed.<group> グループにログイン時間経過後に権限を削除する設定をします。
pex group <group> set <option> <value> [world] permissions.manage.groups.permissions.<group> グループにオプションを設定します。
pex group <group> weight [weight] permissions.manage.groups.weight.<group> グループのWeightを設定します。重さによって記述される順番が変更されます。数字が大きい方が重いと思ってください。

グループのユーザ管理コマンド

コマンド Permission 解説
pex group <group> users permissions.manage.membership.<group> 指定したグループのすべてのユーザを表示します。
pex group <group> user add <user> permissions.manage.membership.<group> 指定したグループに指定したユーザを追加します。
pex group <group> user remove <user> permissions.manage.membership.<group> 指定したグループに指定したユーザを削除します。
pex promote <user> <ladder> permissions.user.promote.<ladder> 指定したユーザのラダーを昇格します。
pex demote <user> <ladder> permissions.user.demote.<ladder> 指定したユーザのラダーを降格します。

最後に

今回は、プラグイン導入の第一歩って感じですね。
PermissionEXはとても重要なプラグインで権限を正しく設定することで、
サーバの管理を楽にしていけます。

導入するプラグインに合わせた思い通りの権限を設定できるようになるといいですね。

[quads id=2]

<次回

4件のピンバック

コメントする

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

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