Jump to content

Rejoining games as spectators instead of player in some cases


Dunedan
 Share

Recommended Posts

There have been reports that rejoining games isn't possible sometimes, as the rating for the player rejoining the lobby doesn't show up (https://gitea.wildfiregames.com/0ad/0ad/issues/7185). There was already some discussion regarding this topic in the following thread:

Analysis of logs for cases where that happened to players showed that in these cases the players show up as connected with two different instances of 0ad to the lobby server. As we can assume they didn't do that intentionally, it's still not clear how that can happen.

Workarounds which would fix this problem as well would be https://gitea.wildfiregames.com/0ad/0ad/issues/5320, https://gitea.wildfiregames.com/0ad/0ad/issues/4203 or patching Slixmpp to let EcheLOn keep track of all connected resources of a player, however these would just be workarounds, without addressing the root cause.

What I need for further debugging to find the root cause are:

  • whenever this problem happens to you, ping me in the lobby
  • whenever this problem happens to you, reply here with the following information:
    • operating system
    • kind of internet connection (landline, mobile network, satellite, ...)
    • list of installed mods
    • reason why you left the game in the first place (crash, loss of internet connectivity, ...)
Link to comment
Share on other sites

  

On 09/11/2024 at 9:02 PM, Norse_Harold said:

When you have an existing session and connect another one then the new session will not receive the rating list right away. It will only receive the rating list once another user has connected to the lobby or completed a rated match. Sometimes this takes many minutes when it is late at night and there aren't many players online.

If I understand correctly what Norse says here, the event of any new user connecting to the lobby refreshes the ratings for all players, including the ones with the bugged ratings.

If this is the case, two ideas come to my mind:

1) This problem of aborted games due to the rating bug probably happens mostly for us late night american players which usually play when the lobby is at its lowest in terms of connected players. At this time of the night it is common to not see any new player connecting for minutes or even tens of minutes at a time. On the other hand, at any other time of the day this problem is probably not as important beacuse on average you see new players connecting very often.

2) A convoluted but effective method of saving games for late night american players could be the following: always have the credentials of a second account ready, and when you or another player looses ratings: (a) leave 0ad, (b) log in with the other account in order to refresh the ratings for everyone, and (c) rejoin with your original account.

With this method any player should be able to fix the ratings bug for any other player, even if the player with the bug does not have a second account for this purpose.

Link to comment
Share on other sites

1 hour ago, Acero said:

If I understand correctly what Norse says here, the event of any new user connecting to the lobby refreshes the ratings for all players, including the ones with the bugged ratings.

If this is the case, two ideas come to my mind

Ironically it refreshes only the ratings for all players not affected by this bug, because this bug seems to be caused by players (unintentionally?) being connected with multiple instances of 0 A.D. and only one instance would receive these updates. Even if all instances would receive the updates, other players joining is a frequent occurrence when somebody is affected by this bug and doesn't solve it.

1 hour ago, Acero said:

2) A convoluted but effective method of saving games for late night american players could be the following: always have the credentials of a second account ready, and when you or another player looses ratings: (a) leave 0ad, (b) log in with the other account in order to refresh the ratings for everyone, and (c) rejoin with your original account.

Registering multiple accounts violates the Terms of Use. Don't do that!

Link to comment
Share on other sites

9 hours ago, Dunedan said:

Ironically it refreshes only the ratings for all players not affected by this bug, because this bug seems to be caused by players (unintentionally?) being connected with multiple instances of 0 A.D. and only one instance would receive these updates. Even if all instances would receive the updates, other players joining is a frequent occurrence when somebody is affected by this bug and doesn't solve it.

I've noticed that sometimes when 0 A.D. crashes there is a zombie process lingering. Maybe this process is somehow maintaining the connexion to the lobby causing those issues.

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

In the time since, thanks to several people pinging me, I was able to investigate additional cases where this happened. What usually happens is:

  1. player joins the lobby with connection 1 (everything is fine)
  2. player joins the lobby with connection 2 (that being their active 0ad now and no rating is being shown)
  3. player leaves the lobby with connection 2 (probably when closing 0ad)
  4. player leaves the lobby with connection 1 (maybe when shutting down the PC)

Step 2 is usually a direct response of a player having left a game (for reasons I don't know) and wants to rejoin.

It's certainly not a timeout issue, as step 4 might happen hours later.

To me that zombie process theory sounds somewhat plausible, however I've had no player answering the questions from the first post here yet, so we don't know if and why they restarted 0ad. If the zombie process theory is correct, then that process should be visible in the list of processes and a clean restart of the PC should work around that problem. Instead of a zombie process, I could also imagine 0ad getting confused internally and managing two concurrent connections to the lobby.

Link to comment
Share on other sites

4 hours ago, Dunedan said:

In the time since, thanks to several people pinging me, I was able to investigate additional cases where this happened. What usually happens is:

  1. player joins the lobby with connection 1 (everything is fine)
  2. player joins the lobby with connection 2 (that being their active 0ad now and no rating is being shown)
  3. player leaves the lobby with connection 2 (probably when closing 0ad)
  4. player leaves the lobby with connection 1 (maybe when shutting down the PC)

Step 2 is usually a direct response of a player having left a game (for reasons I don't know) and wants to rejoin.

It's certainly not a timeout issue, as step 4 might happen hours later.

To me that zombie process theory sounds somewhat plausible, however I've had no player answering the questions from the first post here yet, so we don't know if and why they restarted 0ad. If the zombie process theory is correct, then that process should be visible in the list of processes and a clean restart of the PC should work around that problem. Instead of a zombie process, I could also imagine 0ad getting confused internally and managing two concurrent connections to the lobby.

I think most of the cases is when user having networking issue he will just rejoin with another provider mobile/wifi etc.. what has available to finish the game...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...