MinecraftサーバーのYggdrasil認証エラーを解決する方法

日頃からMinecraftで自由な建築や冒険を楽しんでいると、突然サーバーに接続できなくなったときのショックは大きいものです。特に「Failed to request yggdrasil public key」「Cannot contact authentication server」といったエラーが表示されると、「何が原因なのか」「どう直せばいいのか」と頭を悩ませてしまいます。そこで本記事では、主にWindows環境でMinecraftサーバーがYggdrasil認証に接続できない問題について、具体的な対処法や考えられる原因を詳しく解説していきます。

Yggdrasil認証とは? 基本的な仕組みの理解

Minecraftのログインや認証には、Mojang(現:Microsoft)が提供しているYggdrasil認証システムが使われています。この仕組みによって正規ユーザーがサーバーにアクセスできるようになっていますが、何らかの理由で認証サーバーに接続できなくなると、ログインやマルチプレイが成立しなくなるのです。とりわけ「Failed to request yggdrasil public key」や「AuthenticationUnavailableException: Cannot contact authentication server」のメッセージが出る場合、クライアントと認証サーバー間の通信に不具合が起きていると考えられます。

認証エラーが起こる主な原因

MinecraftサーバーがYggdrasil認証に接続できない場合、以下のような原因が考えられます。

  1. ネットワーク障害やルーター設定の問題
  • 新しいルーターに交換した後であれば、ファイアウォール設定やNAT設定が適切に行われていない可能性があります。
  • ポート開放やフォワーディングが不十分で、Mojangの認証サーバーとの通信がブロックされるケースもよく見られます。
  1. PCやサーバー側のソフトウェア干渉
  • セキュリティソフトやWindowsのファイアウォールが通信を遮断している場合があります。
  • 常駐ソフトやサービスが通信ポートを占有していることも一因になり得ます。
  1. DNS関連のトラブル
  • DNSサーバーが上手く機能しておらず、認証サーバーを正しく名前解決できないことがあります。
  • DNSキャッシュが壊れている状態でフラッシュしても改善しないケースもあり、別のDNSサーバーを指定する必要がある場合もあります。
  1. システム日時の不一致
  • Windowsのシステム時間がずれていると、セキュリティ証明書や暗号化通信の期限チェックに引っかかることがあります。
  • 思わぬ形で認証エラーが生じるので、日時設定は意外と重要なポイントです。
  1. クライアントやサーバーのバージョン不整合
  • クライアントのMinecraftランチャーやサーバープログラムのバージョンが古い場合、最新の認証システムに対応しておらずエラーになることがあります。
  • Javaのバージョンが古すぎることで暗号化方式に不具合が出るケースもあります。

エラーメッセージの詳細ログを確認する

まずはMinecraftのクライアント側やサーバー側のログをじっくりと確認してみてください。
サーバー画面またはサーバーログには、タイムスタンプと共にエラーの詳細が表示されている場合があります。具体的には「com.mojang.authlib.exceptions.AuthenticationUnavailableException」などのメッセージを手掛かりに、どのタイミングで通信が失敗しているかを把握することが重要です。

Windowsをクリーンブートで起動して問題を切り分ける

クリーンブートの目的

Windows環境では、OS起動時に多くの常駐アプリケーションやサービスが同時に動き始めます。その中にMinecraftの通信をブロックしているソフトが混ざっている可能性があります。クリーンブートを行うと、不要なサービスやスタートアッププログラムを最小限に抑えた状態でWindowsを起動できるので、問題の切り分けがしやすくなります。

クリーンブートの実施手順(概略)

  1. 「msconfig」ツールを起動
  • Windowsキー + R →「msconfig」と入力 → [OK]
  1. 「サービス」タブから不要なサービスを無効化
  • 「Microsoftのサービスを隠す」にチェックを入れる → それ以外のサービスを無効化
  1. 「スタートアップ」タブでスタートアップ項目をオフ
  • [タスクマネージャーを開く]から該当項目を無効化
  1. 再起動して動作確認

以下は例としてPowerShellやコマンドプロンプトを活用して、サーバーにpingを打つ様子です。あくまでクリーンブート状態でMinecraftを起動し、Yggdrasil認証が成功するかを確認してください。

ping authserver.mojang.com
ping sessionserver.mojang.com

これらが正常に返ってくれば、ネットワーク自体は問題なく、クリーンブート状態でも認証に失敗するのであれば別の要因を探る必要があります。一方で、クリーンブート時に認証が成功するのであれば、常駐ソフトやサービスのどれかが原因となっている可能性が高いでしょう。

