Roblox Kick Amp Ban Script Kick Script V2 Portable (100% TRENDING)

Since 2019, Roblox requires all games to have FilteringEnabled active. FE prevents client-side scripts from directly affecting server-side properties. Legitimate kick commands MUST originate from the server. Exploits can only mimic or trick servers, but universal methods rarely work across different game architectures.

Place this in ServerScriptService:

local AdminModule = {}
local Admins = 
    [12345678] = true, -- Replace with your User ID
    -- Add more admin User IDs here

function AdminModule:KickPlayer(executor, targetUser, reason) if not Admins[executor.UserId] then return false end roblox kick amp ban script kick script v2 portable

local target = game.Players:FindFirstChild(targetUser)
if target then
    target:Kick(reason or "Kicked by admin: " .. executor.Name)
    return true
end
return false

end

function AdminModule:BanPlayer(executor, targetUser, reason, duration) if not Admins[executor.UserId] then return false end Since 2019, Roblox requires all games to have

-- Implement ban storage here
-- Use DataStoreService for persistent bans
local target = game.Players:FindFirstChild(targetUser)
if target then
    target:Kick(reason or "Banned by admin: " .. executor.Name)
    return true
end
return false

end

return AdminModule

-- Services
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Configuration
local KickMessage = "You have been removed from this server."
-- Storage for kicked players (Portable version uses a table, advanced uses DataStore)
local KickedList = {}
-- RemoteEvent for kicking (Must be created in ReplicatedStorage)
local KickRemote = Instance.new("RemoteEvent")
KickRemote.Name = "RememberKick"
KickRemote.Parent = ReplicatedStorage
-- Function to handle the kicking
local function KickPlayer(targetPlayer, reason)
	if targetPlayer and targetPlayer.Parent then
		-- Add to the kicked list so they can't rejoin
		KickedList[targetPlayer.UserId] = true
-- Kick them
		targetPlayer:Kick(reason or KickMessage)
		print("Kicked " .. targetPlayer.Name)
	end
end
-- Detect if a kicked player tries to rejoin
Players.PlayerAdded:Connect(function(player)
	if KickedList[player.UserId] then
		player:Kick("You are banned from this session.")
	end
end)
-- Listen for the command to kick (Secure way)
KickRemote.OnServerEvent:Connect(function(playerWhoFired, targetPlayer, reason)
	-- SECURITY: Check if the player who fired the remote has admin privileges
	-- Replace this with your actual admin check (e.g., player.UserId == 12345678)
	local isAdmin = playerWhoFired.UserId == 12345678 -- Example Admin ID
if isAdmin then
		KickPlayer(targetPlayer, reason)
	else
		playerWhoFired:Kick("Exploit detected.")
	end
end)
print("Portable Kick V2 Loaded")