経済サバイバルサーバー、参加者募集中

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

プラグイン

マイクラのホワイトリストをDiscord認証で自動化する方法【MCAuth】

Discord認証でホワイトリストへ自動追加するサムネイル

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

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

Discordを使っているなら、認証からホワイトリスト追加まで自動化できます。

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

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

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

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

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

プロフィール詳細 →

MCAuthとは

MCAuthで初回接続時に認証コードを発行し、Discordへ送信するとホワイトリストへ自動登録される流れを示す図解

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

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

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

コードを連続で間違えると一時的にロックされるので、手当たり次第に試してもすり抜けられません。

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

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

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

動作環境

項目必要なもの
サーバーソフトPaper(1.21以降〜26.x)
Java21以上(Paper26.1以降はJava25)
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をブラウザで開いてBotをDiscordサーバーへ招待します。

認証コードを受け取るチャンネルのIDもメモしておきます(チャンネルを右クリック→「IDをコピー」で取得できます)。

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

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

PaperMCでプラグイン対応マイクラサーバーを立てる手順

マイクラプラグインサーバーの立て方!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を貼るだけです。

参加者が10人増えても、管理者が/whitelist addを打たずに、認証した人だけが自動で登録されます。

GitHubで無料公開しているので、試してみてください。