diff --git a/TShockAPI/BackupManager.cs b/TShockAPI/BackupManager.cs index bd2e6f56..50f8e2cc 100644 --- a/TShockAPI/BackupManager.cs +++ b/TShockAPI/BackupManager.cs @@ -67,15 +67,6 @@ namespace TShockAPI TShock.Utils.Broadcast("Server map saving, potential lag spike"); Console.WriteLine("Backing up world..."); - foreach (TSPlayer player in TShock.Players) - { - // prevent null point exceptions - if (player != null && player.IsLoggedIn) - { - TShock.InventoryDB.InsertPlayerData(player); - } - } - Thread SaveWorld = new Thread(TShock.Utils.SaveWorld); SaveWorld.Start(); diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index a4e572c6..24cf89c5 100644 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -434,6 +434,7 @@ namespace TShockAPI private DateTime LastCheck = DateTime.UtcNow; + private DateTime LastSave = DateTime.UtcNow; private void OnUpdate() { @@ -448,6 +449,19 @@ namespace TShockAPI OnSecondUpdate(); LastCheck = DateTime.UtcNow; } + + if ((DateTime.UtcNow - LastSave).TotalMinutes >= 15) + { + foreach (TSPlayer player in TShock.Players) + { + // prevent null point exceptions + if (player != null && player.IsLoggedIn) + { + TShock.InventoryDB.InsertPlayerData(player); + } + } + LastSave = DateTime.UtcNow; + } } private void OnSecondUpdate()