microsoft / microsoft/XBOX-Godot-Sample
[PlayFab Lobby] Expose owner-enforced member removal with prevent-rejoin
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 236
- Forks
- 21
- Avg merge
- 6h 4m
- Merged PRs (30d)
- 8
Description
Feature request
Expose owner-enforced removal of another Lobby member, including the native preventRejoin option. Removing a member from a title's local roster or disconnecting a gameplay peer is not equivalent to enforcing membership at the Lobby service.
Current gap
At f6c16289e939729b474e9009c5dd1ec1d23015ba, the PlayFabLobby bindings expose property updates and self-leave, but no owner removal operation.
The native SDK provides PFLobbyForceRemoveMember. A local entity must be the current lobby owner; losing ownership while the operation is pending causes asynchronous failure.
Requested behavior
- Add an awaitable removal API on a tracked lobby, taking the target entity key and an explicit
prevent_rejoinboolean. Naming should follow existing binding conventions. - Resolve with the normal
PlayFabResultafter native completion, not merely after dispatch. Surface unauthorized, invalid/disconnected-lobby, ownership-change, and SDK failures. - Keep member snapshots and notifications aligned with the native removal event. Do not optimistically erase a member and report success before the operation completes.
- Preserve both behaviors: removal without barring later joins, and removal with service-enforced prevention of rejoining that lobby.
- Document the scope: this changes Lobby membership only. It does not automatically evict a user from a Party network, implement gameplay host migration, or create a title-wide account ban.
Acceptance coverage
- An owner removes another member with
prevent_rejoin = false; the member disappears through normal notifications and can rejoin an otherwise joinable lobby. - Repeat with
prevent_rejoin = true; a subsequent join of that lobby is rejected by the service. - A non-owner request and an ownership-loss race return failures without falsely changing membership.
- Cover invalid targets, disconnected lobbies, shutdown, and failed native completions without leaked pending operations or duplicate completions.
- Verify snapshots are current when notifications are delivered, and document the distinction between Lobby removal and Party/gameplay disconnection.
Add focused automated coverage and record live-service verification separately when suitable accounts are available.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.