• Discordの人間確認を入れたのに突破された
  • BANしても別アカウントで入り直される
  • 招待リンクを止めると新しい参加者も入れない

マイクラサーバーのDiscordを公開していると、使い捨てアカウントによる荒らしに悩まされる場面があります。

Discordのアカウントは無料で手軽に作れるため、標準のBAN、認証レベル、AutoModだけでは、アカウントを次々に作り直して入り直す荒らしは止まりきりません。

対策として役立つのは、Discordで書き込みや通話ができる条件を、マイクラで認証した人だけに絞る方法でしょう。

マイクラで認証したアカウントにだけ専用のロールを付け、そのロールを持つ人にだけ各チャンネルを見せる構成は、プラグインを自作しなくてもDiscordSRVの連携機能で同じように組めるでしょう。

僕のサーバーも2026年9月末からの荒らしを受けて、10月に自作プラグインでこの構成へ切り替えました。その経緯と、DiscordSRVでの設定手順、運用時の注意点をまとめます。

目次

マイクラサーバーのDiscordに荒らしが来たときに僕のサーバーで起きたこと

僕が運営しているマイクラサーバーのDiscordでは、2026年9月末から荒らしが入るようになり、標準の人間確認を突破されたうえ、BANしても別のアカウントで何度も入り直される状態でした。

まずは、サーバーで動かしている自作のDiscord Botに次の4つの規制を追加しました。

  • 招待リンク投稿の自動削除
  • 参加から1時間以内のメンバーによるリンクやメンション投稿の削除
  • 連投の警告と、3回目で24時間のタイムアウト
  • 1通で5人以上へのメンションの削除

Botで自動タイムアウトをかけても、相手は新しいアカウントで入ってきて同じ行為を繰り返すばかり。

対応が追いつかず、10月3日の深夜にはDiscordの招待リンクを12時間止めたほどです。

止めている間は荒らしも新しい参加者も入れないため、運営チームで話し合い、Discord単体で止めるのを諦めてマイクラ側と組み合わせる方針へ切り替えました。

Discord標準の荒らし対策で防げる範囲と防げない範囲

Discordにはサーバーを守るための標準機能がいくつか用意されていますが、アカウントを使い捨てて荒らしを繰り返す相手を防ぎきるのは難しいでしょう。

それぞれの機能でできることと、入り直す荒らしに対して足りない点を並べると、次の表のとおり。

機能できること入り直す荒らしに足りない点
認証レベル(低〜最高)メール確認や登録後の経過時間、電話番号確認を必須にして参加のハードルを上げる高(参加から10分待機)までは待てば条件を満たせてしまい、最高(電話番号確認)は一般の参加者にも負担が大きい
AutoMod(自動モデレーション機能)指定したキーワードやスパム、メンションスパムを検知してメッセージのブロックや通知、タイムアウトを行う投稿を止めることはできても、サーバーへの参加そのものは防げない
BAN(追放)特定のアカウントをサーバーから完全に排除する別のDiscordアカウントを新規作成して入り直されると追いつかない

認証レベルは、低が確認済みメール、中が登録後5分以上、高がサーバー参加後10分以上、最高が確認済み電話番号を要求する設定ですが、電話番号を必須にすると一般のプレイヤーにとっても参加の壁が高くなってしまうでしょう。

AutoMod(不適切な発言を自動でブロックする機能)も、投稿の被害は抑えられますが、参加そのものを止める仕組みではありません。

どの対策も、荒らしがDiscordアカウントを作り直す手間までは増やせないのが共通の弱点でしょう。

管理用のボットやAutoModの詳しい設定方法については、こちらの記事でもまとめています。

関連記事【日本語対応あり】Discordボットおすすめ16選!管理・読み上げなどDiscordボットのおすすめを日本語対応ありで紹介。管理、荒らし対策、ロール付与、読み上げ、チケット、翻訳、レベル機能など、用途別の選び方です。

マイクラで認証した人だけにDiscordのチャンネルを見せる構成

