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/Commands.cs b/TShockAPI/Commands.cs index 2546901c..d2faceb2 100755 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -56,6 +56,7 @@ namespace TShockAPI { public string Name { get { return Names[0]; } } public List Names { get; protected set; } + public bool DoLog { get; set; } private string permission; private CommandDelegate command; @@ -71,6 +72,7 @@ namespace TShockAPI permission = null; Names = new List(names); command = cmd; + DoLog = true; } public bool Run(string msg, TSPlayer ply, List parms) @@ -152,8 +154,8 @@ namespace TShockAPI ChatCommands.Add(new Command(PartyChat, "p")); ChatCommands.Add(new Command(Rules, "rules")); ChatCommands.Add(new Command("logs", Rules, "displaylogs")); - ChatCommands.Add(new Command("manageusers", ManageUsers, "user")); - ChatCommands.Add(new Command(AttemptLogin, "login")); + ChatCommands.Add(new Command("manageusers", ManageUsers, "user") { DoLog = false }); + ChatCommands.Add(new Command(AttemptLogin, "login") { DoLog = false }); ChatCommands.Add(new Command("cfg", Broadcast, "broadcast", "bc")); ChatCommands.Add(new Command("whisper", Whisper, "whisper", "w", "tell")); ChatCommands.Add(new Command("whisper", Reply, "reply", "r")); @@ -191,10 +193,8 @@ namespace TShockAPI } else { - if (!cmdText.Contains("login") && !cmdText.Contains("user")) - { + if (cmd.DoLog) Tools.SendLogs(string.Format("{0} executed: /{1}", player.Name, cmdText), Color.Red); - } cmd.Run(cmdText, player, args); } return true; diff --git a/TShockAPI/Properties/AssemblyInfo.cs b/TShockAPI/Properties/AssemblyInfo.cs index e98b67f9..66169d98 100644 --- a/TShockAPI/Properties/AssemblyInfo.cs +++ b/TShockAPI/Properties/AssemblyInfo.cs @@ -35,5 +35,5 @@ using System.Runtime.InteropServices; // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.3.2.0702")] -[assembly: AssemblyFileVersion("2.3.2.0702")] +[assembly: AssemblyVersion("2.3.2.0704")] +[assembly: AssemblyFileVersion("2.3.2.0704")] diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index 279c15a0..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; } /* @@ -627,7 +620,7 @@ namespace TShockAPI public void OnConfigRead(ConfigFile file) { - NPC.maxSpawns = file.DefaultMaximumSpawns; + NPC.defaultMaxSpawns = file.DefaultMaximumSpawns; NPC.defaultSpawnRate = file.DefaultSpawnRate; Main.autoSave = file.AutoSave; diff --git a/TShockAPI/Tools.cs b/TShockAPI/Tools.cs index 59437414..d4fa5aa7 100755 --- a/TShockAPI/Tools.cs +++ b/TShockAPI/Tools.cs @@ -106,11 +106,10 @@ namespace TShockAPI /// public static void SaveWorld() { - WorldGen.saveWorld(); + WorldGen.RealsaveWorld(); - Broadcast("World Saved", Color.Yellow); - Console.WriteLine("World backed up"); - Log.Info(string.Format("World backed up ({0})", Main.worldPathName)); + Broadcast("World saved.", Color.Yellow); + Log.Info(string.Format("World saved at ({0})", Main.worldPathName)); } ///