game / pragma.gameinstance / GameInstanceService / updateGameInstanceServiceV1 /

updateGameInstanceServiceV1 #

suspend fun updateGameInstanceServiceV1(session: ServiceSession, request: GameInstanceRpc.UpdateGameInstanceServiceV1Request): GameInstanceRpc.UpdateGameInstanceServiceV1Response

Called by other backend services to update a running game instance with new data.

If the game instance being updated is in matchmaking, the GameInstanceMatchmakingPlugin will be invoked to provide new matchmaking exts that will be sent to the MatchmakingService and will replace the exts on the corresponding MatchmakingGameInstance.

Plugins

  • GameInstancePlugin.handleBackendUpdateRequest - Process the update.
  • GameInstanceMatchmakingPlugin.buildExtMatchmakingGameInstance - If the game instance is in matchmaking, update the ExtMatchmakingGameInstance.
  • GameInstanceMatchmakingPlugin.buildExtMatchmakingGamePlayer - If the game instance is in matchmaking, update each ExtMatchmakingGamePlayer.
  • GameInstanceMatchmakingPlugin.buildExtMatchmakingGameParty - If the game instance is in matchmaking, update each ExtMatchmakingGameParty.

PragmaResultErrors

  • PragmaError.GameInstanceService_UnknownGameInstanceId - If the game instance id from request is not found.
  • PragmaError.GameInstanceService_FailedToUpdateMatchmakingGameInstance - If the MatchmakingService.updateMatchmakingGameInstanceV1 call fails.
  • PragmaError.GameInstanceService_InternalError - If a lock on the specified game instance could not be held.