From fbb0e1aebbc736a197939714303015ac7aa8ed6d Mon Sep 17 00:00:00 2001 From: high Date: Sun, 3 Jul 2011 23:12:51 -0400 Subject: [PATCH 1/5] Should be >= --- TShockAPI/GetDataHandlers.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index 5a9838d2..377f736d 100755 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -351,9 +351,10 @@ namespace TShockAPI return Tools.HandleGriefer(args.Player, "Update Player abuse"); } - if (item < 0 || item > args.TPlayer.inventory.Length) + if (item < 0 || item >= args.TPlayer.inventory.Length) { - return Tools.HandleGriefer(args.Player, "Update Player abuse"); + Tools.HandleGriefer(args.Player, "Update Player abuse"); + return true; } return false; From 9a3cf85cf25247af8a6e985a79f4003b365dfd29 Mon Sep 17 00:00:00 2001 From: high Date: Mon, 4 Jul 2011 00:44:04 -0400 Subject: [PATCH 2/5] NPC.maxSpawns should be NPC.defaultMaxSpawns --- TShockAPI/Properties/AssemblyInfo.cs | 4 ++-- TShockAPI/TShock.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/TShockAPI/Properties/AssemblyInfo.cs b/TShockAPI/Properties/AssemblyInfo.cs index 19f98b1c..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.0701")] -[assembly: AssemblyFileVersion("2.3.2.0701")] +[assembly: AssemblyVersion("2.3.2.0704")] +[assembly: AssemblyFileVersion("2.3.2.0704")] diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index 70a3dccd..c607d68f 100755 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -563,7 +563,7 @@ namespace TShockAPI public void OnConfigRead(ConfigFile file) { - NPC.maxSpawns = file.DefaultMaximumSpawns; + NPC.defaultMaxSpawns = file.DefaultMaximumSpawns; NPC.defaultSpawnRate = file.DefaultSpawnRate; Main.autoSave = file.AutoSave; From 65a7998b16756a3fd67337d439b6a2c71d36f5c2 Mon Sep 17 00:00:00 2001 From: high Date: Mon, 4 Jul 2011 01:07:44 -0400 Subject: [PATCH 3/5] Do not log /login and /user --- TShockAPI/Commands.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index d5056e8a..e0612262 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) @@ -151,8 +153,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")); @@ -189,10 +191,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; From 061169633d91fba04f824f798299ae7ec5ffdf06 Mon Sep 17 00:00:00 2001 From: Deathmax Date: Mon, 4 Jul 2011 17:20:21 +0800 Subject: [PATCH 4/5] Fix race conditions with saveWorld threading. --- TShockAPI/Tools.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/TShockAPI/Tools.cs b/TShockAPI/Tools.cs index 59437414..9b48edcf 100755 --- a/TShockAPI/Tools.cs +++ b/TShockAPI/Tools.cs @@ -106,11 +106,11 @@ 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); + Console.WriteLine("World saved."); + Log.Info(string.Format("World saved at ({0})", Main.worldPathName)); } /// From 718764e533b26d049313b9e9185f42f6fec547bb Mon Sep 17 00:00:00 2001 From: Deathmax Date: Mon, 4 Jul 2011 17:32:49 +0800 Subject: [PATCH 5/5] More race conditions. --- TShockAPI/BackupManager.cs | 4 ++++ TShockAPI/TShock.cs | 15 ++++----------- TShockAPI/Tools.cs | 1 - 3 files changed, 8 insertions(+), 12 deletions(-) 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)); }