From f924a327ee724d61df05ce06e7df1feae6e657f8 Mon Sep 17 00:00:00 2001 From: thetrollfacenan <102139586+trollfacenan@users.noreply.github.com> Date: Fri, 13 Mar 2026 21:24:57 +0500 Subject: [PATCH 1/7] Update source why does it check lowercase anyway --- source | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source b/source index a858c721..93e7c4dc 100644 --- a/source +++ b/source @@ -7874,13 +7874,13 @@ addcmd('clientantikick',{'antikick'},function(args, speaker) oldKickFunction = hookfunction(LocalPlayer.Kick, function() end) end oldhmmi = hookmetamethod(game, "__index", function(self, method) - if self == LocalPlayer and method:lower() == "kick" then + if self == LocalPlayer and method == "Kick" or method == "kick" then return error("Expected ':' not '.' calling member function Kick", 2) end return oldhmmi(self, method) end) oldhmmnc = hookmetamethod(game, "__namecall", function(self, ...) - if self == LocalPlayer and getnamecallmethod():lower() == "kick" then + if self == LocalPlayer and getnamecallmethod() == "Kick" or getnamecallmethod() == "kick" then return end return oldhmmnc(self, ...) From db8dba51fc44aa43a8da44749108e302720184ca Mon Sep 17 00:00:00 2001 From: thetrollfacenan <102139586+trollfacenan@users.noreply.github.com> Date: Wed, 25 Mar 2026 01:42:27 +0500 Subject: [PATCH 2/7] more improvements --- source | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/source b/source index 93e7c4dc..d206d6c1 100644 --- a/source +++ b/source @@ -4497,7 +4497,7 @@ CMDs[#CMDs + 1] = {NAME = 'antigameplaypaused', DESC = 'Clears the annoying box CMDs[#CMDs + 1] = {NAME = 'unantigameplaypaused', DESC = 'Disables antigameplaypaused'} CMDs[#CMDs + 1] = {NAME = 'clientantikick / antikick (CLIENT)', DESC = 'Prevents localscripts from kicking you'} CMDs[#CMDs + 1] = {NAME = 'clientantiteleport / antiteleport (CLIENT)', DESC = 'Prevents localscripts from teleporting you'} -CMDs[#CMDs + 1] = {NAME = 'allowrejoin / allowrj [true/false] (CLIENT)', DESC = 'Changes if antiteleport allows you to rejoin or not'} +--CMDs[#CMDs + 1] = {NAME = 'allowrejoin / allowrj [true/false] (CLIENT)', DESC = 'Changes if antiteleport allows you to rejoin or not'} CMDs[#CMDs + 1] = {NAME = 'cancelteleport / canceltp', DESC = 'Cancels teleports in progress'} CMDs[#CMDs + 1] = {NAME = 'volume / vol [0-10]', DESC = 'Adjusts your game volume on a scale of 0 to 10'} CMDs[#CMDs + 1] = {NAME = 'antilag / boostfps / lowgraphics', DESC = 'Lowers game quality to boost FPS'} @@ -7871,20 +7871,20 @@ addcmd('clientantikick',{'antikick'},function(args, speaker) local oldhmmnc local oldKickFunction if hookfunction then - oldKickFunction = hookfunction(LocalPlayer.Kick, function() end) + oldKickFunction = hookfunction(LocalPlayer.Kick, newcclosure(function() end)) end - oldhmmi = hookmetamethod(game, "__index", function(self, method) + oldhmmi = hookmetamethod(game, "__index", newcclosure(function(self, method) if self == LocalPlayer and method == "Kick" or method == "kick" then return error("Expected ':' not '.' calling member function Kick", 2) end return oldhmmi(self, method) - end) - oldhmmnc = hookmetamethod(game, "__namecall", function(self, ...) + end)) + oldhmmnc = hookmetamethod(game, "__namecall", newcclosure(function(self, ...) if self == LocalPlayer and getnamecallmethod() == "Kick" or getnamecallmethod() == "kick" then return end return oldhmmnc(self, ...) - end) + end)) notify('Client Antikick','Client anti kick is now active (only effective on localscript kick)') end) @@ -7897,26 +7897,29 @@ addcmd('clientantiteleport',{'antiteleport'},function(args, speaker) local TeleportService = TeleportService local oldhmmi local oldhmmnc - oldhmmi = hookmetamethod(game, "__index", function(self, method) + oldhmmi = hookmetamethod(game, "__index", newcclosure(function(self, method) if self == TeleportService then - if method:lower() == "teleport" then + if method == "teleport" or method == "Teleport" then return error("Expected ':' not '.' calling member function Kick", 2) elseif method == "TeleportToPlaceInstance" then return error("Expected ':' not '.' calling member function TeleportToPlaceInstance", 2) end end return oldhmmi(self, method) - end) - oldhmmnc = hookmetamethod(game, "__namecall", function(self, ...) - if self == TeleportService and getnamecallmethod():lower() == "teleport" or getnamecallmethod() == "TeleportToPlaceInstance" then + end)) + oldhmmnc = hookmetamethod(game, "__namecall", newcclosure(function(self, ...) + local nmc = getnamecallmethod() + if self == TeleportService and nmc == "teleport" or nmc == "Teleport" or nmc == "TeleportToPlaceInstance" then return end return oldhmmnc(self, ...) - end) + end)) notify('Client AntiTP','Client anti teleport is now active (only effective on localscript teleport)') end) +--[[ +this literally does nothing? addcmd('allowrejoin',{'allowrj'},function(args, speaker) if args[1] and args[1] == 'false' then allow_rj = false @@ -7926,6 +7929,7 @@ addcmd('allowrejoin',{'allowrj'},function(args, speaker) notify('Client AntiTP','Allow rejoin set to true') end end) +]] addcmd("cancelteleport", {"canceltp"}, function(args, speaker) TeleportService:TeleportCancel() From d04f202980e7f3c34b34531fdd8066e0cc83075e Mon Sep 17 00:00:00 2001 From: thetrollfacenan <102139586+trollfacenan@users.noreply.github.com> Date: Fri, 27 Mar 2026 20:10:57 +0500 Subject: [PATCH 3/7] compatibility improvement --- source | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source b/source index d206d6c1..aba522ff 100644 --- a/source +++ b/source @@ -40,7 +40,7 @@ hookfunction = missing("function", hookfunction) hookmetamethod = missing("function", hookmetamethod) getnamecallmethod = missing("function", getnamecallmethod or get_namecall_method) checkcaller = missing("function", checkcaller, function() return false end) -newcclosure = missing("function", newcclosure) +newcclosure = missing("function", newcclosure, function(f, ...) return f(...) end) getgc = missing("function", getgc or get_gc_objects) setthreadidentity = missing("function", setthreadidentity or (syn and syn.set_thread_identity) or syn_context_set or setthreadcontext) replicatesignal = missing("function", replicatesignal) From 801ccbf8fd5bedcf25868248fa249e2b8f2b49dd Mon Sep 17 00:00:00 2001 From: thetrollfacenan <102139586+trollfacenan@users.noreply.github.com> Date: Tue, 31 Mar 2026 22:20:53 +0500 Subject: [PATCH 4/7] patch LocalPlayer.Kick() detection --- source | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source b/source index aba522ff..374aacfd 100644 --- a/source +++ b/source @@ -7871,7 +7871,12 @@ addcmd('clientantikick',{'antikick'},function(args, speaker) local oldhmmnc local oldKickFunction if hookfunction then - oldKickFunction = hookfunction(LocalPlayer.Kick, newcclosure(function() end)) + oldKickFunction = hookfunction(LocalPlayer.Kick, newcclosure(function(...) + if select(1, ...) == speaker then + return + end + return oldKickFunction(...) + end)) end oldhmmi = hookmetamethod(game, "__index", newcclosure(function(self, method) if self == LocalPlayer and method == "Kick" or method == "kick" then From 87469b9e4fe8e3240bdd39eda81c8e652bedb166 Mon Sep 17 00:00:00 2001 From: thetrollfacenan <102139586+trollfacenan@users.noreply.github.com> Date: Mon, 20 Apr 2026 00:43:34 +0500 Subject: [PATCH 5/7] Update source --- source | 32 +++++++++++--------------------- 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/source b/source index 374aacfd..4a3f3c58 100644 --- a/source +++ b/source @@ -7867,28 +7867,18 @@ addcmd('clientantikick',{'antikick'},function(args, speaker) return notify('Incompatible Exploit','Your exploit does not support this command (missing hookmetamethod)') end local LocalPlayer = Players.LocalPlayer - local oldhmmi - local oldhmmnc - local oldKickFunction - if hookfunction then - oldKickFunction = hookfunction(LocalPlayer.Kick, newcclosure(function(...) - if select(1, ...) == speaker then - return - end - return oldKickFunction(...) - end)) - end - oldhmmi = hookmetamethod(game, "__index", newcclosure(function(self, method) - if self == LocalPlayer and method == "Kick" or method == "kick" then - return error("Expected ':' not '.' calling member function Kick", 2) - end - return oldhmmi(self, method) + local oldNamecall; oldNamecall = hookmetamethod(game, "__namecall", newcclosure(function(...) + local method = getnamecallmethod and getnamecallmethod() or "" + if select(1, ...) == LocalPlayer and method == "Kick" or method == "kick" then + return nil + end + return oldNamecall(...) end)) - oldhmmnc = hookmetamethod(game, "__namecall", newcclosure(function(self, ...) - if self == LocalPlayer and getnamecallmethod() == "Kick" or getnamecallmethod() == "kick" then - return - end - return oldhmmnc(self, ...) + hookfunction(LocalPlayer.Kick, newcclosure(function(self, _) + if self ~= lp then + error("Expected ':' not '.' calling member function Kick", 2) + end + return nil end)) notify('Client Antikick','Client anti kick is now active (only effective on localscript kick)') From e9ee0729ac73bff9b1307a6af74dc5a457a4830e Mon Sep 17 00:00:00 2001 From: thetrollfacenan <102139586+trollfacenan@users.noreply.github.com> Date: Thu, 23 Apr 2026 23:11:30 +0500 Subject: [PATCH 6/7] teleport hooks --- source | 66 ++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 41 insertions(+), 25 deletions(-) diff --git a/source b/source index 4a3f3c58..c838ff58 100644 --- a/source +++ b/source @@ -7889,42 +7889,58 @@ addcmd('clientantiteleport',{'antiteleport'},function(args, speaker) if not hookmetamethod then return notify('Incompatible Exploit','Your exploit does not support this command (missing hookmetamethod)') end - local TeleportService = TeleportService - local oldhmmi - local oldhmmnc - oldhmmi = hookmetamethod(game, "__index", newcclosure(function(self, method) - if self == TeleportService then - if method == "teleport" or method == "Teleport" then - return error("Expected ':' not '.' calling member function Kick", 2) - elseif method == "TeleportToPlaceInstance" then - return error("Expected ':' not '.' calling member function TeleportToPlaceInstance", 2) - end - end - return oldhmmi(self, method) + + local oldTp; oldTp = hookfunction(TeleportService.Teleport, newcclosure(function(self, placeId, player, _teleportData, customLoadingScreen) + if checkcaller() or (allow_rj and select(2, ...) == game.PlaceId) then + return oldTp(...) + end + if self ~= TeleportService then + error("Expected ':' not '.' calling member function Teleport", 2) + end + if placeId == nil then + error("Argument 1 missing or nil", 2) + end + if typeof(placeId) ~= "number" and placeId ~= true then + error(`Unable to cast {typeof(placeId)} to int64`, 2) + elseif placeId == true then + -- somehow raise raiseTeleportInitFailedEvent + return + end + if typeof(customLoadingScreen) ~= "Instance" and customLoadingScreen ~= nil then + error("Unable to cast value to Object", 2) + end + return nil end)) - oldhmmnc = hookmetamethod(game, "__namecall", newcclosure(function(self, ...) + hookfunction(TeleportService.TeleportAsync, newcclosure(function(self, placeId, players, teleportOptions) + if self ~= TeleportService then + error("Expected ':' not '.' calling member function TeleportAsync", 2) + end + if players == nil then + error("Argument 2 missing or nil", 2) + end + if typeof(players) ~= "table" then + error("Unable to cast value to Objects", 2) + end + error("TeleportUnknown must be called from a Server", 2) + end)) + local oldNamecall; oldNamecall = hookmetamethod(game, "__namecall", newcclosure(function(...) local nmc = getnamecallmethod() - if self == TeleportService and nmc == "teleport" or nmc == "Teleport" or nmc == "TeleportToPlaceInstance" then + if select(1, ...) == TeleportService and nmc == "teleport" or nmc == "Teleport" or nmc == "TeleportToPlaceInstance" or nmc == "TeleportAsync" then + if checkcaller() or (allow_rj and select(2, ...) == game.PlaceId) then + return oldNamecall(...) + end return end - return oldhmmnc(self, ...) + return oldNamecall(...) end)) notify('Client AntiTP','Client anti teleport is now active (only effective on localscript teleport)') end) ---[[ -this literally does nothing? addcmd('allowrejoin',{'allowrj'},function(args, speaker) - if args[1] and args[1] == 'false' then - allow_rj = false - notify('Client AntiTP','Allow rejoin set to false') - else - allow_rj = true - notify('Client AntiTP','Allow rejoin set to true') - end + allow_rj = not allow_rj + notify("Client AntiTP", `Scripts now may{allow_rj and " not"} make you rejoin the server`) end) -]] addcmd("cancelteleport", {"canceltp"}, function(args, speaker) TeleportService:TeleportCancel() From 43798a7d1660e5c4ea682e9e9df9465533dadd21 Mon Sep 17 00:00:00 2001 From: thetrollfacenan <102139586+trollfacenan@users.noreply.github.com> Date: Thu, 23 Apr 2026 23:33:18 +0500 Subject: [PATCH 7/7] Update source --- source | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source b/source index c838ff58..16db69f2 100644 --- a/source +++ b/source @@ -4497,7 +4497,7 @@ CMDs[#CMDs + 1] = {NAME = 'antigameplaypaused', DESC = 'Clears the annoying box CMDs[#CMDs + 1] = {NAME = 'unantigameplaypaused', DESC = 'Disables antigameplaypaused'} CMDs[#CMDs + 1] = {NAME = 'clientantikick / antikick (CLIENT)', DESC = 'Prevents localscripts from kicking you'} CMDs[#CMDs + 1] = {NAME = 'clientantiteleport / antiteleport (CLIENT)', DESC = 'Prevents localscripts from teleporting you'} ---CMDs[#CMDs + 1] = {NAME = 'allowrejoin / allowrj [true/false] (CLIENT)', DESC = 'Changes if antiteleport allows you to rejoin or not'} +CMDs[#CMDs + 1] = {NAME = 'allowrejoin / allowrj (CLIENT)', DESC = 'Toggles if antiteleport allows you to rejoin or not'} CMDs[#CMDs + 1] = {NAME = 'cancelteleport / canceltp', DESC = 'Cancels teleports in progress'} CMDs[#CMDs + 1] = {NAME = 'volume / vol [0-10]', DESC = 'Adjusts your game volume on a scale of 0 to 10'} CMDs[#CMDs + 1] = {NAME = 'antilag / boostfps / lowgraphics', DESC = 'Lowers game quality to boost FPS'} @@ -7891,8 +7891,8 @@ addcmd('clientantiteleport',{'antiteleport'},function(args, speaker) end local oldTp; oldTp = hookfunction(TeleportService.Teleport, newcclosure(function(self, placeId, player, _teleportData, customLoadingScreen) - if checkcaller() or (allow_rj and select(2, ...) == game.PlaceId) then - return oldTp(...) + if checkcaller() or (allow_rj and placeId == game.PlaceId) then + return oldTp(self, placeId, player, _teleportData, customLoadingScreen) end if self ~= TeleportService then error("Expected ':' not '.' calling member function Teleport", 2) @@ -7939,7 +7939,7 @@ end) addcmd('allowrejoin',{'allowrj'},function(args, speaker) allow_rj = not allow_rj - notify("Client AntiTP", `Scripts now may{allow_rj and " not"} make you rejoin the server`) + notify("Client AntiTP", `Scripts now may{allow_rj and "" or " not"} make you rejoin the server`) end) addcmd("cancelteleport", {"canceltp"}, function(args, speaker)