Channel Identifiers For Large Scale Games
Use channel identifiers for large-scale game servers with Vivox.
読み終わるまでの所要時間 1 分最終更新 8ヶ月前
以下のいずれかに当てはまる場合は、チャンネル識別子を構成するときにご注意ください。
- アプリケーションの PCU (ピーク時同時接続ユーザー数) が 100,000 を超えると予想される
- マルチチャンネル機能の使用を想定している
大規模なゲームは、Vivox Operations の裁量により、複数の物理オーディオサーバー ("シャード") に分割できます。以下の形式を使用してチャンネル識別子を構成してください。
shard-group
例えば、ユーザーを地理的地域 ("北米" の場合は "NA") で割り当てる "Queen of the Death" (QotD) というアプリケーションについて考えてみましょう。さらに、QotD では試合のすべての参加者用に 3D チャンネルに参加し、その後スクワッドのメンバー用に 2D チャンネルに参加するとします。このケースでの QotD にとってのベストプラクティスは、以下の基準を適用することです。
- ハッシュを使用してマッチを識別する
- チャンネル識別子の "シャード" 部分に、地域とマッチの識別子を加える
- チャンネル識別子の "シャード" 部分の後に 3D とスクワッドの識別子を加える
そのマッチに割り当てられているマッチ識別子は で、3D 空間は です。さらに、スクワッドには 1 を始めとする整数値の ID が割り当てられており、Channel3DProperties はすでに変数 に設定されていると仮定します。
d0634bad1ca5a9cdtundraNewChannelProps-
ポジショナルチャンネルstring shard = "NA";string matchId = "d0634bad1ca5a9cd";string positionalSpaceId = "tundra";Channel3DProperties NewChannelProps = new Channel3DProperties(/* Add your own custom positional channel proprties here */);await VivoxService.Instance.JoinPositionalChannelAsync($"{shard}.{matchId}-{positionalSpaceId}", ChatCapability.AudioOnly, NewChannelProps);
-
スクワッド 1 のグループチャンネルstring shard = "NA";string matchId = "d0634bad1ca5a9cd";int squadId = 1;await VivoxService.Instance.JoinGroupChannelAsync($"{shard}.{matchId}-{squadId}", ChatCapability.AudioOnly);
-
スクワッド 2 のグループチャンネルstring shard = "NA";string matchId = "d0634bad1ca5a9cd";int squadId = 2;await VivoxService.Instance.JoinGroupChannelAsync($"{shard}.{matchId}-{squadId}", ChatCapability.AudioOnly);