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

Synchronization of Race Start Times #3

Closed
Sewer56 opened this issue May 24, 2020 · 1 comment
Closed

Synchronization of Race Start Times #3

Sewer56 opened this issue May 24, 2020 · 1 comment

Comments

@Sewer56
Copy link
Owner

Sewer56 commented May 24, 2020

The Wait Signal

Game execution pauses when the initial stage intro cutscene is skipped by any user.

If the player is a host:

  • Wait for all clients.
  • Send resume signal.

If the player is a client:

  • Send ready signal.
  • Wait for resume signal.

Skipping of the cutscene should be synchronized if possible but it's optional.
At this current time it requires more reverse engineering.

The Resume Signal

One method of implementing resuming after all players are ready would be to simply have the host send a "ready" signal to the player and everyone would resume game immediately. This is naive and would create a host advantage.

Instead, we are going to do the following:

  • X: Host calculates highest ping of all players and doubles it.
  • Y: Host calculates time from now (in UTC) + X.
  • Host sends Y to players. Host and players spin the thread waiting until time is later than Y.
  • Everyone resumes the game.
@Sewer56
Copy link
Owner Author

Sewer56 commented Feb 24, 2021

Implemented

@Sewer56 Sewer56 closed this as completed Feb 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Integrity and Anticheat
  
Awaiting triage
Development

No branches or pull requests

1 participant