BUG: What causes OnReceivedRoomListUpdate to refresh?

Options
Hey,

BUG: I've noticed that, once a client (Client 1) joins a lobby, they will not receive room updates via OnReceivedRoomListUpdate AT ALL until they re-join the lobby, despite the fact that another client (Client 2) could have created a room inside the same lobby.

Repro 100%. Running on a Quantum internal development cluster (via Erick) in EU region. Tested with two clients (different devices), and 5 clients (running as different instances on the same PC). I'm using the PhotonNetwork.JoinLobby(); method with no arguments, autoJoinLobby is false.

Q1: Is this intended behavior or a bug?

Q2: Will you ever include a server-side auto-refresh? I.e. On an interval, only when the room info has changed?

Q3: Will you ever include a client-side manul refresh button?

Q4: EDIT: Do you have plans to fix the issue where OnReceivedRoomListUpdate is called >4 times when you first enter a lobby?


Thanks,

Best Answer

  • niki_walker_ubisoft
    edited June 2018 Answer ✓
    Options
    Thanks for responding. With your info, I've found the problem:

    RESOLUTION

    Because I want to support offline mode, I need to manually handle each PhotonNetwork.connectionStateDetailed. I do this in update in a big switch/case.

    As it turns out, this resulted in calling PhotonNetwork.JoinLobby(); multiple times (up to 7 times) before connection was established. I assumed that JoinLobby would change the connectionStateDetailed state to a different enum value, but it does not.

    This is why I received way more notifications than normal on room enter, AND why OnReceivedRoomListUpdate was NOT getting received afterwards.

    My suggestion to you: When you call PhotonNetwork.JoinLobby, please enter a new state or have some kind of status flag that indicates you are "busy" doing so. Right now, you simply remain in state: ClientState.ConnectedToMaster.

    My assumption is that @Akrosh has the same issue.

    Thanks for your help! :smiley:

Answers

  • Akrosh
    Options
    @niki_walker_ubisoft thanx for reporting this but even from last 4 days em talking to photon for fixing this issue of not getting room list in lobby via OnReceivedRoomListUpdate do you go any work around for now to fix it?
  • Hi @niki_walker_ubisoft,

    Q1: Is this intended behavior or a bug?


    I have tried to reproduce the issue but haven't been able to do so. I have tested this on the Public Cloud as well as on the Cluster you have mentioned. Do you have any chance to share some code snippets you are using in the project like joining the lobby or creating the room with its RoomOptions?

    Q2: Will you ever include a server-side auto-refresh? I.e. On an interval, only when the room info has changed?


    As far as I know the updated room list is sent to clients as soon as there has something changed on the server. So updates are sent to new players as soon as they have joined lobby and whenever an update for that room list is available.

    Q3: Will you ever include a client-side manul refresh button?


    I won't say never, but in my opinion we currently don't need such a feature because the server sends an up to date room list to each client as soon as an update is available. If you have a certain use case for such a feature, please let me know.

    Q4: EDIT: Do you have plans to fix the issue where OnReceivedRoomListUpdate is called >4 times when you first enter a lobby?


    I honestly haven't had this issue during my tests.


    Hi @Akrosh,

    I will have a look at your thread as well.
  • JohnTube
    JohnTube ✭✭✭✭✭
    edited June 2018
    Options
    Hi @niki_walker_ubisoft,

    Thank you for choosing Photon!

    Maybe there is an issue with the client not dispatching incoming commands properly, for example during scene loading, commands get buffered...
  • niki_walker_ubisoft
    edited June 2018 Answer ✓
    Options
    Thanks for responding. With your info, I've found the problem:

    RESOLUTION

    Because I want to support offline mode, I need to manually handle each PhotonNetwork.connectionStateDetailed. I do this in update in a big switch/case.

    As it turns out, this resulted in calling PhotonNetwork.JoinLobby(); multiple times (up to 7 times) before connection was established. I assumed that JoinLobby would change the connectionStateDetailed state to a different enum value, but it does not.

    This is why I received way more notifications than normal on room enter, AND why OnReceivedRoomListUpdate was NOT getting received afterwards.

    My suggestion to you: When you call PhotonNetwork.JoinLobby, please enter a new state or have some kind of status flag that indicates you are "busy" doing so. Right now, you simply remain in state: ClientState.ConnectedToMaster.

    My assumption is that @Akrosh has the same issue.

    Thanks for your help! :smiley:
  • Akrosh
    Options
    @niki_walker_ubisoft

    thanx bro. You are a life saver.