Question about reliable message channel ordering on server side.

Will the photon server send custom events that it receives in a certain channel to every client using the same channel? Will all clients receive the events in the same order?

For example:
Client A and B both send a custom event at the same time in the same channel using reliable ordered
Client C and D receive both messages.
Is the order be guaranteed to be the same in both C and D?
Meaning that if C sees [evB, evA] then D will also see [evB, evA] and if C sees [evA, evB] then D will see [evA, evB]

I'm making a lock-stepped game that needs strict ordering of messages to maintain the clients synchronized.

Comments

  • Sequences in Photon are done per channel. So there is no guarantee for order between channels A, B, C or D.
    The order of events in one channel is defined for the communication is defined for the client sending to the server. When updates from multiple players arrive in a room, this (more or less random) order defines the order in which the events are sent to others.

    Again: If things are split up into multiple channels, those get dispatched individually. A client might dispatch event #1 from channel A first but on another client, this could be delayed and it dispatches event #1 from channel B first.
  • What I wanted to make sure of is if two custom events arrive on the server in a certain order that all clients are also going to receieve them in the same order as the server did.
    (Given that the two events use the same channel of course)

    Also, is it possible to use the same channel as the Join and Disconnected events?
  • If the two events are in the same channel and reliable, then all clients will get those two in the same order.

    By default your events are in the same channel as join and leave events.