game / pragma.party / PartyService / joinWithInviteCodeV1 /
joinWithInviteCodeV1 #
suspend fun joinWithInviteCodeV1(session: PlayerSession, request: PartyRpc.JoinWithInviteCodeV1Request, sessionAction: SessionAction.Builder): PartyRpc.JoinWithInviteCodeV1Response
Joins a party with an invite code.
Invite code validation:
The party corresponding to the request’s invite code is retrieved. If the party cannot be found, fails with PragmaError.PartyService_InviteNotFound. If the party is full, fails with PragmaError.PartyService_PartyFull.
GameServerVersion recalculation:
GameServerCompatibility.calculateGameServerVersion is invoked to determine the overall GameServerVersion for the party if the new player joins. If no GameServerVersion is supported, a warning is logged. Any player that does not have a supported game server version will receive a PartyRpc.GameClientNotSupportedV1Notification, and all other players will receive a PartyRpc.PartyClientVersionMismatchV1Notification. If PartyImpl.overrideGameServerVersion has been set via PartyRpc.UpdatePartyV1Request, the game server calculation will be skipped and the previously set gameServerVersion will be used.
Adding the new player:
The player is then added to the party object and PartyPlugin.onAddPlayer is invoked to allow for initial customization of the player object. The player will be removed from any existing party before joining the new one. All party members are notified with the updated party state.