Re: What happens if we reach the message limit?
Going beyond the 500 messages per room per second has no direct relation with disconnects.
It's a soft limit so by default nothing happens when you exceed it.
Read about disconnects
, maybe you ran into a situation where you overflow the server's peer buffer so the server disconnected the peer.
Re: Total CCU Calculation
This would be 1400 CCU, by adding up the peak for each region. You would need a plan that is higher than your peak CCU.
Re: What does 'Controller Predicted Movement' on bolt entity component do exactly?
I believe "Controller Predicted Movement" is an old option that no longer does anything, but will look into it more. If you take a look at the sample pack, you'll see an example of an authoritative rigidbody player without prediction.
Re: Multiple Unity Projects - Same App ID
Sounds like the two apps are part of a whole system and only work in conjunction, so that should be ok.
Re: PhotonNetwork.JoinOrCreateRoom() for random rooms?
Is there a way to atomically join-or-create a random room?
No there isn't currently.
I thought it would be the case when I call PhotonNetwork.JoinOrCreateRoom() with a null room name, but that does not work.
You misunderstood how JoinOrCreateRoom works. It tries to join or create a room that is not random, so its name must be known.
As a workaround I am currently performing two separate calls - JoinRandomRoom() followed by CreateRoom() if the former has failed. This, however is not ideal, because players who attempt to join a room at roughly the same time end up in separate room instances.
Well, you summarized everything in this §.
We already have a new feature planned (no ETA) to allow JoinRandomRoom to automatically create a room if none found w/o the need for an extra CreateRoom call. However, I do not think that this will solve the issue of when two clients call JoinRandomRoom at the same time.
Re: My aplication works in all devices instead of my phone
Thank you for choosing Photon!
Make sure clients are connected to the same regions (servers) and to the same virtual application (AppId, AppVersion).
Make sure to go through our "
Re: How to host headless server process/exe
Yes for example with GameLift you can have it automatically scale up and down servers.
We are starting a sample here.
Soon we'll add the NodeJs server which intermediates between clients and GameLift.
Re: Am I supposed to keep checking PhotonView objects != null
Generally: yes! But if it gets set to null from nowhere, then of course not. Same goes for objects with photon.isMine==true
Re: Dynamic scene loading
You will have to disable the automaticallySyncScene option! Also you could consider making multiple rooms for each scene. I think that will be easier and more performancy
Re: How to synchronize GameObjects in scene on change (not transform or rotate)?
You could use a RPC to send the function that makes the glow appear to all players!
They are like normal class methods but you can call them for all all players etc.
So give the parent object a view and don't forget to extend MonoBehaviourPun.
Roughly the code:
public class GameObjectThatShouldGlow : MonoBehaviourPun
this.photonView.RPC("makeMeGlowImpl", RpcTarget.All, furtherParameters, .... )
If you want mid game join I advise you to use serialization:
class GameObjectThatShouldGlow : MonoBehaviourPun, IPunObservable
bool bLightIsOn = false;
void IPunObservable.OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
bLightIsOn = (bool)stream.receiveNext();
(The code is propably not going to work, it's just to give you a idea of the process)
Also attaching a view to each object is a bad idea if you have many as the limit of views is 1000, so you might want to make the RPC in your player object, give each GameObject a Id and then send that as parameter.