Skip to content

FAQ・トラブルシューティング

Windows でローカルサーバーに接続できない

Windows 10/11 版 Minecraft(UWP アプリ)にはループバック制限があり、ローカルホスト上のサーバーへ接続できません。PowerShell を 管理者として 起動し、次を実行して制限を解除してください。

powershell
CheckNetIsolation LoopbackExempt -a -n="Microsoft.MinecraftUWP_8wekyb3d8bbwe"

Preview / Beta 版を使っている場合はこちら:

powershell
CheckNetIsolation LoopbackExempt -a -n="Microsoft.MinecraftWindowsBeta"

それでも動かない場合は、システムにインストールされている Minecraft のパッケージ名を確認できます:

powershell
Get-AppxPackage -AllUsers | Where Name -Match ".*Minecraft.*" | Select Name,InstallLocation,PackageFullName

表示された PackageFullName を最初のコマンドの Microsoft.MinecraftUWP_8wekyb3d8bbwe の代わりに指定します。

ログイン中にキックされる

  • エラーが何も表示されない場合、エラーはデバッグログにだけ出ている可能性があります。スクリプトの先頭で process.env.DEBUG = 'minecraft-protocol' を設定して確認してください。
  • 一部のサーバーは authTitle(認証時に申告するゲームエディション)が正しくないとキックします。オンラインモードのサーバーでは authTitle の設定を検討してください。

サーバー側でクライアントが "jwt not active" でキックされる

システムの時刻がずれている のが原因です。時刻を同期(NTP での自動同期など)してください。JWT ベースの認証は時刻に敏感です。

Replit で動かない

Replit は接続に必要な 外向き UDP 通信 をサポートしていないため、bedrock-protocol からサーバーへ接続できません。代替として次のような環境があります。

接続できない・タイムアウトする

  1. host / port が正しいか(デフォルトポートは UDP 19132)確認する
  2. process.env.DEBUG = 'minecraft-protocol' を設定し、ping やハンドシェイクが出ているか観察する
  3. ファイアウォールやホスティング環境の UDP 通信許可を確認する
  4. サーバーのバージョンがライブラリの対応範囲内か確認する(version オプションで明示してみる)

パケット名やフィールドが分からない

プロトコルドキュメント でパケットごとのフィールド定義を参照できます。

  • イベント名 = パケット名から packet_ プレフィックスを除いて小文字化したもの
  • フィールドは 大文字小文字を区別 し、必須フィールドはすべて埋める必要がある
  • バージョンによってフィールド構成が変わるものがある(例: command_request の version / player_entity_id)

RakNet ネイティブモジュールのビルドエラー

デフォルトの raknet-native(C++)や raknet-node(Rust)はビルドツールが必要です。環境に無い場合は JS 実装に切り替えられます:

js
const client = bedrock.createClient({
  raknetBackend: 'jsp-raknet',
  // ...
})