pub fn run_hosted_engine_game(
game_id: String,
player_names: Vec<String>,
decks: Vec<Deck>,
commander_names: Vec<Option<String>>,
local_player_index: Option<usize>,
starting_life: i32,
remote_prompt_tx: Sender<(usize, AgentMessage)>,
remote_response_rxs: Vec<(usize, Receiver<ClientToServerMessage>)>,
game_over_tx: Sender<HostedGameOver>,
) -> Result<(), String>