code: def load_match_config(self, match_config: MatchConfig, bot_config_overrides={}):
          
          self.num_participants = match_config.num_players
          self.names = [bot.name for bot in match_config.player_configs]
          self.teams = [bot.team for bot in match_config.player_configs]
  
          bundles = [bot_config_overrides[index] if index in bot_config_overrides else
                     get_bot_config_bundle(bot.config_path) if bot.config_path else None
                     for index, bot in enumerate(match_config.player_configs)]
  
          self.python_files = [bundle.python_file if bundle else None
                               for bundle in bundles]
  
          self.parameters = []
  
          for index, bot in enumerate(match_config.player_configs):
              python_config = None
              if bot.rlbot_controlled:
                  python_config = load_bot_parameters(bundles[index])
              self.parameters.append(python_config)
              if bot.loadout_config is None and bundles[index]:
                  looks_config = bundles[index].get_looks_config()
                  bot.loadout_config = load_bot_appearance(looks_config, bot.team)
  
          if match_config.extension_config is not None and match_config.extension_config.python_file_path is not None:
              self.load_extension(match_config.extension_config.python_file_path)
  
          self.match_config = match_config
          self.start_match_configuration = match_config.create_match_settings()
          self.game_interface.start_match_configuration = self.start_match_configuration
docs: Loads the match config into internal data structures, which prepares us to later
          launch bot processes and start the match.
  
          This is an alternative to the load_config method; they accomplish the same thing.