PEX1.14(PermissionsEX)の導入[BukkitCraft]

Permissions 3x系の更新が遅いので、1.8からPermissionsEX(以下PEX)に切り替えました。
対応も早いので、正直なところ純正よりPEXの方が良いんじゃないのかなと思ってます。
Permissionsは開発終了してしまったんでしょうかね?
未だに公式でのサポートしてるBukkitのバージョンは935のままですし。

まだまだ理解出来てませんが、とりあえずまとめてみます。

前提事項
CraftBukkit – Build 1080 基本的な動作/設定は確認/設定済みとします。
PermissionsEX – Ver 1.14
・プラットフォームに関係無く、同手順で導入は可能だと思いますが、日本語などの全角文字を扱う必要がある場合は、各ファイルの文字コードに注意して下さい。



1.PEXの入手と配置

PluginForumよりPEXをダウンロードし、ZIPファイルの中にある4つのファイル
ChatManager.jar / Modifyworld.jar / Permissions.jar / PermissionsEx.jar
をpluginディレクトリ内にコピーします。



2.設定ファイルの作成

BukkitCraftを起動し終了することによって、各プラグインのディレクトリと設定ファイルが自動的に作成されます。
下記3つのディレクトリと、4つのymlファイルが作成されていると思います。
/plugins/ChatManager/config.yml
/plugins/Modifyworld/config.yml
/plugins/PermissionsEx/config.yml
/plugins/PermissionsEx/permissions.yml



3.ChatManagerの設定

ChatManagerはグループやユーザごとにチャットの色や文字の大きさ、書式を変更出来ます。
config.yml内の設定は以下の通りです。
enable                    ChatManagerを有効にするか
ranged-mode                チャットの送信範囲を制限するか
chat-range                チャットの送信範囲をブロック単位で指定
message-format            チャットの書式を設定
global-message-format    グローバルチャット(sayコマンドなど)の書式を設定
※formatはPEX上でユーザ/グループごとに詳細な指定が出来るので基本的な形だけ作ると良いでしょう。

ChatManagerで追加されるパーミッションの設定
chatmanager.chat.global        チャットの送信範囲に関係無く全体に発言する
chatmanager.chat.color        チャット発言時、入力されたカラーコードを適用する



4.Modifyworldの設定

Modifyworldはワールドの保護機能を提供します。ユーザやグループごとに、
チャットやベッドで寝るなどの基本的な行動の他に使用できるアイテムを制限したり
ブロックの破壊を制限したりすることが出来ます。
config.yml内の設定は以下の通りです。
enable                Modifyworldを有効にするか
informPlayers        警告をプレイヤーに出力するかどうか
whitelist            ホワイトリストを使用するか
itemRestrictions    アイテムの使用を制限するか
messages
prohibitedItem        禁止されているアイテムを使用しようとした場合に使用される
whitelistMessage    サーバに接続が許可されていない場合に使用される
permissionDenied    権限が与えられていない行動を行った場合に使用される

Modifyworldで追加されるパーミッションの設定
modifyworld.login                        サーバへの接続を禁止する(whitelistの設定が必要です)
modifyworld.chat                         オープンチャットを許可する
modifyworld.chat.private                 ささやきを許可する
modifyworld.usebeds                     ベッドの使用を許可する
modifyworld.bucket.empty.<fluid>         指定したアイテムが入っているバケツの使用を許可する(水/溶岩/牛乳の<itemid>のみ指定できます)
modifyworld.bucket.fill.<fluid>         指定したアイテムでバケツの中身を埋めることを許可する(同上)

modifyworld.blocks.destroy.<blockid>     指定したブロックを破壊することを許可する
modifyworld.blocks.place.<blockid>         指定したブロックを置くことを許可する
modifyworld.blocks.interact.<blockid>     指定したイベントアイテム(レバーやボタン)の使用を許可する(modifyworld.blocks.place.<blockid>でイベントアイテム設置の許可が必要です)

modifyworld.items.pickup.<itemid>         指定したアイテムを拾うことを許可する
modifyworld.items.drop.<itemid>         指定したアイテムを捨てることを許可する
modifyworld.items.have.<itemid>         指定したアイテムを手に持つことを許可する

modifyworld.damage.deal.<entityName>     指定した対象にダメージを与えることを許可する
modifyworld.damage.take.<entityName>     指定した対象からダメージを受けることを許可する
modifyworld.mobtarget.<entityName>         Player can be targeted by <entityName>
modifyworld.interact.<entityName>         Player can interact with <entityName>
modifyworld.tame.<entityName>             指定したモンスターをペットにすることができる(現在、犬のみ指定可能。豚や牛を指定してもペットにすることは出来ません)

