[1.7.x-1.8]名前変更機能に伴う問題修正 NameHistory

サーバーMODやBUKKITのプラグインなどの公開/紹介を専門に行うフォーラムです。クライアントMODと組み合わせ必須の物はMOD公開/紹介フォーラムで公開してください。
フォーラムルール
クライアントMODと対にして使用する物は極力 MOD 公開/紹介 フォーラムにて公開するようお願いします。
本フォーラムではサーバーへの適用をメインとするサーバーMOD、プラグインを取り扱います。
不明な点は管理人ecolightまでお問い合わせ下さい。
  • (PostNo.215400)

[1.7.x-1.8]名前変更機能に伴う問題修正 NameHistory

投稿記事by toyblocks » 2015年2月06日(金) 10:48

このプラグインは、Bukkit/Spigotサーバーで2015-02-04から可能となったminecraft名の変更機能に伴い、UUIDに未対応の看板系プラグインの問題を修正します。
2015-02-06_09.45.24.png
UUID未対応の看板系プラグインの問題

使い方

名前変更による問題が生じている看板の目の前で/ucコマンドを打ち込むと、名前変更履歴から過去の名前と合致する場合看板を破壊します。
コマンド一覧

  • /uc <-目の前の対象としている看板を、過去の自分のIDによって管理されていたか確認し、そうであれば看板を破壊します。
    namehistory.check
  • /nh <name> <-現在<name>の名前を使っているプレイヤーの名前変更を確認します。
    namehistory.history
設定

/plugins/NameHistory/config.ymlにて設定をして下さい。
デフォルトconfig
コード: 全て選択
filters:
  lockette:
    line1: '^\[private\]$'
    line2: '^{name}$'
    line3: '^.*$'
    line4: '^.*$'
  chestshop:
    line1: '^{name}$'
    line2: '^[1-9][0-9]*$'
    line3: '(?i)^[\d.bs(free) :]+$'
    line4: '^[\w? #:-]+$'

設定項目
  • filter
    ucコマンドの対象となる看板を正規表現で指定します。但し、プレイヤー名が入る位置に{name}と挿入してください。デフォルトでLockette(チェスト保護)プラグインとiConomnyChestShop(チェストショップ)プラグインの看板が指定してあります。適宜ここに項目を追加することでほとんどの看板プラグインに対応できます。
ちょっと細かいこと

名前変更履歴の取得について
名前変更履歴の取得のために必要なUUIDの取得は、以下の優先順位に従って行われます。
1.プレイヤーがオンラインである->オンラインプレイヤーのUUID
2.プレイヤーはオフラインだがプラグイン起動中にはログインしていた->内部に保存されたUUID
3.プラグイン起動中にプレイヤーを参照したこ[*][*][*]とがある->内部に保存されたUUID
4.プレイヤーはログインしたことがあるが、ログアウト後にサーバーが再起動された->OfflinePlayer(セーブデータ)から
5.プレイヤーはログインしたことがない->MojangAPIから
このうち、4と5についてはそれなりに重いので、参照時に並列処理で取得を"開始"します。そのため、参照した瞬間に内容が得られないことがあり、Please wait for a while, and try againといったエラーメッセージが表示されることがあります。このメッセージが表示された場合、少し(1秒程度)待ってから再実行すると取得が完了しており、中身が表示される仕様となっています。

また、名前変更履歴そのものの取得についても同様に並列処理で取得をしています。但し、オンラインのプレイヤーについては高速化のためにログイン時に自動的に取得を開始します。名前変更履歴についてもPlease wait for a while, and try againといったエラーメッセージが表示されることがありますが、同様に一瞬待ってから再実行してください。

一応仕様として書いておきますと、MojangAPIは10分当たり600回の取得制限があります。そのため、このプラグインのみが使用すると仮定した場合以下のような場合では名前変更の取得に失敗し、想定通りに動かない場合があります。
  • 1秒に1回プレイヤーがログインするサーバー上での動作の場合
  • 2秒に1回オフラインプレイヤーの名前変更履歴を取得する場合
流石にそのような場合はないと思いますが、他のプラグインもMojangAPIを頻繁に利用している場合問題になる場合があります。

よくありそうな質問

Q.エラーがありました!/バグがありました!
A.状況と、ある場合はエラーログをこちらへ書き込んでください。

Q.○○というプラグインの看板を正規表現で書くとどうなりますか?
A.デフォルト設定を見ながら考えて下さい。もしも正規表現で表記不可能だと思われる場合、こちらに書き込んでいただければ対応を考えます

Q.正規表現で書いてみましたがうまく動作しません...
A.正規表現チェッカーなどを用いて、どこか正規表現に誤りがないか確認してみて下さい。また、以下の事に気を付けて下さい。
  • 看板のカラーコードは内部的に消去される
  • [private]等の看板の"["や"]"は正規表現のメタ文字として扱われるので"\["や"\]"など適切なエスケープ処理が必要である
ライセンス

このプラグインは
を利用しており、それぞれ
の基提供されています。また、このプラグインは
The MIT Licenseのもと提供されます。
ダウンロード

NameHistory1.0.0
添付ファイル
NameHistory.zip
(1.22 MiB) ダウンロード数: 50 回
Plugin製作してます。Chaten, UsefulBarrier, ChannelSlot, Lic,ElytraBooster
バグ報告や制作依頼への反応は多分twitterが一番早いと思います。
アバター
toyblocks
ID:ea5da2ff
石掘り
 
記事: 72
登録日時: 2014年7月09日(水) 23:36

Return to サーバーMOD,プラグイン 公開/紹介

x