static void Prefix(DistributedMatchUp.Match[] requests, DistributedMatchUp.Match backfillSeedMatch) { foreach (var m in requests) { Debug.Log(DateTime.Now.ToString() + ": HOST: FindGameSessionToCreate req " + m.uid + " maxp=" + m.maxPlayers + " #p=" + JArray.Parse(m.matchData["mm_players"].stringValue).Count); } if (backfillSeedMatch != null) { var m = backfillSeedMatch; Debug.Log(DateTime.Now.ToString() + ": HOST: FindGameSessionToCreate backfill " + m.uid + " maxp=" + m.maxPlayers + " #p=" + JArray.Parse(m.matchData["mm_players"].stringValue).Count); } }
private static void Prefix(List <DistributedMatchUp.Match> candidates, DistributedMatchUp.Match backfillSeedMatch) { if (HostArg == null || backfillSeedMatch != null) { return; } List <DistributedMatchUp.Match> delReqs = new List <DistributedMatchUp.Match>(); foreach (var req in candidates) { foreach (var player in JArray.Parse(req.matchData["mm_players"].stringValue)) { JObject attrs = (player as JObject)["PlayerAttributes"] as JObject; if (!attrs.TryGetValue("password", out JToken passwordAttrToken) || passwordAttrToken == null) { continue; } var passwordAttr = passwordAttrToken as JObject; var passwordAttrType = (string)passwordAttr["attributeType"]; if (passwordAttrType != "STRING" && passwordAttrType != "STRING_LIST") { continue; } string password = (string)(passwordAttrType == "STRING_LIST" ? ((JArray)passwordAttr["valueAttribute"])[0] : passwordAttr["valueAttribute"]); if (password == "") { continue; } var i = password.IndexOf('_'); // allow password suffix with '_' string name = i == -1 ? password : password.Substring(0, i); if (!name.Equals(HostArg, StringComparison.InvariantCultureIgnoreCase)) { Debug.LogFormat("{0}: {1}: Match with wrong host ignored: {2}", DateTime.Now.ToString(), HostArg, name); delReqs.Add(req); break; } } } foreach (var req in delReqs) { candidates.Remove(req); } }
static void Postfix(DistributedMatchUp.Match __result) { var m = __result; Debug.Log(DateTime.Now.ToString() + " " + System.Diagnostics.Process.GetCurrentProcess().Id + ": received " + (m == null ? "null" : m.uid + " type " + m.matchData["mm_ticketType"] + " tickets " + m.matchData.GetValueSafe("mm_mmTickets"))); }
static void Postfix(DistributedMatchUp __instance) { DistributedMatchUp.Match m = __instance.ActiveMatch; Debug.Log(DateTime.Now.ToString() + " " + System.Diagnostics.Process.GetCurrentProcess().Id + ": update match " + m.uid + " updated to " + m.matchData["mm_ticketType"]); }