diff --git a/TShockAPI/BackupManager.cs b/TShockAPI/BackupManager.cs index 0dfd5c1c..a6a1cf13 100644 --- a/TShockAPI/BackupManager.cs +++ b/TShockAPI/BackupManager.cs @@ -68,9 +68,13 @@ namespace TShockAPI Directory.CreateDirectory(worldpath); Tools.Broadcast("Server map saving, potential lag spike"); + Console.WriteLine("Backing up world..."); Thread SaveWorld = new Thread(Tools.SaveWorld); SaveWorld.Start(); + while (SaveWorld.ThreadState == ThreadState.Running) + Thread.Sleep(50); + Main.worldPathName = worldname; } catch (Exception ex) diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index b1031aaa..4a6b2df5 100755 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -49,8 +49,6 @@ namespace TShockAPI public static IDbConnection Sql; - public static bool WorldSaving = false; - public override Version Version { get { return VersionNum; } @@ -540,15 +538,10 @@ namespace TShockAPI private void OnSaveWorld(bool resettime, HandledEventArgs e) { - if (!WorldSaving) - { - WorldSaving = true; - Tools.Broadcast("Saving world, might lag.", Color.Red); - Thread SaveWorld = new Thread(Tools.SaveWorld); - SaveWorld.Start(); - WorldSaving = false; - e.Handled = true; - } + Tools.Broadcast("Saving world, might lag.", Color.Red); + Thread SaveWorld = new Thread(Tools.SaveWorld); + SaveWorld.Start(); + e.Handled = true; } /* diff --git a/TShockAPI/Tools.cs b/TShockAPI/Tools.cs index 9b48edcf..d4fa5aa7 100755 --- a/TShockAPI/Tools.cs +++ b/TShockAPI/Tools.cs @@ -109,7 +109,6 @@ namespace TShockAPI WorldGen.RealsaveWorld(); Broadcast("World saved.", Color.Yellow); - Console.WriteLine("World saved."); Log.Info(string.Format("World saved at ({0})", Main.worldPathName)); }