yukieijiのメモ代わりブロマガ

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

Spigot/Bukkit/Sponge/Bungeeプラグイン「Plan|Player Analytics」解説(2019/09/27更新:Plan v5.0のテストビルドに日本語ファイル実装)

02/28の生放送でいろいろとやっていた設定していたプラグインです
このプラグインは多種多様の機能を兼ね備えて導入必須というレベルで素晴らしいプラグインですが、日本語の解説が0と言う悲しい事実なので解説していきます。コンフィグの詳しい説明とかはよくわかっていないのでそこらへんは割愛します
対応バージョンは1.7~1.13
配布先:https://www.spigotmc.org/resources/plan-player-analytics.32536/
開発GitHub:https://github.com/Rsl1122/Plan-PlayerAnalytics
Wiki:https://github.com/Rsl1122/Plan-PlayerAnalytics/wiki

2019/04/24:Plan ver4.8.2 DEV2にて日本語化ファイルが実装され使えるようになりました
また日本語翻訳に関するGitHubフォークとDiscordを立ち上げました
日本語化に関するGitHun:https://github.com/yukieiji/Plan-JapaneseTranslationProject
2019/05/10:Plan ver4.8.2が正式リリースされ日本語ファイルが正式に実装されました、下の方にやり方を書いておきます
2019/09/27:Plan ver5.0のテストビルドも日本語化が完了しました、インターフェースが一新されています。DL先→ :https://plan.djrapitops.com/job/Player%20Analytics/job/interface-redesign/


1.Plan|Player Analyticsって?ああ!!
聞いたことすらないプラグインだと思います。Planは導入されているサーバーの各種情報をブラウザ上で確認できるプラグインです。
プレイヤーの各種情報やプレイヤーがどれくらい活動してるのか、KDR、プレイヤーのPingなどいろいろと確認できます
更に下の画像の様にサーバーの負荷状況、メモリ使用率、TPS、CPU使用率なんかも確認できます。ここに書いてある機能はごく一部で、配布先の画像に機能一覧を載せた画像があります
データベースを使用することもできるため、ある程度高速に動作します



2.Spigot/Bukkit/SpongePlan|Player Analyticsの導入
何時ものようにプラグインフォルダにダウンロードしたjarファイルを入れて再起動するだけで導入自体は完了です。
デフォルトのPlanの使用ポートは8804番で、ブラウザに「http://localhost:ポート番号」と入力して表示されていれば成功です。ポート番号を開放すれば外部からも接続可能です
データベース関連を使用する場合、コンフィグより使用するデータベースなどを入力します。
プレイヤーの情報が表示されない場合は「/plan analyze」などをつかって分析をかけます
2019/03/07更新:更新でデーターベース関連が変更されてデフォルトのままだと動かなくなりました。なのでSQLiteMySQL(MarinDB)を導入してプラグインのコンフィグを設定するか、コンフィグのデーターベースをH2に設定してください

