From 12d40e98ad58807a330fc56c8590e9a81b1ddadc Mon Sep 17 00:00:00 2001 From: Lucas Nicodemus Date: Sun, 17 May 2020 23:47:16 -0700 Subject: [PATCH] Disable always return on HandleLoadNetModule As of 1.4.x.x, these are used for more than just chat text and we need to start handling them separately. The original check here would just return true (handling the event) for any module that's not text. Now, we need to actually do processing and check for exploits on these. --- TShockAPI/GetDataHandlers.cs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index ae8e78a8..5c6fcb2d 100644 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -3115,8 +3115,18 @@ namespace TShockAPI private static bool HandleLoadNetModule(GetDataHandlerArgs args) { - // Since this packet is never actually sent to us, every attempt at sending it can be considered as a liquid exploit attempt - return true; + // As of 1.4.x.x, this is now used for more things: + // NetCreativePowersModule + // NetCreativePowerPermissionsModule + // NetLiquidModule + // NetParticlesModule + // NetPingModule + // NetTeleportPylonModule + // NetTextModule + // I (particles) have disabled the original return here, which means that we need to + // handle this more. In the interm, this unbreaks parts of vanilla. Originally + // we just blocked this because it was a liquid exploit. + return false; } private static bool HandlePlaceTileEntity(GetDataHandlerArgs args)