diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index 9ba216d6..870c2810 100755 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -134,8 +134,6 @@ namespace TShockAPI { byte playerid = args.Data.ReadInt8(); byte hair = args.Data.ReadInt8(); - //Various colours here - args.Data.Position += 21; bool hardcore = args.Data.ReadBoolean(); string name = Encoding.ASCII.GetString(args.Data.ReadBytes((int)(args.Data.Length - args.Data.Position - 1))); @@ -145,6 +143,11 @@ namespace TShockAPI Tools.ForceKick(args.Player, "Hair crash exploit."); return true; } + if (!Tools.ValidString(name)) + { + Tools.ForceKick(args.Player, "Unprintable character in name"); + return true; + } if (name.Length > 32) { Tools.ForceKick(args.Player, "Name exceeded 32 characters."); diff --git a/TShockAPI/Properties/AssemblyInfo.cs b/TShockAPI/Properties/AssemblyInfo.cs index 09c15782..2f977511 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.4.0708")] -[assembly: AssemblyFileVersion("2.3.4.0708")] +[assembly: AssemblyVersion("2.3.4.0709")] +[assembly: AssemblyFileVersion("2.3.4.0709")] diff --git a/TShockAPI/Resources.Designer.cs b/TShockAPI/Resources.Designer.cs index 466bc4f2..34060646 100644 --- a/TShockAPI/Resources.Designer.cs +++ b/TShockAPI/Resources.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.1 +// Runtime Version:4.0.30319.235 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -91,15 +91,6 @@ namespace TShockAPI { } } - /// - /// Looks up a localized string similar to !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…///†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©. - /// - internal static string mousefontchars { - get { - return ResourceManager.GetString("mousefontchars", resourceCulture); - } - } - /// /// Looks up a localized string similar to #format ///#ip group diff --git a/TShockAPI/Resources.resx b/TShockAPI/Resources.resx index 7aca9391..21b8b3ab 100644 --- a/TShockAPI/Resources.resx +++ b/TShockAPI/Resources.resx @@ -124,9 +124,6 @@ config\itembans.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - config\mousefontchars.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - config\users.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index a94b4d31..b65e08b4 100755 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -26,6 +26,7 @@ using System.Reflection; using System.Threading; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Content; +using Microsoft.Xna.Framework.Graphics; using Terraria; using TerrariaAPI; using TerrariaAPI.Hooks; @@ -105,7 +106,7 @@ namespace TShockAPI NetHooks.GetData += GetData; NetHooks.GreetPlayer += OnGreetPlayer; NpcHooks.StrikeNpc += NpcHooks_OnStrikeNpc; - + Bans.LoadBans(); GetDataHandlers.InitGetDataHandler(); @@ -113,7 +114,7 @@ namespace TShockAPI RegionManager.ReadAllSettings(); WarpsManager.ReadAllSettings(); ItemManager.LoadBans(); - RconHandler.StartThread(); + //RconHandler.StartThread(); Log.ConsoleInfo("AutoSave " + (TShock.Config.AutoSave ? "Enabled" : "Disabled")); Log.ConsoleInfo("Backups " + (Backups.Interval > 0 ? "Enabled" : "Disabled")); @@ -277,7 +278,7 @@ namespace TShockAPI return; } - + if (!FileTools.OnWhitelist(player.IP)) { @@ -288,7 +289,7 @@ namespace TShockAPI Players[ply] = player; - + } private void OnLeave(int ply) @@ -319,14 +320,11 @@ namespace TShockAPI return; } - foreach (var character in text) + if (!Tools.ValidString(text)) { - if (Resources.mousefontchars.IndexOf(character) == -1) - { - Tools.HandleCheater(tsplr, "Attempted to crash clients"); - e.Handled = true; - return; - } + Tools.Kick(tsplr, "Unprintable character in chat"); + e.Handled = true; + return; } if (msg.whoAmI != ply) diff --git a/TShockAPI/TShockAPI.csproj b/TShockAPI/TShockAPI.csproj index a2cc337c..30c21882 100644 --- a/TShockAPI/TShockAPI.csproj +++ b/TShockAPI/TShockAPI.csproj @@ -135,7 +135,6 @@ - @@ -148,7 +147,7 @@ - +