マルチプレイ
概要
Multiplay は、専用サーバーのオーケストレーション を念頭に置いて構築されたUnityホスティングサービスソリューションです。サーバーの健康状態の追跡やダウンタイムなしの更新など、さらに多くの機能を提供します。
より詳細な情報は、Multiplayの公式サイトで確認することができます。
このページでは、Multiplayを使用してDedicated Serverをデプロイし、実行するために必要なPhoton Fusion SDKの設定について説明します。
外部リンク
- Multiplay - Get started: https://docs.unity.com/game-server-hosting/guides/get-started.html
- Multiplay - Integration Requirements: https://docs.unity.com/game-server-hosting/concepts/integration-requirements.html
- Fusion 専用サーバーサンプル
実行方法
FusionをDedicated ServerとしてMultiplay上で動作させるのは、起動時にピアが特定のポートにバインドされることだけが主な要件であり、実に簡単です。
Fusionのネットワークで重要なのは、上記のリンクにある動的なIPアドレス
と動的なポート番号
です。
Multiplay ホスト上で動作するピアは、IP 0.0.0.0
(extra info) と、コマンドライン引数または設定ファイルから渡される port にバインドすることが必要です。
詳しくは Launch parameters のページを参照してください。
グローバルクラウドホスティングサービス上で専用サーバーを実行する際のもう一つの重要な点は、サーバーが実行される地理的な場所です。Fusionサーバーは、Photon Cloudのリージョンに接続する必要があるため、サーバーに最適なリージョンを選択する必要があります。下記のRegion Reference Mappingを確認してください。
port と region の値が実行ファイルに渡されると、以下のようにFusionを起動することができます。
C#
private Task<StartGameResult> StartSimulation(
NetworkRunner runner,
string SessionName,
ushort port,
string customRegion,
) {
// Build Custom Photon Config
var photonSettings = PhotonAppSettings.Instance.AppSettings.GetCopy();
if (string.IsNullOrEmpty(customRegion) == false) {
photonSettings.FixedRegion = customRegion.ToLower();
}
// Start Runner
return runner.StartGame(new StartGameArgs() {
SessionName = SessionName, // Custom Session Name
GameMode = GameMode.Server, // Game mode always set to Server
Address = NetAddress.Any(port), // EndPoint to bind: 0.0.0.0:port
CustomPhotonAppSettings = photonSettings, // Custom Photon App Settings
// other arguments
});
}
追加情報
リージョン参照マッピング
マルチプレイリージョン | Photon リージョン |
---|---|
US West | US |
US East | US |
US Central | US |
Europe | EU |
Russia | EU |
North East Asia (Japan/Korea) | JP |
South East Asia (Singapore) | ASIA |
Australia / Oceania | ASIA |
India | ASIA |
South America | SA |
China | CN |