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

Server allows queuing for ladder while already setting up a previous ladder match #632

Closed
Askaholic opened this issue Jul 18, 2020 · 0 comments · Fixed by #423
Closed

Server allows queuing for ladder while already setting up a previous ladder match #632

Askaholic opened this issue Jul 18, 2020 · 0 comments · Fixed by #423
Assignees
Labels

Comments

@Askaholic
Copy link
Collaborator

During the time where players have found a match and are waiting for the match to be set up, the server will allow them to add themselves back into the queue a second time, potentially causing a situation where the server tries to make a single player join 2 games at the same time.

We probably need to track setup time of automatch games as its own player state, or use an existing state to make sure players can't double join a queue in this way.

Related tasks:

  • Add an integration test that simulates this scenario
@Askaholic Askaholic added the bug label Jul 18, 2020
@Askaholic Askaholic self-assigned this Nov 14, 2020
Askaholic added a commit that referenced this issue Nov 26, 2020
* SQUASHED: Add party system

* Add some more leave_party tests

* Add tests for set_factions

* Refactor Party and PartyService

* Clean up party invites, send party updates via dirty loop

* Create parties when ready/unready

* Ignore game_matchmaking start commands if player is not party owner

* Remove unused stuff in tests

* Start search for whole party when queueing

* Remove unused function 'remove_disbanded_parties'

* Select player faction from party preferences

Closes #613

* Ensure that players always have at least one faction choice selected

* Rework faction selection to use faction names

Using indices into a boolean array was confusing as it was non obvious what
each index represented. This lead to some immediate implementation mistakes
where the server implementation assumed that the indices mapped to their one
indexed lua counterparts, while the client implementation assumed that the
factions were sorted alphabetically from left to right. This new approach is
less error prone, requires fewer bytes to transfer the same information, and
is more flexible-- even allowing the selection of nomads or other future
faction for special game modes.

* Use double quotes for strings

* Remove party ready tracking

* Replace unused test accounts with generic accounts

* Save players old party state when switching parties

* Add unit tests for PlayerParty

* Choose player factions after a match is found

As searches can only be started by party owners, the guests may not have
decided what factions they want to pick when the owner enters them into the
matchmaker queue. Therefore we should allow them to change their faction
preferences up until the moment they are matched.

Fixes #679

* Replace 'invalid_state' messages with 'ClientError's

* Increase timeout for tests

* Rename queue to queue_name in match_found message

* Ensure that players cannot queue while setting up automatch

Fixes #632

Co-authored-by: Askaholic <askaholic907@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant