yukieijiのメモ代わりブロマガ

PCやMinecraft(時々プログラミング)で思ったり感じたことをメモ代わりに残すブログ

BukkitForge(Cauldron/Thermos/Sponge)で「DynmapForge」のパーミッションを設定する方法

今日の夜中に放送したあと色々と調べて出来たのでメモ的な意味も含めて残しておきます
調べてもほぼ全く出てこなかったので参考になれば

1.やりたいこと

「DynmapForge」を導入したForgeBukkitサーバーの環境で一部コマンドを許可したい

2.原因
「DynmapForge」のコマンドを実行すると下の画像のように「お前にはそのコマンドを実行するパーミッションがねぇ」って怒られる

なのでパーミッションを与えてやれば一応出来そうですが、「PermissionEX」で「Dynmap」のパーミッションを設定してもこのようなエラーが出ます
原因はサーバー側でのパーミッションの設定と「DynmapForge」のパーミッションの設定が必要だからです

3.パーミッションを設定する方法
いくつか方法はあります一番簡単なのはプラグイン版の「Dynmap」を導入してパーミッションを設定する事です。ですがDynmapのGitHubのwikiにもあるようにプラグイン版の「Dynmap」はBukkitForgeをサポートしていません(私のサーバーだと動作すらしませんでした)

もう一つの方法は複雑ですが確実に動作します。以下に方法を示します(サーバーのバージョンに合わせたバージョンを導入して下さい)
 1.「DynmapForge」を導入して一度サーバーを起動させます
 2.サーバーを一度停止させ、サーバーフォルダ直下のDynmapフォルダを開きます
 3.開いたフォルダに「Permission.yml」を作る
 4.作った「Permission.yml」を「DynmapForge」のGitHubのPermissions.yml.exampleに従って各種パーミッションを設定し、保存します(これで「DynmapForge」のパーミッションの設定が完了)
 5.そしてプラグインの「PermissionEX」と「DynmapCBBbridge」を導入しサーバーを起動させます
 6.「PermissionEX」の「Permission.yml」に以下を参考にしてプラグイン版の「Dynmap」パーミッションを設定して「pex reload」で設定完了です

DynmapのパーミッションWiki


おまけ1.「DynmapForge」の「Permission.yml」書き方
「defaultuser」より下にパーミッションを追加していきます。「playername1:」の後にユーザー名を追加してその下にパーミッションを追加することで一部ユーザーに特定のパーミッションを設定できます
追加するパーミッションプラグイン版の「Dynmap」のパーミッションの「dynmap.」を省いたものすべてが使えます(「PermissionEX」のパーミッション「dynmap.」は付けたままにします)
・追加例1:マーカー削除のパーミッションを設定
     defaultuser:
      - marker.delete
・追加例2:デフォルトマーカー追加と移動のパーミッションを設定、ユーザー名「Mine」さんにフルレンダリングパーミッションを設定
     defaultuser:
- marker.add
- marker.movehere
playername1:Mine
- fullrender

おまけ2.「DynmapCBBridge」とは
「DynmapForge」に他のプラグインがアクセスできるようにするプラグインです「PermissionEX」や「WorldGuard」なんかが対応しています