初期設定と接続

Photon Unity Networking (PUN)は簡単にセットアップできます。  新しいプロジェクトにPUNをインポートすると、PUNウィザードのポップアップが開きます。また、メニューにも「Window」「Photon Unity Networking」と表示されるようになります。

PUN Wizard
PUN ウィザード

Photon Cloudの新規(無償)アカウントの登録は、メールアドレスを入力するか、ダッシュボードの既存のAppIdDashboardをコピーアンドペーストするだけでおこなえます。

自分でPhotonサーバーをホスティングする場合は、"skip"をクリックして 下記のようにPhotonServerSettingsを編集します。

接続するには、コード内でPhotonNetwork.ConnectUsingSettings() を呼び出すだけです。

さらに操作が必要な場合はページ下部の "手動接続"を参照してください。

PhotonServer設定

ウィザードがプロジェクトへコンフィグレーションを格納するためPhotonServerSettingsファイルを追加します。 このファイルは、基本的にはConnectUsingSettingsに使用されます。PhotonCloudまたは独自のホスティングサーバーへの接続とその他のよくある変更を設定できます。

PhotonServerSettings in Inspector
インスペクター内のPhotonServerSettings

AppId、Photon Cloud Region、Game Versionやその他の設定ができます。デフォルト設定でほとんどの場合は問題ありません。

Back To Top

設定値

AppId Realtime、Chat および Voice

AppIdはPhoton Cloudで各タイトルを識別するため使用されています。PUNはRealtime AppIDを使って接続します。 Photon ChatとPhoton Voiceでも同様で、機能を使うためにはそれぞれのAppIdが必要です。

Appバージョン

PUNでは、AppバージョンはGame Versionの一部です。異なるゲームバージョンの値を持つクライアントは隔離されます。

ネームサーバーの使用

旧Photonサーバーのインスタンスに接続すると、クライアントはネームサーバーではなくマスターサーバーにダイレクトに接続されます。自分でPhotonを設定する際には、下記を参照のうえここだけチェックを外してください。

リージョンの固定

クラウドに接続すると、PUNがベストリージョンを選択します。特定のリージョンに接続を希望する場合は、リージョンコードを入力すると、Best Region Selectionがオフになります。

サーバー

このオプションは、特に独自のPhotonサーバーのホスティングの際に関わってきます。実行するにはPhoton Server SDKを取得してください。 Use Name Server のボックスのチェックを外しクライアントをマスターサーバーにダイレクトに接続させます。

入力したアドレスにクライアントが到達していることを確認してください。クライアントが使用しているアドレスはパブリックかスタティックIP、ホストネームなど様々な可能性があります。

iOS向けゲーム開発をする場合 "PUN and IPv6" と "how to setup Photon Server for IPv6"を参照してください。設定がきちんとされていれば、プログラム内でPhotonNetwork.ConnectUsingSettings()を呼び出せます。

ポートとプロトコル

Photonは、一度のセッションの間に複数のサーバーの使用を可能にするため構築されました。ここで入力されたポートは最初に接続するサーバーの一つで、マスターサーバーかネームサーバーです。ポートはまた、選択したプロトコルにも影響されます。

Photon Cloudに接続すると、値は0になります。Photonが使用するstandard portsを検索します。

プロトコルのデフォルトは(信頼性のある)UDPですが、PhotonはTCPおよびWebSocketをサポートしています。PUNのクライアントは自動的にWebGLエキスポートにおいてSecure WebSocketsを使用することになります。

UDPの使用をお勧めします。

ロビー統計の有効化

ロビー統計をサーバーから取得するにはここにチェックを入れます。詳細は"App And Lobby Stats"のページを参照してください。

ネットワークロギング

下層レベルのPhotonプログラムのロギングを制御します。必要でない限り、Error設定に従ってください。

サポートロガーの有効化

接続中、マッチメイキング中もしくはルームの中でに起きたことをトラッキングするのに非常に有効です。ここにチェックが入っていると、スクリプトがコールバックに登録され重要な情報がログされ、ゲームのデバッグに役立ちます。

バックグラウンドでの実行

Unity設定を同じ名前でセッティングします。詳細はこちら

RPCのリスト

"Remote Procedure Calls"でルームの中の他のクライアントでのメソッド呼び出しができるようになります。PUNにはPhotonServerSettingsのメソッドのリストがあり、各名称のインデックスをRPCを呼び出す際の略称として使用できます。

Remote Procedure Callsをご確認ください。

Back To Top

セルフホスティングしたPhotonの設定

Photon Server SDKにはこのサービスがないので"Use Name Server"のチェックを外します。リージョンの固定もクリアにします。"Server"を自身のPhotonサーバーのIPアドレスもしくはホストネームに設定します。クライアントから届くネットワーク内であるようにしてください。クライアントが同一マシンのスタンドアロンビルドである場合は、"localhost" や 127.0.0.1の使用も大丈夫です。ポートに 5055 と入力してください。

Back To Top

手動接続

PhotonNetwork.ConnectUsingSettings()の代わりにPhotonNetwork.ConnectToMaster()を使用して独自のPhotonサーバーに接続できます。Photonをオンプレミスでホスティングする際には便利な機能です。

ConnectToMaster()には、masterServerAddressおよびportを提供する必要があります。アドレスは自身のDNSかIPアドレスになります。コロンの後にポートを含む(ポートとして0をパスします)か、もしくは別でポートをパスします。

ConnectToMaster()にはあと2つのパラメータがあります。それは、"appID"と"gameVersion"です。両方ともPhoton Cloudにのみ関係があり、Photonをセルフホスティングした際にはどんな値でも設定できます。

Photon Cloudの場合はConnectUsingSettings()を使用してください。 弊社のネームサーバーを巻き込んで自動的にリージョンのマスターサーバーを検索します。

ドキュメントのトップへ戻る