Photon Cloud or Photon Server?
Photon Cloud is a fully managed software as a service (SaaS) solution. You can completely concentrate on your application client while hosting, server operations and scaling is all taken care of by Exit Games.
Photon Server is a On-Premises server application that you can run and host on machines of your choice. Fully customizable and the authoritative control gives you the freedom to configure and set up your own multiplayer game backend.
Photon Cloud is running on Photon Server.
|Photon Cloud||Photon Server|
|Server Administration||Zero server hassle anymore. Sit back and relax while our experts take care of running the servers.||
You gain full authority of running Photon for your applications.
You run your own servers or rent fitting ones and make sure they are available for your users.
Photon's logs and performance counters provide all necessary information on performance and stability.
The Photon Cloud scales automatically to accommodate all your users.
Using our SDKs your client application is built for an efficient load balancing workflow.
Our load balancing power-up is available in source code.
It is a solid foundation to scale across multiple servers.
Running the right number of servers for your customers is in your responsibility.
|Game logic||With Photon Realtime, Photon Voice, Photon Chat and PUN you get turnkey solutions for all multiplayer game types. Each of the client SDKs available for free download contains multiple samples in source to get you started really quick in using Photons APIs for synchronous and asynchronous games and applications.||The server's logic can be fully customized in C#. Several demo applications are available in source with the free server SDKs and provide a high performance off-the-shelf framework for your application. Benefit from our protocols and abstraction of low level functionality and add any feature you might be missing.|
|Start instantly||Photon Cloud lets you register and immediately run your application. No setup needed. No server needed.||Once downloaded, start your Photon Server in less than 5 minutes. Photon is very easy to set up and runs locally as well as remote.|
Choose between various subscriptions, matching your monthly active users count.
Whether you are an indie, startup or a AAA studio, you will find a matching plan. Photon Realtime has a free plan for up to 20 CCU.
Licenses are available as one-off purchases or subscriptions and provided as download.
Host any number of servers and applications using the enterprise licenses. Photon Server is available with a free license for up to 100 CCU.
|See Plans||See Plans|
|Photon Cloud||Photon Server|
Important Changes Since V18.104.22.16863
Photon Cloud constantly gets updated with fixes, enhancements or new features. Although we try to release new versions for Photon Server SDK to catch up with the Photon Cloud, the two cannot be in sync all the time.
Here, we list the important changes in Photon Cloud since the latest public release of the Photon Server SDK which is v22.214.171.12463. Besides, this list will give you the things that may break your game if you target both Photon Cloud and Photon Server environments at the same time or switch from one to the other. You may find workaround suggestions as well.
Missing Photon Cloud Features In V126.96.36.19963
- PlayerTTL and EmptyRoomTTL cannot be changed once the room is created. They were added as well-known room properties later.
- "Delete Null Properties" option is not available (
RoomOptions.DeleteNullProperties). Properties with null values will not be deleted on the server.
- "Broadcast Properties Change" option is not available (
RoomOptions.BroadcastPropsChangeToAll). The client who calls SetProperties will not receive PropertiesChange event unless CAS is used. CAS is a workaround to have a consistent behaviour between Photon Cloud and Photon Server.
- GetGameList operation (also called "GetCustomRoomList" or "GetRoomList", not to be confused with the GetGameList WebRPC or PUN Classic's GetRoomList) in SQL lobby is not available.
Known Issues In V188.8.131.5263
- The server does not return the UserId in case not set by client or auth provider. The value should be a GUID generated on the server. This may result in players not being able to join rooms with error code -2 (error message: "Join failed: UserId is not set, checkUserIdOnJoin=true expects a UserId."). As a workaround, client C# SDKs now send a GUID as UserId if it is not explicitly set by the user.
- Also, during authentication, in case the Nickname is not set by the auth provider, the server will return a null Nickname that will override any previously set value on the client. As a workaround, you could set a Nickname after being connected. This value will be used inside rooms and can be changed (and synchronized) later.
- The server does not support serialization protocol version 1.8. If you try to connect to the self-hosted Photon Server from a relatively new version of a client SDK which has 1.8 as default value the connection will fail. In C# SDKs, the client will get disconnected with
DisconnectByServerReasonUnknown. A solution is to set the version to 1.6 before connecting. Set
SerializationProtocol.GpBinaryV16. In PUN2, it should be
PhotonNetwork.NetworkingClient.LoadBalancingPeer.SerializationProtocolType. You don't need this in PUN2 unless you connect using a method other than
PhotonNetwork.ConnectUsingSettings()which does this implicitly for you.
- The server allows the same actor to be added to the same interest group multiple times which results in receiving the same event sent to that interest group by that actor multiple times.
- Ther server does not fully support quick rejoin feature (
ReconnectAndRejoin) as it does not implement session tokens.