Photon CloudまたはPhoton Server?
Photon Cloud
Photon CloudはSaaS型(Software as a Service)のサービスで、完全に管理されています。
ホスティングやサーバーオペレーション、拡張はすべてExit Gamesが管理しているので、お客様はアプリケーションクライアントに集中することができます。
Photon Server
はオンプレミスのサーバーアプリケーションで、お客様が選択したマシンにホスティングして実行できます。
すべてカスタマイズできて権限管理も可能なため、独自のマルチプレイヤーゲームのバックエンドを自由に構築できます。
Photon CloudはPhoton Server上で稼動しています。
比較
Photon Cloud | Photon Server | |
---|---|---|
サーバー管理 | もうサーバー管理の煩わしさはありません。 あなたに代わって、弊社のエキスパートがサーバー管理をおこないます。ご安心ください。 |
アプリケーションでPhotonを実行するための、すべての権限を管理できます。 自社サーバーまたは適切なレンタルサーバーを稼動し、ユーザーが利用できるようにしましょう。 Photonのログとパフォーマンスカウンターを参照すれば、パフォーマンスや安定性についてのすべての情報を得られます。 |
拡張性 |
Photon Cloudはすべてのユーザーが接続できるよう、自動的に拡張します。 弊社のSDKを使用すると、クライアントアプリケーションはロードバランシングを効率化するよう構築されます。 |
Photon Serverの強力なロードバランシング機能は、ソースコードで利用できます。
この機能は複数のサーバーへ拡張するうえで強固な基盤となります。 エンドユーザー向けに稼動すべき、適切なサーバー台数を設定してください。 |
ゲームロジック | Photon Realtime、 Photon Voice、 Photon Chat および PUN はすべてのマルチプレイヤーゲームタイプに対応した、すぐに利用できるソリューションを提供します。 非同期ゲームやアプリケーション用にPhoton APIをすぐに使えるよう、無料ダウンロードが可能な各クライアントSDK には複数のソースサンプルが含まれています。 | サーバーのロジックはC#で完全にカスタマイズできます。 無料サーバー SDKでは、複数のデモアプリケーションをソースとともに入手可能で、すぐに利用できる高パフォーマンスなフレームワークがアプリケーション向けに提供されます。 弊社のプロトコルと、使いやすい機能を活用して、足りない機能を追加しましょう。 |
今すぐはじめよう | Photon Cloudは登録後、すぐにアプリケーションを 実行することができます。 設定やサーバーは不要です。 | Photon Serverはダウンロード後、5分以内に使い始められます。 Photonは非常に簡単に設定でき、ローカルとリモートのどちらでも作動します。 |
ライセンシング |
MAU(月間アクティブユーザー)数に合わせて、適切なプランを選びましょう。 インディー、プロスタジオを問わず、最適なプランが用意されています。 Photon Realtimeでは20CCUまで利用できる無料プランが提供されます。 |
ライセンスは買い切り、もしくは月額制で、ダウンロード形式で提供されます。 Photon Server Enterpriseライセンスを使えば、サーバーとアプリケーションを無制限にホスティングすることが可能です。 Photon Serverでは、100CCUまで利用できる無料ライセンスが提供されます。 |
プランを見る | プランを見る |
v4.0.29.11263からの重要な変更
Photon Cloudは常に修正や拡張、新機能を含むアップデートを行っています。
Photon Server SDKの新バージョンリリースについてもPhoton Cloudについていくように尽力していますが、Photon Server SDKとPhoton Cloudは常に同期しているわけではありません。
最新のPhoton Server SDKパブリックリリース、v4.0.29.11263からPhoton Cloudで行われた重要な変更を一覧にしました。
この一覧では、Photon Cloud環境とPhoton Server環境を同時にターゲットにしている場合、またどちらかからどちらかへ切り替える場合にゲームを壊しかねない事象についても列挙しています。回避策も参照いただけます。
v4.0.29.11263にないPhoton Cloudの機能
- PlayerTTLとEmptyRoomTTLはルームの作成後は変更できません。後からウェルノウンルームプロパティとして追加されます。
- 「Nullプロパティを削除する(Delete Null Properties)」 オプションは使用できません(
RoomOptions.DeleteNullProperties
)。Null値を含むプロパティはサーバー上で削除されません。 - 「プロパティの変更を送信する(Broadcast Properties Change)」オプションは使用できません(
RoomOptions.BroadcastPropsChangeToAll
)。SetPropertiesを呼び出すクライアントは、CASを使用しない限りPropertiesChangeイベントを受信しません。 CASはPhotonServerとPhotonCloud間の動作を安定させるための対策です - SQLロビーのGetGameList操作(または"GetCustomRoomList"、"GetRoomList"。{% if Server %}GetGameList WebRPC やPUNの従来のGetRoomListと混同しないようご注意ください)は利用できません。
v4.0.29.11263での既知の問題
- クライアントまたは認証プロバイダから設定されない場合は、サーバーはUserIDを返しません。値はサーバ上で生成されたGUIDにします。これにより、プレイヤーがエラーコード-2(エラーメッセージ:「参加に失敗」:UserIdが設定されていません。checkUserIdOnJoin=trueがUserIdを予期しています。)でルームに参加できない恐れがあります。対策として、ユーザーがUserIDを設定していない場合、クライアントC# SDKがGUIDをUserIDとして送信するようになりました。
- また、認証中に、認証プロバイダーによってニックネームが設定されていない場合、サーバーは、クライアントに以前に設定された値をオーバーライドするnullのニックネームを返します。 回避策として、接続後にニックネームを設定できます。
この値はルーム内で使用され、後で変更(および同期)できます。 - サーバーはシリアル化プロトコルバージョン1.8をサポートしていません。クライアントSDKの比較的新しい、1.8をデフォルト値として持つバージョンからセルフホスティングを行ったPhotonServerへ接続を試みる場合、接続は失敗します。C# SDKでは、クライアントが
DisconnectByServerReasonUnknown
で切断されます。解決策は、接続前にバージョンを1.6に設定することです。loadBalancingClient.LoadBalancingPeer.SerializationProtocolType
をSerializationProtocol.GpBinaryV16
に設定してください。PUN2では、PhotonNetwork.NetworkingClient.LoadBalancingPeer.SerializationProtocolType
とします。 裏でこれを行ってくれるPhotonNetwork.ConnectUsingSettings()
以外のメソッドを使用しない限り、PUN2では必要ありません。 - サーバーは同じアクターが同じインタレストグループに複数回追加され、当アクターにより複数回同じイベントがそのインタレストグループに送信されることを許可します。
- サーバーはセッショントークンを実装していないため、クイック再参加機能(
ReconnectAndRejoin
)に完全には対応していません。
{% endif %}
Back to top