modifyworld.vehicle.destroy             乗り物の破壊を許可する
modifyworld.vehicle.enter                 乗り物の使用を許可する
modifyworld.vehicle.collide             乗り物との干渉を許可する

<itemid>参考
<blockid>参考

<entityName>参考
player.<playerName>         プレイヤー    (例: player.kurua)
group.<groupName>             グループ    (例: group.admins)

animal.pig                     豚
animal.squid                 イカ
animal.cow                     牛
animal.chicken                 鶏
animal.sheep                 羊
animal.wolf                 犬
animal.wolf.<playerName>     プレイヤーが狩っているペット

monster.creeper                 クリーパー
monster.zombie                 ゾンビ
monster.spider                 蜘蛛
monster.ghast                 ガスと
monster.giant                 ビッグゾンビ
monster.pigzombie             ピッグゾンビ
monster.slime                 スライム



5.PermissionsEXの設定

PermissionsEXは、ユーザやグループ単位で行動を詳細に制限することが出来ます。
ChatManagerが有効な場合は、ユーザやグループごとでチャットに色分けをしたり、接頭語や接尾語を設定したり出来ます。
Modifyworldが有効な場合は、ワールドの保護機能を使用できます。

自動で作成されるconfig.ymlのsuperpermsの項目については理解出来ていないため省略(´・ω・)
そして、あまりにも内容が多いので簡易説明(´;ω;)正直辛くなってきた。

config.ymlの設定
permissions:
    basedir: plugins/PermissionsEx        # PEXのベースディレクトリ
    backend: file                        # 保存方法を指定する(fileとSQLを指定可能)
    backends:
        file:
            file: permissions.yml        # PEXの基本構成ファイル
    createUserRecords: true                # デフォルトグループに所属するユーザのレコードを自動で作成するか

permissions.ymlの設定
groups                            グループの定義を開始
groups.<group_name>                <group_name>の定義を開始
groups.<group_name>.default        デフォルトグループにするかの定義
groups.<group_name>.permissions    権限の設定を開始
groups.<group_name>.build        建築に関われるかどうか
groups.<group_name>.prefix        接頭語の設定(使用するにはChatManagerを有効にする必要があります)
groups.<group_name>.suffix        接尾語の設定(同上)

users                            ユーザの定義を開始
users.<user_name>                <user_name>の定義を開始
users.<user_name>.permissions    権限の設定を開始
users.<user_name>.build            建築に関われるかどうか
users.<user_name>.prefix        接頭語の設定
users.<user_name>.suffix        接尾語の設定

※参考例
groups:
    default:
        default: false
        permissions:
            - modifyworld.chat
            - modifyworld.usebeds
        build: false
        prefix: '[Guest]'
        suffix: ''
    Member:
        default: true
        permissions:
            - modifyworld.*
            - lwc.protect
            - iConomy.holdings
            - iConomy.payment
            - Creature.DeathPenalty
        build: true
        prefix: '&e[&eMember&e]&f'
        suffix: '&f'
    Admins:
        default: false
        permissions:
            - '*'
        build: true
        prefix: '&c[&cAdmins&c]&f'
        suffix: '&f'
users:
    minecraft_user01:
        group:
            - default
    minecraft_user02:
        group:
            - Member
    minecraft_user03:
        group:
            - Admins

PEXでは表記の方法が若干異なりますが、基本的にPermissions2x系、3x系と似たような書式です。
旧Permissionsの設定ファイルをPEX用に変換するサイトがあったのですが忘れてしまいました。


おまけ prefixやsuffixで使えるオプション

%message     - メッセージ本文
%player         - プレイヤー名
%prefix         - 接頭語
%suffix         - 接尾語
%world         - 発言したワールドネーム
%H - 2桁で表す24時間単位の時間
%h - 2桁で表す12時間単位の時間
%G - 先頭に0を付けない24時間単位の時間
%g - 先頭に0を付けない12時間単位の時間
%I - 2桁で表す分
%i - 先頭に0を付けない分
%S - 2桁で表す秒
%s - 先頭に0を付けない秒
%a - 小文字でam/pm表示
%A - 大文字でAM/PM表示

おまけ 使用できるカラー

&0 - Black
&1 - Dark blue
&2 - Dark green
&3 - Teal
&4 - Red
&5 - Purple
&6 - Gold
&7 - Light gray
&8 - Dark gray
&9 - Blue
&a - Light green
&b - Light blue
&c - Light red
&d - Pink
&e - Yellow
&f - White

    • azu
    • 2012 04/08 11:12am

    すごくわかりやすい!
    本当に助かりました。有難うございます。

  1. トラックバック 0

*

return top