2026.06.03広告・PRを含む記事です

プラグイン

Discord認証でホワイトリストを自動管理するプラグイン「MCAuth」の導入方法

Discord認証でホワイトリストを自動管理するプラグイン「MCAuth」の導入方法

サーバーを運営していて、ホワイトリスト管理が地味に面倒だと感じていました。

  • 新しいメンバーが来るたびに手動でホワイトリストへ追加している
  • /whitelist addを打ち忘れて「入れない」と連絡が来る
  • どうせDiscordで全員つながっているなら、そこで完結させたい

そこでMCAuthというプラグインを自分で作りました!

プレイヤーが初回接続するとDiscordに認証コードが届き、そのコードを指定チャンネルに送るだけでホワイトリストへ自動追加されます。

運営側の操作はゼロです。

MCAuthとは

MCAuthは、僕がサーバー運営の課題を解決するために作ったPaperプラグインです。

初めて接続したプレイヤーは6桁のワンタイムコードを受け取ってキックされます。

そのコードをDiscordの指定チャンネルに送ると、ホワイトリストへ自動的に追加される仕組みです。

コードを5回以上間違えると60秒ロックされます。

手当たり次第に試してもすり抜けられません。

認証済みのUUIDとDiscordユーザー情報はデータベースに記録されるので、一度認証したプレイヤーは次からそのまま入れます。

Discordに参加していない人は認証コードを送る場所がないので、そもそも入れません。

「誰でも入れる状態」を作りたくない場合に、この仕組みが一番効きます。

動作環境

項目必要なもの
サーバーソフトPaper 1.21
Java21以上
DiscordボットとチャンネルID

SpigotやFabricでは動作しません。

Paperサーバーに限ります。

手順1:DiscordでBotを作成する

Discord Developer Portalを開いて、新しいアプリケーションを作ります。

作成後、左メニューの「Bot」へ移動します。

「Message Content Intent」をオンにしてください。

ここを忘れると、プレイヤーのコードをBotが受け取れません。

「Token」セクションの「Reset Token」からトークンを取得し、メモ帳に控えておきます。

補足

DiscordトークンはGitHubや公開チャットに絶対に貼らないでください。

流出するとBotを乗っ取られます。

続いてBotをDiscordサーバーへ招待します。

「OAuth2」→「URL Generator」でスコープをbotに選択。

権限は「Send Messages」と「Read Messages/View Channels」にチェックを入れ、生成されたURLをブラウザで開いて招待を完了させてください。

認証コードを受け取るチャンネルのIDもメモしておきます。

チャンネルを右クリック→「IDをコピー」で取得できます。

手順2:JARをpluginsフォルダに配置する

プラグインをサーバーへ入れるのが初めての場合は、先にこちらを読んでください。

プラグインサーバーの立て方と書かれたサムネイル

マイクラプラグインサーバーの立て方!Paperで導入する手順を初心者向けに解説

MCAuthのReleasesページから最新のJARをダウンロードして、サーバーのplugins/フォルダに入れます。

サーバーを一度起動すると、plugins/MCAuth/config.ymlが自動生成されます。

手順3:config.ymlを設定する

生成されたconfig.ymlを開き、BotトークンとチャンネルIDを入力します。

discord:
token: "ここにBotトークンを貼る"
channel_id: "ここにチャンネルIDを貼る"
auth:
code_length: 6
expiry_seconds: 300
max_failures: 5
lock_seconds: 60

code_lengthは認証コードの桁数、expiry_secondsは有効期限(秒)です。

デフォルトの6桁・300秒のまま使えます。

max_failures回失敗するとlock_seconds秒ロックされます。

上の例なら、5回連続で失敗すると60秒間コードを試せなくなります。

設定を保存してサーバーを再起動します。

起動ログにエラーがなければBotが動き始めます。

手順4:ホワイトリストを有効にする

server.propertiesを開いて、以下の行を確認します。

white-list=true

falseになっている場合はtrueに書き換えて再起動します。

ゲーム内から変更したい場合は/whitelist onを実行してください。

この設定を忘れると、MCAuthを入れても未認証のプレイヤーがそのまま接続できます。

必ず確認してください。

よくある質問

Q

認証済みのプレイヤーが再接続するとどうなりますか?

A

ホワイトリストに登録済みのため、そのまま入れます。再認証は不要です。

Q

Paper以外のサーバーソフトでも使えますか?

A

Paper専用のプラグインです。SpigotやFabricでは動作しません。

Q

Discordを持っていないプレイヤーはどうすればいいですか?

A

管理者が「/whitelist add プレイヤー名」を直接実行すれば追加できます。MCAuthを使わずに手動管理する場合も、この方法で対応できます。

まとめ

MCAuthを導入すると、ホワイトリスト管理をDiscordに完全に移せます。

Discordに参加していない人はそもそも認証できないので、メンバー管理の窓口がDiscord1本に絞れます。

設定はBotトークンとチャンネルIDを貼るだけで、コードを書く必要はありません。

GitHubで無料公開しているので、気軽に試してみてください!

他のおすすめプラグインは、以下の記事を参考にしてみてください。

マイクラサーバー向けおすすめプラグインを紹介するイラスト

【最新版】マイクラサーバーのおすすめプラグイン12選!目的別に選び方を解説

管理人spaのアイコン
spa この記事を書いた人

サーバーの構築と運用を繰り返して4年。その経験をもとに記事60本以上を執筆。

プロフィール詳細 →