3.Bungee/WaterFallへPlan|Player Analyticsの導入
Bungee/WaterFallへの導入はMySQLの導入や入れた後の設定が必要のためちょっとめんどくさいです。(MySQL以外もできるけどやり方がWikiに書いてないので割愛)
3-1:まずMySQLを導入予定のBungeeが実行されるマシンにインストールします
3-2:インストール後MySQLをPC起動時に自動実行するようにします
3-3:MySQLのルートパスワードを設定しMySQLコマンドラインを起動しログインします(Linuxとかだと管理者権限で「mysql -u root -p」を実行するとコマンドラインが起動します)
3-4:Planが使用するデータベースを「CREATE DATABASE (データベース名);」で作成
3-5:Planが使用するデータベースを操作するユーザーを「CREATE USER '(ユーザー名)'@'localhost' IDENTIFIED By '(ログインパスワード)';」で作成、ユーザー名とパスワードは覚えておいてください
3-6:上で作ったユーザーにPlanが使用するデータベースの操作権を「GRANT ALL PRIVILEGES ON (データベース名).* TO '(ユーザー名)';」付与
3-6ex1:Bungee/WaterFallにつなげるサーバーがBungee/WaterFallと同じマシン上にない場合、「GRANT ALL PRIVILEGES ON (上で作ったデータベース名).* TO '(上で作ったユーザー名)'@'繋げるサーバーのIPアドレス' IDENTIFIED BY '(上で作ったユーザーのログインパスワード)' WITH GRANT OPTION;」を使って外部サーバーからMySQLを操作できるようにする
3-6ex2:そしてBungee/WaterFallのサーバーの3306番ポートを開放、別の外部サーバーがある場合3-6ex1を繰り返す
3-7:PlanをBungee/WaterFallのプラグインフォルダに導入して起動(切らなくておk)
3-8:起動したらPlanのコンフィグを開く
3-9:Server:のIP:の項目に自身のBungee/WaterFallに接続できるIPもしくはアドレスを入れる
3-10:Database:のMySQL:内にあるUser:に上のPlanが使用するデータベースを操作するユーザー名、Password:に上のPlanが使用するデータベースを操作するユーザー名のパスワード、Database:に上のPlanが使用するデータベース名を入れる
3-11:上記設定が終了後保存して「/planbungee reload」と入力してコンフィグをリロード、ブラウザに「http://localhost:ポート番号」と入力してウェブページが表示されることを確認する
3-12:Bungee/WaterFallに接続されている全てのSpigot/Bukkit/SpongeにPlanを上の2にある通りに導入し起動
3-13:Spigot/Bukkit/SpongeのPlanのコンフィグを開いてサーバー名を適当に変えておく
3-14-1:もしBungee/WaterFallを実行している同じマシンのサーバーならBungeeのPlanで使用してないポートの番号をWebserver:のPort:に入れる(WikiだとFreeって書いてあるから空欄にするんかなって思うけど次の作業でうまくいかないのでなんか入れとく)
3-14-2.1:もしBungee/WaterFallを実行しているマシンと違うマシンで実行されているサーバーならPlanのコンフィグが使用しているポートの番号を開放
3-14-2.2:Planのコンフィグを開きWebserverの欄のAlternative_IP: true」に変更、その下の項目を「Address: "実行しているサーバーマシンのIP:%port%"」とする(%port%は自動的に決まるらしいのでこれで良いとのこと)
3-14:Bungee/WaterFallのほうで「/planbungee setup」と入力してセットアップモードを起動
3-15:Spigot/Bukkit/Spongeの方で「plan m setup (BungeeのPlanのアドレス):(BungeeのPlanが使用するポート番号)」と入力、BungeeのPlanのIPアドレスはBungeeが同じマシンにあるなら「localhost」、Bungeeが同じローカルネットワーク内ならローカルのIP、それ以外ならサーバーに接続するIPorアドレス、IPアドレスやローカルホストの場合は「http://」を最初につけないとだめみたいです
3-16:Bungeeのログに「Config file for server '(上で変更したサーバー名)' updated in /Plan/serverConfiguration」って出ていれば完了、Bungeeに接続されている別のサーバーがあれば、3-14より再度設定
3-17:「/planbungee reload」でPlanをリロード
3-18:ブラウザに「http://localhost:ポート番号/server」で追加されているサーバーがあれば導入完了
3-19:Spigot/Bukkit/SpongeのPlanフォルダ内にあるデータベースファイルを消しておく(Bungeeのデータベースに統合されるため)

3.日本語化やり方
1.Plan ver4.8.2以降を導入しSpigot/Bukkit/Sponge/Bungee/WaterFallを起動しコンフィグファイルを作成
2.コンフィグファイルを開き「Plugin」の「Logging」の中の「Locale: default」を「Locale: JA」に変更3.「Formatting:」の「Time_amount:」を以下のように変更

Year: '1年, '
Years: '%years% 年, '
Month: '1ヶ月, '
Months: '%months%ヶ月, '
Day: '1日 '
Days: '%days%日 '
Hours: '%hours%時間 '
Minutes: '%minutes%分 '
Seconds: '%seconds%秒'
Zero: '0秒'

3.完了後保存し「/plan reload」/「/planbungee reload」としてPlanを再起動、反映されない場合はSpigot/Bukkit/Sponge/Bungee/WaterFallを再起動する
3ex.コンフィグの「Network」/「Server」の「Name:」の欄は必ずアルファベットのA~Z、a~zまたは1~9のみを用いた名前に設定し、ウェブページを開いたときにコンフィグで設定した名前になっていることを確認する(日本語へ翻訳する文字列が使われていた場合、サーバー名やネットワーク名まで翻訳され正しく動作しなくなります)


4.余談

いくつか連携しているプラグインもあるみたいです ⇒ https://github.com/Rsl1122/Plan-PlayerAnalytics/issues/583