Paperサーバーにマイクラの参加メッセージを追加する
プレイヤーが参加したときにあいさつするには、「プレイヤーが参加したとき」のトリガーを、 そのプレイヤーにチャットメッセージを送るアクションにつなぎます。このルールはNimBlockの スタジオで組み立てて、すでにあるPaperサーバーで動かせます。ここで作るあいさつは非公開で、 参加するたびに表示されます。メッセージが1つ増えるだけで、Minecraftの通常の参加のお知らせは 置き換わりません。
マイクラの参加メッセージとサーバー一覧のMOTDの違い
参加メッセージは、プレイヤーが接続した後に表示されます。MOTDはその前、マルチプレイの
サーバー一覧でサーバー名の下に表示されるものです。
motdをserver.propertiesで変更すると変わるのは後者で、
Paperのドキュメント
でも説明されています。このガイドで作るチャットのあいさつは、それでは作れません。
このレシピでは、NimBlockのブロックエディターと、別配布の無料ランタイムを使います。ルールの保存にはNimBlockのアカウントがあれば十分です。ルールを動かすには、プラグインファイルをアップロードできる既存のMinecraft Javaサーバーが必要です。以下の手順はPaper 1.21.11とJava 21を対象にしています。NimBlockでサーバーを借りる必要はありません。
スタジオで参加メッセージを作る
- NimBlockでプラグイン一覧を開き、新しいプラグインを作ります。エディターは最初から、ウェルカムのルールが入った状態で始まります。
- トリガーはプレイヤーが参加、アクションはプレイヤーにメッセージを送るのままにします。ルールに条件は付けません。そうすると、参加するたびに動きます。
- メッセージを役に立つ内容に変えます。たとえば{player}さん、ようこそ!チャットは仲良く使ってください。のようにします。
{player}は書かれているとおりに残してください。ランタイムがプレイヤー名に置き換えます。 - プラグインを保存します。そのページに表示される完全なJSONを、
welcome.jsonという名前のテキストファイルにコピーし、UTF-8で保存します。
スタジオが作るのはJSONのルールで、単体のJavaプラグインではありません。ほかのホストでは、 ランタイムを1回入れてから、そのJSONファイルを渡します。使えるトリガーとアクションは、 公開文法にまとまっています。
今使っているPaperサーバーに導入する
- NimBlockランタイムをダウンロードします。サーバーを停止し、ランタイムの
.jarをplugins/の直下に置いてから、サーバーを起動します。 /pluginsで、NimBlockが有効になっているか確認します。読み込みに失敗したときの調べ方は、Paperのプラグイン導入ガイドにあります。welcome.jsonをplugins/NimBlock/specs/にアップロードします。フォルダー名の大文字はそのままにしてください。 フォルダーがなければ、アップロードする前に作成してください。- サーバーのオペレーターとして
/nimblock reloadを実行し、続けて/nimblock listを実行します。保存したプラグインの名前が表示されるはずです。サーバーコンソールでは、先頭のスラッシュは付けません。
試す前に、リロード中に出たエラーを直してください。/pluginsに表示されるのは
ランタイムが読み込まれた証拠であって、JSONのルールが読み込まれた証拠ではありません。
後者は/nimblock listで確認します。
プレイヤーに実際に表示されるものを確認する
Minecraft Javaのアカウントで接続します。名前入りのあいさつが表示されるはずです。 いったん切断してもう一度接続すると、同じあいさつがもう一度表示されます。 すでに別のプレイヤーがオンラインなら、そのプレイヤーに、あなた宛ての非公開のあいさつが 表示されていないことを確認してもらいましょう。その人にはMinecraftの通常の参加のお知らせは 表示される場合があります。
参加を全員に知らせたい場合は、スタジオのブロードキャストのアクションを選びます。 これは公開メッセージを追加するもので、通常の参加のお知らせは消えません。 非公開の案内と公開のお知らせは分けておきましょう。そうしないと、参加のたびに 全員のチャットがあふれます。
ランタイムを入れ直さずに文面を変える
スタジオでメッセージを編集し、新しいバージョンとして保存します。同じ
welcome.jsonファイルの中身を、新しく保存したJSONに置き換え、
/nimblock reloadを実行します。再接続して試してください。
メッセージだけの変更なら、サーバーの再起動は必要ありません。古いファイルと
新しいファイルを両方残すと、2つのルールが読み込まれ、あいさつが2回出ることがあります。
参加メッセージが出ない、または2回出る場合
- ランタイムの一覧に何も出ない:フォルダー、
.json拡張子、リロード時のエラーを確認します。welcome.json.txtという名前のファイルは、別の種類のファイルです。 - ルールは読み込まれるのに何も表示されない:トリガーがプレイヤーの参加になっているか、条件が付いていないか、読み込んだ後に実際に再接続したかを確認します。ルールを読み込んでも、それ以前の参加が再生されるわけではありません。
- カスタムのあいさつが2回出る:2つ目のJSONファイルや、ウェルカムメッセージを送る別のプラグインがないか確認します。通常の参加のお知らせと非公開のあいさつが1つ並んで出るのは、想定どおりの動きです。
- 新しいプレイヤーだけにあいさつしたい:追加の条件が必要です。このレシピは、あえて再び参加したプレイヤーにもあいさつします。
NimBlockのホスティングを買わなくても、対応するPaperサーバーでランタイムを使えます。 ルールは読めるJSONファイルのままなので、中身を確認でき、サーバーのバックアップと 一緒に保管できます。