Discordに参加した未認証の人は#認証チャンネルだけが見え、マイクラで認証するとメンバーロールが付いて全チャンネルが見えるようになり、マイクラのアカウントを持たない人は未認証の段階で止まる流れ

Discordの外に関門を置くと、アカウントを作り直す手間を荒らし側に負わせられます。

Discordのアカウントは無料でいくらでも作れますが、Java版のマイクラアカウントはゲームを購入したMicrosoftアカウントが必要なため、何個も用意するのは簡単ではありません。

統合版でもMicrosoftアカウントでのサインインが求められるため、無料ですぐ量産できるDiscordアカウントと比べると用意する手間がかかるでしょう。

そこで、マイクラ側でアカウントを認証できた人にだけDiscordのロールを付与し、そのロールを持つ人のみにチャンネルを開放する構成にします。

Discord側で設定する権限の手順は次の4点です。

  1. @everyone(サーバーに参加した全員に自動で付く初期ロール)から「チャンネルの閲覧」権限を外す
  2. 認証案内用のチャンネルだけ、@everyoneに「チャンネルの閲覧」を許可する
  3. 認証済みのロールにだけ、他のチャンネルの「チャンネルの閲覧」「メッセージの送信」と通話の権限を許可する
  4. テスト用のアカウントでDiscordに入り、認証案内チャンネルしか見えない状態になっているか確かめる

この権限設定にしておけば、荒らしが捨てアカウントでDiscordサーバーに入ってきても認証案内用のチャンネル以外は見えず、一般チャンネルへの書き込みや通話への参加をその場で防げます。

以前の公開状態に戻したくなった場合も、各チャンネルで@everyoneの「チャンネルの閲覧」権限を元に戻すだけなので安心でしょう。

認証を終えたプレイヤーへ実際にロールを付ける処理は、後述するDiscordSRVなどの既存プラグイン、または自作のプラグインで行います。

DiscordSRVの連携機能でマイクラ認証を作る

マイクラとDiscordの認証連携は、既存プラグインのDiscordSRV(マイクラサーバーのチャットや参加状況をDiscordと同期できるプラグイン)を使えば自作の手間がかかりません。

僕のサーバーでは後述のとおり自作の仕組みを動かしていますが、DiscordSRVの公式ドキュメントによると、標準の機能だけで同じような認証の仕組みを作れます。

設定するのは次の3点。

  • 連携した人にロールを付ける
  • 連携していない人の入場を拒否する
  • ホワイトリストを使っている場合の挙動を確認する

連携した人にロールを付ける(config.yml)

マイクラのアカウントとDiscordアカウントが連携した際、Discord側で自動付与するロールはconfig.ymlで指定します。

設定項目はMinecraftDiscordAccountLinkedRoleNameToAddUserToで、初期値は"Linked"です。

ここに、先ほどDiscord側で作成した認証ロールの名前、またはロールのIDを記入してください。

設定を保存したあとは、管理者のアカウントであらかじめ連携テストを行い、指定したロールが正常に付与されるか確かめておくと安心です。

連携していない人の入場を拒否する(linking.yml)

マイクラサーバーへの参加条件としてDiscord連携を必須にする設定は、linking.ymlで行います。

Require linked account to playのグループにあるEnabledをtrueへ変更し、マイクラサーバーを再起動してください。

この設定を有効にすると、Discordと連携していないプレイヤーがマイクラにログインしようとした際、認証コードが書かれた切断メッセージが表示されてキックされます。

プレイヤーは、表示されたコードをDiscord上のボットへダイレクトメッセージで送れば連携を済ませられる、という流れ。

また、同じlinking.yml内にあるMust be in Discord server(初期値はtrue)を有効にしておくことで、Discordサーバーに参加していること自体も入場条件に含められます。

ホワイトリストを使っているサーバーの注意

すでにマイクラ標準のホワイトリスト(許可されたプレイヤーのみ参加できる機能)を運用しているサーバーでは、連携バイパスの設定に注意してください。

