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

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

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

MCAuthのDiscord認証でホワイトリストを設定する方法を示すサムネイル

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

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

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

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

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

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

spa

僕はホワイトリストの追加依頼が来るたびに手を止めるのが嫌で、この仕組みを作りました。

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

マイクラサーバーの構築と運用を繰り返して4年。今も経済サバイバル「spa77.works SMP」を運用中で、その経験をもとに記事100本以上を執筆。

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を作成する

MCAuthのDiscord認証をBot作成、JAR配置、config.yml設定、ホワイトリスト、認証コード、接続確認の順に進める図解

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

作成後、左メニューのBotへ移動し、Message Content Intentをオンにします。

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

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

補足

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

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

続いてBotをDiscordサーバーへ招待するために、OAuth2URL Generatorでスコープをbotに選択しておくと進めやすいです。

権限は、メッセージ送信(Send Messages)にチェックを入れます。

チャンネル閲覧(View Channels)にもチェックを入れ、生成されたURLをブラウザで開いてBotをDiscordサーバーへ招待します。

認証コードを受け取るチャンネルのIDも、あわせてメモしておくと設定ファイルを書くときに迷いません。チャンネルを右クリックすると、「IDをコピー」から取得できます。

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

プラグインをサーバーへ入れるのが初めてなら、先に構築記事を読んでください。

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

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

MCAuth公式GitHubのReleasesページ。AssetsにMCAuthのJARファイルが表示されている

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

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

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

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

まとめ:MCAuthでホワイトリスト管理をDiscordに一本化する

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

  • Discordに参加していない人は認証できないため、管理の窓口がDiscordだけになる
  • 設定はBotトークンとチャンネルIDを貼るだけで終わる
  • 認証した人が自動で登録され、管理者が/whitelist addを打つ必要がない
  • GitHubで無料公開しているので、そのまま試せる

参加者が10人増えても、管理者の手作業は増えません。

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

同じように自分のサーバー専用のプラグインが欲しい場合は、開発の相談も受け付けています。