Repository navigation
feat(party): bring the party back to the lobby with its leader - #21
Merged
Merged
Conversation
Contributor
Test results 153 files 153 suites 1m 26s ⏱️ Results for commit e34c0a1. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposed changes
On the team proxy, the party followed its leader into Bounce, but not back. After the leader's
/lobby, the member stayed in the finished round. When they went to the lobby themselves, they landed onLobby-1while the leader was onLobby-2. The party fell apart right after the game, when players expect it to stay together.The proxy now asks for a warp on every move of a party leader from one server to another, and names the server the leader left. A member follows if they were on that server (they played together) or if they are idle in a lobby. A member in another game stays where they are.
That one rule covers all three cases:
The first connection after login warps nothing, and
/party warpkeeps today's behaviour. The origin travels as an optionalfromServerin the warp request and asfromin theparty.warpevent. The 0.2.0 plugin ignores it, and a new plugin talking to the 0.2.0 service falls back to the lobby rule.Implements the OpenSpec change
follow-leader-to-lobby.Types of changes
Checklist
Further comments
Tests cover each move type, a first login, a member who moves on their own (no warp), an event without an origin, and mode
always. Locally 237 backend unit tests and 129 plugin tests are green, and the generated client builds. The listener test uses smalljava.lang.reflect.Proxystubs for Velocity'sPlayerandRegisteredServer, because the plugin's tests have no mocking library.