public async static Task <ContestGame> CreateGameAsync(APIClient api, string hookUri) { var contest = new ContestGame(); var worldKey = Guid.NewGuid().ToString(); contest.Hook = Hook.Default; await UriTools.PatchAsync(hookUri, contest.Hook); contest.WorldKey = worldKey; contest.ArenaURL = (await api.World.PutWorldAsync(worldKey, contest.Hook)); Console.WriteLine($"world create returned: {contest.ArenaURL}"); contest.ArenaURL = "ws://" + contest.ArenaURL.Replace(worldKey, string.Empty); Console.WriteLine($"final: {contest.ArenaURL}"); contest.API = new API.Client.APIClient(new Uri(contest.ArenaURL)) { Token = api.Token }; return(contest); }