からプラグイン作った。
Spigotプラグイン「Disgot」を作りました。ユーザーが各自でBOTを登録しDisgotと連携させ、マイクラ鯖を起動させると自動でDisgot内で作成したBOTを起動します。マイクラ鯖が起動している間BOTも起動し続けます。逆に、マイクラ鯖が閉じている間はBOTも動きません。
現在は対応Minecraft ver.は1.16.5です。
追記)2024/01/20
内容がめちゃくちゃ古いです。すでに開発は終了しているため、有志によるフォーク先をご利用ください。
できたもの
チャット同期
設定したチャンネルで発言すると…
Discordでの発言がマイクラに、マイクラでの発言がDiscordにそれぞれ表示されるようになります。
発言の他にも
・サーバーの起動メッセージ
・ジョイン/レフトログ
・プレイヤーの死亡メッセージ
を同期します。
ホワリス自動追加
設定したチャンネルに追加したい MinecraftID のみ を入力してください。
重複登録や存在しないIDの登録はできないようになっています。
導入
1. Spigotサーバーを起動
持ってたら飛ばしてください。
建てたことないmacユーザーはこの記事を参考に建ててください。 mac使いだがSpigotサーバーを建てたい。
建てたことないWindowsユーザーは…ググってがんばってください。「spigot
サーバー 建て方 windows」[検索]
2. Disgotをダウンロード
https://github.com/shmn7iii/Disgot/releases/download/v1.0.0/Disgot-1.0.0.jar
リンク先からDisgotをダウンロードして任意のサーバーファイル内の/plugins下に配置してください。
ちなみにGitHubで雑に公開してるので気に入らなかったら自由に改造してどうぞ。コードの可読性は知りません。ライセンスはApache-2.0です。
3. BOTを作成
Discordアカウントを持っている前提で話を進めていきます。なければ作っておいてください。
3-1. Discord Developer Portal
https://discord.com/developers/applications
まずはDiscord Developer Portalにログインし、applicationページへ移動しましょう。
3-2. アプリケーションを作成
ログインできたら右上の「New Application」をクリック。 したらBOTの名前を好きに決めましょう。
Createをクリック。ちなみにApp Iconはアプリケーションのアイコンであり、Botのアイコンとは違います。お好きにどうぞ。次は左の「Bot」をクリック。
3-3. BOTを作成
表示されたページで「Add Bot」ボタンをクリックしましょう。これで作成したアプリケーションをBOTとして登録できました。ここでBotのアイコンが設定できます。お好きに。BOTの細かな設定もここで行えます。今回は必要ではないので説明は省きます。
では次にBotをサーバーへ追加します。右側の「OAuth2」をクリック。表示されたページの中央付近、「OAuth2 URL Generator」へスクロールします。したら画像のようにSCOPESはbotを選択、BOT
PERMISSIONSはAdministratorを選択しましょう。選択できたらCOPYをクリックします。クリップボードに招待用URLがコピーされるのでブラウザでペーストしてURLを開きましょう。
するとこんな画面が出ます。BOTを追加したいサーバーを選択し「はい」をクリック。管理者のチェックボックスは外さずに認証をクリック。これでBOTがサーバーに追加されます。
4. BOTとDisgotを接続
https://discord.com/developers/applications
先程のBotの設定ページへ移動します。上のリンクから作ったアプリをクリック、右側でBotをクリック。
したら指のあるコピーをクリック。これはTOKENと呼ばれるものでBOT固有の識別子です。これが 他人に渡るとやばい ので慎重に扱いましょう。ちなみにCopyの上のClick to Reveal Tokenでトークンの内容が見れます。
コピーできたらDisgotが入ったマイクラ鯖を立ち上げます。初回起動では全力でエラーを吐きますが余裕綽々で無視しましょう。
立ち上がったらFinder/エクスプローラーで (サーバーのあるフォルダ)/plugins/Disgot
と進み、config.ymlを開きます。
開けたら
TOKEN: mozi
の”mozi”の部分を先程コピーしたトークンに書き換えます。
TOKEN: gesnkbsgha.geraiihovnegrh-greaihv
のような形になればOKです。
これでとりあえずBOTは起動します。config.ymlを保存して閉じ、マイクラ鯖をリロードしましょう。
Discordを確認するとBOTがオンラインになっていることがわかると思います。
5. チャンネルを設定
次にチャットを同期するチャンネルとホワイトリスト申請用のチャンネルを設定します。
まず、Discordアプリでユーザー設定を開きます。次に詳細設定ページへとび、開発者モードを有効にします。
有効にできたら設定を閉じます。
次に同期するチャンネルのチャンネルIDを取得します。同期したいチャンネルを右クリック、一番下の「IDをコピー」をクリックします。
コピーしたら再度config.ymlを開き、
MESSAGE_SYNC_CHANNEL: suuzi
の”suuzi”の部分を先程コピーしたチャンネルIDに書き換えます。
MESSAGE_SYNC_CHANNEL: 883456154786536455
のような形になればOKです。
同様の作業をWHITELIST_CHANNELでも行います。ホワリス用のチャンネルを右クリックでIDをコピー、config.ymlのsuuziを書き換えましょう。
作業が完了したら保存して閉じます。再度マイクラ鯖をリロードすると…
BOTが仕事を始めます。
さあ馬車馬のように働け。
最後に
他プラグインとの競合は何も考えてません。もしかしたらLunaChatとかと一緒に入れるとおかしくなるかも。試してないから分からんです。何かあればGitHubにIssueでも投げといてください。
https://github.com/shmn7iii/Disgot