App and Lobby Stats
Photon servers can broadcast application and lobby statistics to clients. You can make use of this data to enhance your client-driven matchmaking. You can also brag about these statistics in your game to show how popular it is. :]
Application Statistics
While connected to a Master Server, clients receive application statistics for the current region.
The applications statistics are available via the RealtimeClient / LoadBalancingClient:
Number of live rooms:
PhotonNetwork.CountOfRoomsNumber of players not joined to rooms:
PhotonNetwork.CountOfPlayersOnMasterNumber of players inside rooms:
PhotonNetwork.CountOfPlayersInRoomsTotal number of connected players:
PhotonNetwork.CountOfPlayers
An AppStats event is sent to clients every five seconds.
Lobby Statistics
Lobby statistics can be useful if a game uses multiple lobbies and you want to show the activity.
Per typed lobby (name + type) you can get information about:
- Number of live rooms
- Total number of players joined to the lobby or joined to the lobby's rooms
Lobby stats only include lobbies in the current Virtual App (App ID plus App Version) and region.
Automatically Get Lobby Statistics
Lobby statistics events are sent as soon as the client is authenticated to a master server. Then they are sent every minute. Lobby statistics events are disabled by default but can be enabled.
In PhotonServerSettings, check "Enable Lobby Stats" to get lobby statistics from the server.
If you want to do it from code before connecting:
PhotonNetwork.PhotonServerSettings.AppSettings.EnableLobbySatistics = true;
This works when you connect using PhotonNetwork.ConnectUsingSettings() as that's the only connect method that actually makes use of the ScriptableObject ServerSettings.
If you need to use another connect method, then you should use PhotonNetwork.NetworkingClient.EnableLobbyStatistics = true; before connecting.
Get the statistics from the ILobbyCallbacks.OnLobbyStatisticsUpdate callback which could be useful to update your UI.