private bool StartPreset(ICommonSession[] origReadyPlayers, bool force)
{
+ _sawmill.Info($"Attempting to start preset '{CurrentPreset?.ID}'");
var startAttempt = new RoundStartAttemptEvent(origReadyPlayers, force);
RaiseLocalEvent(startAttempt);
var fallbackPresets = _cfg.GetCVar(CCVars.GameLobbyFallbackPreset).Split(",");
var startFailed = true;
+ _sawmill.Info($"Fallback - Failed to start round, attempting to start fallback presets.");
foreach (var preset in fallbackPresets)
{
+ _sawmill.Info($"Fallback - Clearing up gamerules");
ClearGameRules();
+ _sawmill.Info($"Fallback - Attempting to start '{preset}'");
SetGamePreset(preset, resetDelay: 1);
AddGamePresetRules();
StartGamePresetRules();
startFailed = false;
break;
}
+ _sawmill.Info($"Fallback - '{preset}' failed to start.");
}
if (startFailed)
else
{
+ _sawmill.Info($"Fallback - Failed to start preset but fallbacks are disabled. Returning to Lobby.");
FailedPresetRestart();
return false;
}
while (query.MoveNext(out var uid, out _, out var gameRule))
{
var minPlayers = gameRule.MinPlayers;
+ var name = ToPrettyString(uid);
+
if (args.Players.Length >= minPlayers)
continue;
ChatManager.SendAdminAnnouncement(Loc.GetString("preset-not-enough-ready-players",
("readyPlayersCount", args.Players.Length),
("minimumPlayers", minPlayers),
- ("presetName", ToPrettyString(uid))));
+ ("presetName", name)));
args.Cancel();
+ //TODO remove this once announcements are logged
+ Log.Info($"Rule '{name}' requires {minPlayers} players, but only {args.Players.Length} are ready.");
}
else
{