GDLauncher logo

オフラインモード

ここで「オフライン」が意味するもの

GDLauncher のオフライン挙動は、3 つの異なるネットワーク需要によって変わります:

  1. Microsoft 認証 (Minecraft 所有を Mojang サーバーに証明)。
  2. Mod / アセットダウンロード (CurseForge、Modrinth、Mojang ライブラリ CDN)。
  3. GDL アカウント機能 (インスタンス共有、プロフィール、表示名履歴など)。

各々がオフラインで違う失敗の仕方をし、ランチャーの動作も対応して違います。

インストール済みインスタンスをオフラインで起動

最も一般的なシナリオ: 飛行機の中、山小屋、自宅のネットが落ちている、すでにインストール済みのものを遊びたい。

たいてい動きます、GDLauncher が起動に必要なデータをキャッシュしているため:

  • Mojang の認証トークンは有効期限付きでローカル保存。
  • Minecraft のライブラリとアセットはすでにディスク上 (runtime path)。
  • Mod 入りインスタンスは Mod もローカルにインストール済み。

オフラインで Play を押すと、ランチャーは:

  1. アクティブな Microsoft アカウントの Minecraft 認証トークンがまだ有効か (期限切れでないか) をチェック。
  2. 有効ならそのトークンで Minecraft を直接起動。Minecraft 自身はシングルプレイヤーワールドの起動にネットを必要としません。
  3. アクセストークンは期限切れだがリフレッシュトークンは有効な場合、ランチャーは Microsoft のリフレッシュエンドポイント (オンライン必要) を呼ぼうとします。オフラインだとこの呼び出しが失敗し、Settings → Accounts でそのアカウントのステータスが “expired” になります。
  4. アカウントが期限切れで Play を押すと、ランチャーは Account Expired モーダルを出します。ボタンは 2 つ: Launch anyway (キャッシュされたトークンで起動。シングルプレイヤーには十分)、Back to login (Microsoft サインインフローへ。インターネット必要)。

つまりシングルプレイヤーなら「Launch anyway」が最後のオンラインから何日経っていても動きます。Minecraft 起動後はトークンの検証が行われないためです。Mojang 経由でアイデンティティ検証を行うマルチプレイヤーサーバーには期限切れでないトークンが必要で、つまり最近オンラインでリフレッシュしている必要があります。

トークンが期限切れになる理由

これは Microsoft と Mojang の認証サーバーで設定されているもので、GDLauncher の選択ではありません。認証チェーンはランチャーに関係する 2 つのトークンを生成します:

  • Microsoft OAuth アクセストークン (約 1 時間)。ランチャーが Microsoft / Xbox / Mojang の認証 API と通信するために使います。短命ですがオンラインなら自動的にリフレッシュトークンで更新されるので、ほとんど意識しません。
  • Minecraft 認証トークン (約 24 時間)。起動時に Minecraft に渡されるので、これがオフラインプレイを左右します。オンライン中、ランチャーは期限の約 12 時間前にプロアクティブにリフレッシュします。

Microsoft のリフレッシュトークンは数か月持ちますが、パスワード変更、新セキュリティ機能の有効化、Microsoft Web からのサインアウトなどでサーバー側で無効化されることがあります。オフライン中にリフレッシュトークンが無効化されると、オンラインに戻って再認証するまでランチャーには何もできません。

マルチプレイヤーサーバーにオフラインで参加

動きません。マルチプレイヤーサーバーは Mojang のセッションサーバーに対してアイデンティティを検証し、それは両側でインターネットを必要とするため。LAN マルチプレイヤーは、両マシンが最近オンラインで認証していれば同じオフライン LAN 内で動作する可能性があります。

新規インスタンス / Mod / Modpack をオフラインで入れる

動きません。すべてのインストールフローが CDN からダウンロードします:

  • Modpack はマニフェストを取得し、その後個別の Mod ファイルを取得。
  • Addons タブから Mod を追加すると JAR がダウンロード。
  • 持っていない Minecraft バージョン向けのカスタムインスタンスを作成すると、そのバージョンの JSON マニフェスト、バージョン JAR、アセット、Mod ローダーインストーラーをダウンロード。

すべてオフラインでは timeout や DNS エラーで失敗します。ランチャーは無限に再試行せず、インスタンス作成モーダルや Tasks パネルに失敗が表示されます。

オフラインの場所に行くなら、出発前にプレイ予定のインスタンスを事前インストールしておきましょう。

GDL アカウント機能のオフライン

ほとんど動きません。GDL アカウント機能は本質的に「GDL バックエンドと通信すること」だから。具体的には:

  • インスタンス共有 (コード生成): 失敗、GDL サービスに到達できない。
  • 共有インスタンスのインポート: 同じ理由で失敗。
  • GDL プロフィールの編集: 失敗。
  • 共有リストの表示: キャッシュ状態を表示、リフレッシュ不可。

ランチャーはオフライン中も GDL にサインインしている状態を記憶しますが、UI には古いデータが表示され、ネット呼び出しを要するアクションは拒否されます。

まとめ

  • インストール済みインスタンス、フレッシュなトークン: オフライン起動可。
  • インストール済みインスタンス、トークン期限切れ: ランチャーがプロンプト表示、シングルプレイヤーなら「Launch anyway」を選択。
  • 期限切れトークンでマルチプレイヤー: リフレッシュのため Microsoft に到達できるまでブロック。
  • ダウンロードを要するもの: ブロック。
  • GDL バックエンドとの通信を要するもの: ブロック。
  • シングルプレイヤーワールド: インスタンスがディスク上にある限り 100% オフライン可。