Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Game crashes when player database unreachable #17536

Open
clintmoyer opened this issue Dec 31, 2019 · 3 comments
Open

Game crashes when player database unreachable #17536

clintmoyer opened this issue Dec 31, 2019 · 3 comments
Labels

Comments

@clintmoyer
Copy link

@clintmoyer clintmoyer commented Dec 31, 2019

Issue Summary

Mission crashes when unable to connect to player database over the internet. Once the player connects their game to the OpenRA forums they are unable to avoid this issue unless they fix the connection or remove the player.oraid keyfile from their system. Note that playing the game with the internet disabled completely does not reproduce this issue.

Reasons the connection may not work to player database:

  • player database is down
  • internet gateway limiting connections (airplane wifi, coffee shop wifi, etc)
  • firewall
  • dns resolution issues

System Information

  • Operating System: MacOS Mojave 10.14.6
  • Mono Version: Mono 6.6.0.161
  • OpenRA Version: release-20191117
  • Mod: Red Alert

Steps to reproduce

  1. First connect an OpenRA forum account to generate the player.oraid keyfile.

  2. Simulate a bad connection to player database. Here I modify the local resolver to send those requests to invalid (Class E) IPv4 address. We could also remove the default internet gateway temporarily or set up a temporary firewall outbound rule.

    # echo "240.0.0.0 forum.openra.net" >> /etc/hosts
    
    # getent hosts forum.openra.net
    240.0.0.0       forum.openra.net
    
  3. Start OpenRA game

  4. Player profile widget shows the following message

    Querying account details from the OpenRA forum.

    then after a timeout period it shows the following message

    Failed to connect to the OpenRA forum. Please check your internet connection.

  5. Start a mission in Single-Player mode

  6. Game crashes immediately

Logs

No debug logs associated with crash sequence.

OpenRA Replays

Crash happens before start of mission

Screenshots & Videos

test

@pchote

This comment has been minimized.

Copy link
Member

@pchote pchote commented Dec 31, 2019

I haven't debugged this, but i'm pretty sure this will be caused by the server blocking the client connection on the forum authentication check response. So this won't be a crash, just a very long timeout.

I expect that we can take two steps towards fixing this. The first will be to check whether the server is being started for a mission / skirmish game, and use the local player details instead of querying the forum. This should be relatively simple, and we should aim to include this in the upcoming hotfix release.

The second will be to introduce a third "waiting for authentication" state with appropriate client UI so we can accept the connection immediately (or show a more relevant waiting dialog if the server requires authentication) and sync the authentication data once it is ready. This is going to be a lot more work, so will need to wait for Next + 1 or later.

@pchote

This comment has been minimized.

Copy link
Member

@pchote pchote commented Jan 1, 2020

#17542 implements the first step, so bumping to Next + 1 for the second step.

@pchote pchote modified the milestones: Next Release, Next+1 Jan 1, 2020
@pchote

This comment has been minimized.

Copy link
Member

@pchote pchote commented Jan 26, 2020

The second step is sufficiently complicated that I don't think it is reasonable to try and squeeze in for Next + 1.

@pchote pchote removed this from the Next+1 milestone Jan 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.