Troubleshooting
Resolve common Matchmaker issues and find solutions to error messages.
読み終わるまでの所要時間 3 分最終更新 25日前
よくある問題
以下に示すのは、Matchmaker に関する一般的な問題と、それぞれの解決策を列挙しています。追加のサポートが必要な場合は、テクニカルサポートチーム までお問い合わせください。チケットのステータスをポーリングする際に、"Max Capacity Reached" (最大容量に達しました) というエラーが返される。
これは Multiplay Hosting から返される一般的なエラーです。これは、Multiplay Hosting フリートのスケーリング設定が原因で発生します。フリート内の使用可能なサーバー数の最大値を増やしてから再試行してください。 また、DGS が適切に終了され、割り当て解除されるようになっていることを確認してください。場合によっては、Unity Cloud ダッシュボードを使用してサーバーを手動で停止したときに、サーバーが正しく割り当て解除されないことがあります。チケットのステータスをポーリングする際に、割り当てのタイムアウトが返されるが、サーバーがまだ Multiplay Hosting に割り当てられている。
これは、プールやキューに設定したタイムアウトが 2 分未満の場合に発生する可能性があります。タイムアウトを増やしてから再試行してください。チケットのステータスをポーリングする際に、毎回割り当てのタイムアウトが発生する。
これは、開発中のテストを低トラフィックで行っている場合に発生する可能性があります。このシナリオの一般的な原因としては、プール内のルールの制約が厳しすぎることや、チケットが異なる属性で作成されていて、異なるプールがターゲットになっていることが考えられます。チケットのステータスをポーリングする際に、チケットが設定に対して互換性がないというエラーが返される。
このエラーは通常、Matchmaker がこのチケットに対する適切なマッチを見つけられなかったことを意味します。これには、このチケットを専用の空のマッチに割り当てようとしたが、うまくいかなかったというケースも含まれます。 このエラーが発生するその他の一般的な原因としては、以下のものが考えられます。- ルールで特定のデータ型が想定されているが、チケットでは異なるデータ型が使用されている。例えば、等値ルールでは数値 40 と一致することが想定されているが、見つかった文字列は "40" であった場合。
- チケット内のプレイヤー数が、設定されたチームの最大プレイヤー数を超えている。
- 定義されたルールのうち、少なくとも 1 つがこのチケットに対して適合しなかった (緩和を考慮し、このチケットを専用のマッチに割り当てようとした後でも適合しなかった)。
HTTP API を介してバックフィルチケットを作成しようとすると、"The supplied value is invalid for Properties" (指定された値はプロパティに対して無効です) というエラーが返される。
プロパティの Data フィールドがパディングなしで base64 でエンコードされている場合には、以下のエラーが発生します。 例えば、GO では、base64.RawURLEncoding.EncodeToStringbase64.RawStdEncoding.EncodeToString"Unexpected end when deserializing object. Path '', line 8, position 1.","The supplied value is invalid for Properties."
バックフィルを有効にしているが、サーバーがフルにならず、新しいサーバーが割り当てられ続ける。
バックフィルが有効になっている場合、Matchmaker は、最小プレイヤー数に達したが最大プレイヤー数には達していないマッチごとに、バックフィルチケットを作成します。バックフィルチケットが Matchmaker 内でアクティブな状態を維持するためには、DGS によってバックフィルチケットが定期的に承認される必要があります。サーバーが起動した後、割り当てから 20 秒以内にバックフィルチケットが承認されるようにしてください。ローカルでテストを行おうとしているが、レート制限の問題が発生する。
Matchmaker のレート制限はプレイヤー ID ごとに適用されるため、単一のマシンで 2 つのクライアントを実行すると、通常は、Unity Authentication サービスを使用する際に同じプレイヤー ID になります。 この問題への対処方法は 2 つあります。- プロジェクトをビルドした後、スタンドアロンのクライアントを 1 つ実行し、もう 1 つを Unity エディターで実行します。スタンドアロンのクライアントでは、エディターのクライアントと異なるプレイヤー ID が使用されることになります。
- ParrelSync を使用し、異なるプレイヤー認証プロファイルを使用します。
Matchmaker が初期段階で最初のチケットを処理するときに、マッチ時間が長くなる。
Matchmaker がチケットを受け取ってから 36 時間を超える時間が経過した場合、最初の新規チケットを処理するために必要な時間がわずかに長くなる可能性があります。しかし、その最初のチケットがマッチした後で、マッチ時間は通常レベルに戻るはずです。 ゲームが開発中で、Matchmaker の通常のトラフィックが少ない場合、テストを実施する前に Matchmaker プールを事前準備することをお勧めします。そうすることで、Matchmaker でゲーム中にシームレスにマッチを作成するために必要な専用のリソースを作成する時間的余裕が得られます。マッチとチームが期待どおりに埋まらない。
Matchmaker はまず、マッチメイキングの設定に必要な最小プレイヤー数に達するまでマッチとチームを埋めようとします。その後、最大プレイヤー数に達するまで、チームにさらにプレイヤーを追加しようとします。 Matchmaker は、チケットのすべてのプレイヤーをマッチの 1 つ目のチームに追加した後、互換性のある別のチケットのすべてのプレイヤーを 2 つ目のチームに追加し、最小プレイヤー数に達するまでそれを続けていきます。その後、Matchmaker はチームのバランスを維持するために、マッチが満員になるかプレイヤー数が緩和されるまでチケットを追加し続けます。エラーメッセージのリファレンス
カテゴリ | エラーメッセージ | 説明 |
|---|---|---|
| チケット | Max capacity reached (最大容量に達しました) | これは Multiplay Hosting から返される一般的なエラーです。Multiplay Hosting フリートのスケーリング設定が原因で発生します。フリート内の使用可能なサーバー数の最大値を増やしてから再試行してください。また、DGS が安全に終了され、適切に割り当て解除されるようになっていることを確認してください。場合によっては、Unity Cloud ダッシュボードを使用してサーバーを手動で停止したときに、サーバーが適切に割り当て解除されないことがあります。 |
| チケット /Ticket | Ticket incompatible with config (チケットが設定に対して互換性がありません) | このエラーは、通常、Matchmaker がチケットに対して適切なマッチを見つけることができない場合に発生します (このチケットを専用の空のマッチに割り当てようとした後でもうまくいかなかった場合)。 |
| チケット /Ticket | The ticket is not compatible with the match definition (チケットがマッチ定義に対して互換性がありません) | このエラーは、提供されたチケットが、そのチケットの割り当て先となるプールで定義されたルールに適合しない場合に発生します。原因としては、チケット内のプレイヤー数が単一のチームのプレイヤー数よりも多いことや、緩和のない等値ルールに適合しないことなどが考えられます。 |
| チケット | Queue {QUEUE_NAME} does not exist in config with upid {UPID} and env {ENV_ID} (キュー {QUEUE_NAME} は、upid {UPID} および env {ENV_ID} の設定に存在しません) | このエラーは、作成されたチケットがプロジェクト内に存在しないキューをターゲットにしている場合に発生します。キュー名を確認してください。 |
| チケット | Errors: “attributes”: [“{ERROR DETAILS}”] (エラー: “属性”: [“{ERROR DETAILS}”]) | このエラーメッセージには、Matchmaker が属性をデコードしようとした際の失敗の詳細が表示されます。属性が正しいことを確認してください。 |
| チケット | Errors: “players”: [“{ERROR DETAILS}”] (エラー: “プレイヤー”: [“{ERROR DETAILS}”]) | このエラーメッセージには、Matchmaker がプレイヤーをデコードしようとした際の失敗の詳細が表示されます。プレイヤーが正しいことを確認してください。 |