From 3b7679f9c94371528aa2f7fc7f9ac8bc6e66eb38 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Tue, 16 Jan 2024 19:01:41 +1100 Subject: [PATCH] Don't throw on player spawn for playtime failure (#24148) Still gets logged but won't abort the entire startup process. --- .../PlayTimeTracking/PlayTimeTrackingSystem.cs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Content.Server/Players/PlayTimeTracking/PlayTimeTrackingSystem.cs b/Content.Server/Players/PlayTimeTracking/PlayTimeTrackingSystem.cs index f865b25bac..035b60e4f3 100644 --- a/Content.Server/Players/PlayTimeTracking/PlayTimeTrackingSystem.cs +++ b/Content.Server/Players/PlayTimeTracking/PlayTimeTrackingSystem.cs @@ -164,7 +164,11 @@ public sealed class PlayTimeTrackingSystem : EntitySystem !_cfg.GetCVar(CCVars.GameRoleTimers)) return true; - var playTimes = _tracking.GetTrackerTimes(player); + if (!_tracking.TryGetTrackerTimes(player, out var playTimes)) + { + Log.Error($"Unable to check playtimes {Environment.StackTrace}"); + playTimes = new Dictionary(); + } return JobRequirements.TryRequirementsMet(job, playTimes, out _, EntityManager, _prototypes); } @@ -175,7 +179,11 @@ public sealed class PlayTimeTrackingSystem : EntitySystem if (!_cfg.GetCVar(CCVars.GameRoleTimers)) return roles; - var playTimes = _tracking.GetTrackerTimes(player); + if (!_tracking.TryGetTrackerTimes(player, out var playTimes)) + { + Log.Error($"Unable to check playtimes {Environment.StackTrace}"); + playTimes = new Dictionary(); + } foreach (var job in _prototypes.EnumeratePrototypes()) { @@ -202,7 +210,7 @@ public sealed class PlayTimeTrackingSystem : EntitySystem if (!_cfg.GetCVar(CCVars.GameRoleTimers)) return; - var player = _playerManager.GetSessionByUserId(userId); + var player = _playerManager.GetSessionById(userId); if (!_tracking.TryGetTrackerTimes(player, out var playTimes)) { // Sorry mate but your playtimes haven't loaded.