ルーターのセキュリティ設定・ファイアウォールを見直す

新しいルーターに交換後に起こるトラブル

ルーターは機種によってポート開放のやり方やファイアウォールの規則設定が異なります。特に最新の機種やセキュリティ重視の設定が最初から有効になっているルーターは、Minecraftサーバーのような外部通信が必要なアプリケーションを簡単にブロックしてしまうことがあります。

よく使用されるポートの確認と設定例

Minecraftでは通常、TCP/UDPの25565番ポートを使用します。以下は一般的なポート開放の設定例です。

種別ポート番号プロトコル方向目的
Minecraftサーバー25565TCP/UDPインバウンド外部からのアクセスを受けるため

ルーターの管理画面にアクセスし、NAT設定やPort Forwarding(ポートフォワーディング)などの画面から、上記のポートがサーバーをホスティングしているPCのローカルIPアドレスに転送されるように設定してください。また、新しいルーターはUPnP機能(Universal Plug and Play)を使って自動的にポートを開放してくれる場合もありますが、うまく動作しないケースがあるため手動設定の方が確実です。

ルーターのログを確認する

ルーターにはシステムログを表示する機能が備わっていることがあります。エラーや警告などがあれば問題解決の手掛かりになります。たとえば「Dropped inbound packet from~」「Blocked by firewall」などのメッセージがあれば、ルーター内部でブロックが発生している可能性が高いです。

DNS設定の再確認と代替DNSの利用

DNSが原因の場合の症状

DNSに問題があると、特定のサイトやサーバーにのみ接続できないという事例がしばしば起こります。Minecraftの認証サーバーに限った話ではなく、別のサービスでも名前解決できずアクセス不可になることも。

DNSを切り替える例(Google Public DNSを使用)

Windowsでネットワークアダプターを設定し、DNSサーバーをGoogle Public DNS(8.8.8.8 / 8.8.4.4など)に変更してみる方法があります。
手順:

  1. コントロールパネル > ネットワークとインターネット > ネットワークと共有センター
  2. 「アダプターの設定の変更」を開き、使用しているネットワークアダプターを右クリックして「プロパティ」を選択
  3. 「インターネット プロトコル バージョン4(TCP/IPv4)」を選択し「プロパティ」をクリック
  4. 「次のDNSサーバーのアドレスを使う」を選び、優先DNSサーバーに 8.8.8.8、代替DNSサーバーに 8.8.4.4 を入力
  5. 設定を保存して再度試す

上記の設定変更後、ipconfig /flushdnsコマンドでDNSキャッシュをクリアし、Minecraftを再度起動して認証が通るかをチェックします。

ipconfig /flushdns
ipconfig /registerdns

ネットワークドライバーやセキュリティソフトの干渉を確認する

デバイスマネージャーでドライバーをアップデート

ネットワークアダプターのドライバーが古いまたは不具合があると、パケットロスや通信不可など思わぬ事態を引き起こすことがあります。デバイスマネージャーから、ネットワークアダプターを選択してドライバー更新を行いましょう。

デバイスマネージャー操作例

  1. Windowsキー + X から「デバイス マネージャー」を開く
  2. 「ネットワーク アダプター」を展開し、使用中のアダプターを右クリック
  3. 「ドライバーの更新」を選択
  4. オンラインでドライバーを検索してみる

ドライバーの更新後は再起動を行い、Minecraft認証がスムーズに行われるか確認してください。

セキュリティソフトの例外設定

アンチウイルスソフトやアンチマルウェアソフトが、Minecraftの通信を「危険な通信」とみなしてブロックしているケースもあります。特にサーバー運用しているPCにはいくつかのセキュリティソフトが同時に入っていることもあり、競合の原因になりやすいです。

  • Minecraftの実行ファイル(javaw.exeなど)をセキュリティソフトの例外リストに追加する
  • 一時的にリアルタイムスキャンをオフにして挙動をチェックする

以上の対応で問題が解決するかを試しましょう。

システム時計・日時の確認

証明書エラーに直結する可能性

Yggdrasilのようにセキュリティ証明書を利用する通信では、PCの日時設定が実際と大きくずれていると認証エラーが発生しやすくなります。Windowsを長期間起動しっぱなしにしていたり、CMOSバッテリー切れで時計がリセットされていたりすると、時間や日付が狂うことがあります。

時刻同期の例:Windows Time サービスの利用

  1. Windowsキー + R →「services.msc」と入力
  2. 「Windows Time」サービスを探してダブルクリック
  3. スタートアップの種類を「自動」にし、サービスの状態を「開始」に変更
  4. コントロールパネル > 日付と時刻 > インターネット時刻のタブから「今すぐ更新」を実行

