From 67f8760ba3ee5de74a97acc7b3cc141fa198977e Mon Sep 17 00:00:00 2001 From: Deathmax Date: Sat, 20 Aug 2011 20:09:11 +0800 Subject: [PATCH] Prevent repeated requests for sections. (patches KANNIBALE's .ddos command) --- TShockAPI/GetDataHandlers.cs | 12 ++++++++++++ TShockAPI/TSPlayer.cs | 1 + 2 files changed, 13 insertions(+) diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index 081de8f7..33f2b7eb 100644 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -114,6 +114,7 @@ namespace TShockAPI {PacketTypes.ChestGetContents, HandleChest}, {PacketTypes.SignNew, HandleSign}, {PacketTypes.PlayerSlot, HandlePlayerSlot}, + {PacketTypes.TileGetSection, HandleGetSection} }; } @@ -692,5 +693,16 @@ namespace TShockAPI } return false; } + + private static bool HandleGetSection(GetDataHandlerArgs args) + { + var x = args.Data.ReadInt32(); + var y = args.Data.ReadInt32(); + + if (args.Player.RequestedSections.Contains(new Vector2(x, y))) + return true; + args.Player.RequestedSections.Add(new Vector2(x, y)); + return false; + } } } diff --git a/TShockAPI/TSPlayer.cs b/TShockAPI/TSPlayer.cs index d5a7020e..9fab4321 100644 --- a/TShockAPI/TSPlayer.cs +++ b/TShockAPI/TSPlayer.cs @@ -57,6 +57,7 @@ namespace TShockAPI public bool HasBeenNaggedAboutLoggingIn; public bool TpLock = false; Player FakePlayer; + public List RequestedSections = new List(); public bool RealPlayer {