Is it possible to create a Lockstep server instead of use a MasterClient mode?

Hi, is there a way to implement a lockstep server to route the user's input instead of route by the MasterClient?
The Server gather all client input and send to clients, but the server don't need to wait client input in a lockstep frame.
Server send all client inputs in a fixed frame rate.Client's input not received by server at the lockstep frame,the server will let this client input data empty.

Another question is Whether the TrueSync support the MasterClientSwitch? Because I test with the "Boxes" Demo within the TrueSync project, the MasterClientSwitch don't work.


  • Hi @jarodljl, for now each client send the packages to the players that should receive inputs, we don't route to a specific master client. Did you noticed something wrong?
  • jarodljl
    edited February 2017
    Hi @JeffersonHenrique ,thanks for your reply , I just know Photon Pun and Photon Truesync,so I don't understand the framework clearly.

    I think the TrueSync is a excellent lockstep framework, but I have two points not very clearly that I am concerned with.

    1.How Truesync handle the situation,that the MasterClient(the room creater) leave(off line)? What will happen in other client?

    2.Is it possible to support a mode or allow the developer to create a server to route all client's inputs? It's more manageable and one client leave will not influence others.
  • Hi @jarodljl, thanks for use TrueSync, to answer your questions:

    1) The master client is treated like a normal player in TrueSync, so a change in the master doesn't affect the engine. When a client leaves he will be dropped from simulation and other players go on.

    2) It is possible but unfortunately not for now, we have some important improvements to do in TrueSync before.
  • jarodljl
    edited February 2017
    Hi @JeffersonHenrique , thanks for your reply. I am glad to hear that other players don't affect by the master client leave. But I test with the Demo "Boxes" in the Truesync project, when master client leaves,the other client pop a Exception.

    And I appreciate if you will support the server mode, it will be a greate feature too.

    By the way,is it possible to open the part souce code of sync input,so we can write a server by ourself ?
  • Hi @jarodljl, thanks for the report, we are gonna check this exception. About the source code we have to discuss but the synchronization of inputs maybe will remain closed.
  • jarodljl
    edited February 2017
    Hi @JeffersonHenrique , I am expecting the next update of TrueSync,If you have the time,please let me know,thanks.

    I have a question about how to join a game already started? Because I can't find the room that the game has started. I want to have a test about late game joins and re-connections of players. .

    And I also test the replay system by changing the code of the "Menu.cs" at line 368 from "ReplayRecord.replayMode = ReplayMode.NO_REPLAY;" to "ReplayRecord.replayMode = ReplayMode.RECORD_REPLAY;",so the demo will reord a replay . But when replay the record file, the "Boxes" demo pop a Exception.
  • Thanks @jarodljl, unfortunately we don't support late joins for now.