これでシステム時刻がNTPサーバーと同期され、正しい時間に調整されるようになります。

Minecraftサーバー設定やJavaバージョンのチェック

サーバープロパティ(server.properties)の見直し

Minecraftサーバーの設定ファイルであるserver.propertiesにおいて、ホスト名やIPの指定、オンラインモードの設定などが正しいかどうか再確認してみてください。

  • online-mode=true で認証を有効にしている場合、正規のMojang認証サーバーに接続できなければならない
  • server-ip= の項目が空欄でない場合、LAN内で固定IPを指定したりして競合が起きていないかチェック

Javaバージョンが古い場合のトラブル

MinecraftサーバーはJavaで動作しており、暗号化通信もJavaのライブラリを利用しています。Javaのバージョンが古いままだと、暗号化方式のサポート切れで認証サーバーとの通信に失敗する可能性があります。

  • java -version コマンドで現在のバージョンを確認
  • 最新のJava(Oracle版またはOpenJDKなど)をインストールして再試行

トラブルシューティングの具体例:コマンドとログ確認

Windowsファイアウォールの設定をコマンドで操作

GUIで確認しきれない場合は、コマンドプロンプト(管理者権限)やPowerShellを利用して直接ファイアウォールのルールを確認・追加・削除することができます。たとえばMinecraftサーバー用にポート25565の受信規則を追加するには以下のようなコマンドを使います。

netsh advfirewall firewall add rule name="MinecraftServer" `
dir=in action=allow protocol=TCP localport=25565
netsh advfirewall firewall add rule name="MinecraftServerUDP" `
dir=in action=allow protocol=UDP localport=25565

この操作をした後、ルールが正しく追加されたかは以下のコマンドで確認できます。

netsh advfirewall firewall show rule name="MinecraftServer"
netsh advfirewall firewall show rule name="MinecraftServerUDP"

もし設定に誤りがある場合はGUIで修正するか、同様のコマンドでルールを削除して再度設定してください。

サーバーのコンソールログを詳細にチェック

サーバーのコンソールには認証サーバーへのリクエストが失敗した際のスタックトレースが出力されていることがあります。特に「IOException」や「SocketTimeoutException」などのキーワードがあれば、ネットワーク周りのトラブルが疑われます。
また、サーバーの「debug.log」や「latest.log」などをテキストエディタで開き、該当エラーがいつ起こっているか時間軸を追うことで、問題発生のきっかけを見極めやすくなります。

まとめ:段階的なアプローチで解決を目指す

このように、MinecraftサーバーがYggdrasil認証に接続できない場合は多岐にわたる原因が考えられます。最も多いのはネットワーク設定やルーターのファイアウォールがブロックしているケースですが、PC上のセキュリティソフトや常駐アプリケーション、あるいはDNSの設定不備が引き金となることも珍しくありません。

  1. クリーンブートでOSレベルの問題を切り分ける
  2. ルーターやWindowsファイアウォールの設定を再確認する
  3. DNSサーバーを切り替えて通信経路を変えてみる
  4. ドライバーやセキュリティソフトの影響を排除する
  5. システム日時が正しく同期しているかをチェック
  6. Minecraftサーバー設定やJavaバージョンを最新かつ正しい状態に保つ

これらを一つずつ着実に確認していくことで、大半の認証エラーは解決するはずです。もしそれでも解消しない場合は、Minecraftフォーラムやコミュニティで同じ事象を検索し、機種固有の問題や特定のソフトウェアとの競合など、よりマニアックな事例に当てはまっていないかを調べてみましょう。

トラブル解決後の安定運用のポイント

  • ルーター設定のバックアップ
    新しいルーターに買い替える際、現状の設定をバックアップできる機能がある場合は活用しておくと良いでしょう。
  • 定期的なファームウェアアップデート
    ルーターやネットワーク機器に最新のファームウェアを適用することで、セキュリティや不具合対策が進む場合があります。
  • ネットワーク監視やログ収集の仕組み
    Minecraftに限らず、サーバー運用を続けるならエラー発生時にログを自動収集する仕組みを用意しておくとトラブルシュートが楽になります。
  • セキュリティソフトのルール設定
    Minecraftサーバーを安定稼働させるために、一度だけでなく定期的にセキュリティソフトのルール設定を見直すことも大切です。

以上を踏まえて、サーバー接続エラーを確実に解決して、Minecraftの世界を思いっきり楽しんでください。

コメント

コメントする