linking.ymlにあるWhitelisted players bypass checkは初期値がtrueになっており、このままだとホワイトリストに名前があるプレイヤーはDiscordとの連携確認を行わずにサーバーへ入場できてしまいます。

既存の常連プレイヤーの手間を減らす目的であればtrueのままでも運用できますが、全員に例外なくDiscord連携を求めたい場合はfalseへの変更を検討してください。

認証の仕組みが止まったときに誰でも入れる状態にならないか確認する

認証プラグインを導入したあとは、正常に動いているときだけでなく、エラーが出たり起動に失敗したりしたときの挙動も把握しておく必要があります。

特に確かめておきたいポイントは次の4点です。

  • 認証プラグインがエラーで止まったときや起動に失敗したときに、接続が拒否されるか、それとも誰でも入れる状態になってしまうか
  • 連携済みのマイクラアカウントに対して、別のDiscordアカウントから連携を行って上書きできてしまわないか
  • 管理用ボットを複数のDiscordサーバーに入れている場合、関係のない別サーバーから抜けただけで認証が解除されないか
  • サーバー起動時のログで、認証プラグインが正常に読み込まれて有効化されているか

僕のサーバーで自作プラグインの動作を確認した際にも、プラグインがエラーを起こしたときにプレイヤーが素通りで入場できてしまう穴や、連携の上書きができてしまう問題が見つかりました。

僕の自作プラグインも、エラーが起きたら全員の接続を拒否する作りに直しました。

プラグイン自体の読み込み失敗などはプラグインの内部処理では防ぎきれないため、サーバーを起動したら毎回ログを確認してください。

DiscordSRVなどの既存プラグインを使う場合も、同じ観点で設定漏れがないか確かめてください。

僕のサーバーでは自作のプラグインで全員に再認証してもらった

僕のサーバーの認証プラグインは、サーバーに合わせて自作したもので、一般向けには配布していません。

招待リンクを止めたのと同じ10月3日の17時に、メンテナンスで新しい認証へ切り替えました。

古い連携データは引き継がず、書き込みの権限を持つ「メンバー」ロールを41人全員からいったん外して、認証を済ませた人から順に付け直す形です。

採用した認証の流れは次のとおりです。

  • 未認証の状態でマイクラに接続すると、接続が切断されて画面に4桁のコードが表示される
  • Discordの認証案内チャンネルにあるボタンを押し、表示された入力欄にコードを送信する
  • コードの有効期限は5分間で、5回入力を間違えると60秒間は再入力できなくなる
  • Discordアカウント1つに対してマイクラアカウント1つのみ連携できる
  • 連携を解除したいときは、どのチャンネルからでも/unlinkコマンドで解除でき、ロールも外れる
  • マイクラ標準のホワイトリストは無効化し、入場可否の判定はプラグイン側に一本化する

認証が成功したプレイヤーからは認証案内用のチャンネルが見えなくなり、通常のチャンネル群が表示される仕組みです。

まとめ:マイクラのDiscord荒らし対策はマイクラ連携でチャンネルを分ける

Discordの中だけで完結する対策では、使い捨てアカウントで入り直す荒らしを止めきれません。

マイクラの認証をロールの条件にして、認証済みの人にだけチャンネルを見せれば、Discordアカウントを作り直すだけでは書き込みも通話もできなくなります。

迷ったときは、次の3点で決めてください。

  • プラグインを自作しない場合は、DiscordSRVの連携機能とロール付与を活用する
  • マイクラ標準のホワイトリストを併用しているときは、連携バイパス設定の有効無効を確認する
  • サーバー起動時やエラー発生時に、未認証のプレイヤーが素通りできない状態になっているか確かめる

チャンネルの権限設定はいつでも元に戻せるため、最初から完璧な自動化を目指す必要はありません。

まずはDiscordの@everyoneから「チャンネルの閲覧」権限を外し、認証用のロールを作って、そのロールにだけ権限を付けてみてください。