server | v4 switch to v3  

Photon Server イントロ

Photonは高速で非常に使いやすいオンプレミス型のリアルタイムソケットサーバークロスプラットフォーム・マルチプレイヤーゲーム開発フレームワークです。

Photon ServerのマルチプレイヤーーAPIを使って、共有されたゲームセッションにプレイヤーを参加させ、異なるプラットフォーム間でプレイヤー同士がデータやメッセージ転送を同期的またはリアルタイムでおこなえるようにしましょう。

自分だけのマルチプレイヤーゲームバックエンド!

Photon CloudはクライアントSDKを使用する、幅広いゲームタイプに対応しています。対応可能なゲームタイプの例は以下のとおりです:

  • ファーストパーソン・シューティングゲーム
  • レーシングゲーム
  • マインクラフトタイプのゲーム
  • カジュアルなリアルタイムゲーム
  • 同期型/非同期型ゲーム
  • ...

Photon Serverアプリケーションによって、マルチプレイヤーゲームバックエンドを構築して実行するためのフレームワークを取得できます。すべてのアプリケーションはC#のソースコードで提供されます。 アプリはパフォーマンス重視で構築されており、必要に応じてカスタマイズをおこなったり、もしくはそのまま使うこともできます。 xcopy deployの自動または手動再起動により、Deployの利便性は非常に高まっています。

Photons Server SDK(https://www.photonengine.com/ja-jp/sdks#serverserver)とともに利用できるアプリケーションは以下のとおりです:

  • LoadBalancing:サーバー間で負荷が分散されます。これによって、Photon Cloudが強化されます!
  • MMO:多数のプレイヤーが参加する大規模ゲームに最適なソリューションです。
  • Lite: これは、多くのPhotonの基本概念(オペレーション、イベントなど)への導入としてのみ使用するべきです。

今すぐアカウントを作成する
サインアップ後、無料の100CCUライセンスをダウンロードできます。

Photon Serverの内部

Photon Serverのアーキテクチャ

Photon High Level Architecture
Photonの高レベルアーキテクチャ

Photon Coreパフォーマンス上の理由から、ネイティブC++で記述されています。

  • コアは、ソケット処理のパフォーマンスを高めるためIO Completions Ports (IOCP)を使用しています。
  • プロトコルの高度な「リフティング」を実装しています。
  • 信頼性の高いUDP、TCP、HTTPおよびWeソケットをサポートします。

ビジネスロジックは、コアによってホスティングされる.NET CLRで実行されます。

  • Photon上で実行されるアプリーションを含みます。
  • C#、またはその他の.NET言語で記述されます。

プロトコル

Photon Serverのコアは、以下のプロトコルをサポートしています。

  • 信頼性の高いUDP(eNETにもとづく)で、クライアントサーバー構造に適しています。
  • バイナリTCP
  • Webソケット
  • HTTP

転送プロトコルは非常に効率が高いです。 Photonは各クライアントプラットフォームのネットワーキングレイヤーをまとめてくれます。 ゲームクライアントにクロスプラットフォーム間、プロトコル間での通信手段を与えましょう。 データをハッシュテーブルに入れて送信するだけです。 Photonがシリアル化/非シリアル化をおこなってくれるので、あなたがおこなう必要はありません。

サーバー開発フレームワーク(C#)

すべてのアプリケーションは、共通のタスクを処理してくれる開発フレームワーク上にあります。

  • RPCコールは簡潔で柔軟性が高く、オペレーションインスタンスにマッピングされています。
  • スレッディングの問題は、ファイバー経由のメッセージ通過によって解決されます。
  • Photonは、CPUがボトルネックになる前にトラフィックを充填するよう設計されています。

サーバー開発ツール

完全にVisual Studioで稼動していますので、コードからF5 >>デバッグをおこなえます。 .NET Developmentのすぐれたツールを存分に活用してください。

データ持続性(DB)

Photon Serverは持続性レイヤーを提供しません。

.NET/Windowsはすべての主要な製品をサポートします。 - SQL: MySQL、PostgreSQL、MS SQL Server、SQLite...
- NoSQL: MongoDB, Redis, MemCached, ...

ORM(マッピング)レイヤーのオプション利用には、たとえば以下を使用してください

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