Fe Kick Ban Player Gui Script Op Roblox Exclusive ((new)) Page
The script finds the specific RemoteEvent responsible for kicking players and replicates it.
. Because of this, a true "FE Kick/Ban GUI" cannot work unless the game developer has already included specific remote events on the server that an exploiter can hijack. The Realistic "Story" of These Scripts
Instead of typing long strings like :kick playername reason , you simply click a name and a button.
Often includes a scrollable list of active players or a search bar that supports partial name matching (e.g., typing "playe" to find "Player1"). fe kick ban player gui script op roblox exclusive
When you press the button on the GUI, the script fires that RemoteEvent with the target player’s ID as a parameter.
Because the ban script uses DataStoreService to remember banned users even after they leave, you must enable API access. Save your game to Roblox (). Go to Home > Game Settings > Security . Toggle Enable Studio Access to API Services to ON . Click Save . Essential Security Warning
A FE (Frontend) Kick Ban Player GUI Script is a type of script used in Roblox to create a graphical user interface (GUI) that allows game developers to manage player bans and kicks. This script is typically used by game administrators to moderate player behavior and enforce game rules. The script finds the specific RemoteEvent responsible for
: Disconnects a player immediately using player:Kick("Reason") .
local ReplicatedStorage = game:GetService("ReplicatedStorage") local Players = game:GetService("Players") local modEvent = Instance.new("RemoteEvent") modEvent.Name = "ModAction" modEvent.Parent = ReplicatedStorage -- ENTER ADMIN USER IDS HERE FOR SECURITY local ADMIN_IDS = 12345678, -- Replace with your Roblox User ID 87654321, -- Replace with an assistant admin's ID -- Simple function to verify if the player firing the event is an admin local function isAdmin(player) for _, id in pairs(ADMIN_IDS) do if player.UserId == id then return true end end return false end -- DataStore setup for permanent bans local DataStoreService = game:GetService("DataStoreService") local BanDataStore = DataStoreService:GetDataStore("PermanentBans_V1") modEvent.OnServerEvent:Connect(function(player, actionType, targetName, reason) -- CRITICAL SECURITY CHECK if not isAdmin(player) then warn(player.Name .. " attempted to use admin commands without permission!") player:Kick("Exploiting attempt: Unauthorized Admin Access.") return end -- Find the target player local targetPlayer = nil for _, p in pairs(Players:GetPlayers()) do if string.lower(p.Name):sub(1, #targetName) == string.lower(targetName) then targetPlayer = p break end end if not targetPlayer then warn("Target player not found.") return end if reason == "" then reason = "No reason provided by Administrator." end -- Execute Actions if actionType == "Kick" then targetPlayer:Kick("\n[Kicked]\nReason: " .. reason) print(targetPlayer.Name .. " has been successfully kicked.") elseif actionType == "Ban" then local success, err = pcall(function() BanDataStore:SetAsync(tostring(targetPlayer.UserId), Banned = true, Reason = reason) end) if success then targetPlayer:Kick("\n[Permanently Banned]\nReason: " .. reason) print(targetPlayer.Name .. " has been permanently banned.") else warn("Failed to save ban data: " .. tostring(err)) end end end) -- Check if joining players are banned Players.PlayerAdded:Connect(function(joiningPlayer) local data local success, err = pcall(function() data = BanDataStore:GetAsync(tostring(joiningPlayer.UserId)) end) if success and data and data.Banned then joiningPlayer:Kick("\n[Banned]\nYou are permanently banned from this game.\nReason: " .. (data.Reason or "No reason specified.")) end end) Use code with caution. Step 5: Handling Datastores & Game Settings
Disconnects a user with a custom reason (e.g., "Disconnected by Admin"). The Realistic "Story" of These Scripts Instead of
-- ServerScriptService/AdminServerController.lua local ReplicatedStorage = game:GetService("ReplicatedStorage") local Players = game:GetService("Players") local DataStoreService = game:GetService("DataStoreService") -- Configuration local AdminWhitelist = [12345678] = true, -- Replace with your Roblox User ID [87654321] = true, -- Add secondary admin User IDs here -- DataStore for saving permanent bans local BanDataStore = DataStoreService:GetDataStore("PermanentBanRegistry_v1") -- Setup Remotes local RemotesFolder = ReplicatedStorage:WaitForChild("AdminRemotes") local ActionRequest = RemotesFolder:WaitForChild("ActionRequest") -- Helper: Check if a player is an authorized admin local function isAuthorized(player) return AdminWhitelist[player.UserId] == true end -- Handle player joining to enforce existing bans Players.PlayerAdded:Connect(function(player) local userId = player.UserId local success, banRecord = pcall(function() return BanDataStore:GetAsync("Ban_" .. userId) end) if success and banRecord then player:Kick("\n[EXCLUSIVE BAN SYSTEM]\nYou are permanently banned.\nReason: " .. (banRecord.Reason or "No reason specified")) end end) -- Main Remote Event Listener ActionRequest.OnServerEvent:Connect(function(adminPlayer, targetName, actionType, reason) -- Security Check 1: Is the sender an actual admin? if not isAuthorized(adminPlayer) then warn(adminPlayer.Name .. " attempted to execute an admin command without authorization!") return end -- Security Check 2: Does the target player exist? local targetPlayer = Players:FindFirstChild(targetName) if not targetPlayer and actionType == "Kick" then return end -- Sanitize the reason string reason = tostring(reason or "Violation of experience rules.") if actionType == "Kick" then targetPlayer:Kick("\n[ADMIN KICK]\nExecuted by: " .. adminPlayer.Name .. "\nReason: " .. reason) elseif actionType == "Ban" then if targetPlayer then -- Ban online player local targetUserId = targetPlayer.UserId local banData = BanTimeStamp = os.time(), Reason = reason, BannedBy = adminPlayer.UserId pcall(function() BanDataStore:SetAsync("Ban_" .. targetUserId, banData) end) targetPlayer:Kick("\n[PERMANENT BAN]\nExecuted by: " .. adminPlayer.Name .. "\nReason: " .. reason) else -- Offline ban support via username resolution local targetUserId local success, _ = pcall(function() targetUserId = Players:GetUserIdFromNameAsync(targetName) end) if success and targetUserId then local banData = BanTimeStamp = os.time(), Reason = reason, BannedBy = adminPlayer.UserId pcall(function() BanDataStore:SetAsync("Ban_" .. targetUserId, banData) end) end end end end) Use code with caution. Step 3: Coding the Front-End GUI LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage") local AdminAction = ReplicatedStorage:WaitForChild("AdminAction") local frame = script.Parent local playerInput = frame:WaitForChild("PlayerInput") local reasonInput = frame:WaitForChild("ReasonInput") local kickButton = frame:WaitForChild("KickButton") local banButton = frame:WaitForChild("BanButton") kickButton.MouseButton1Click:Connect(function() local target = playerInput.Text local reason = reasonInput.Text if target ~= "" then AdminAction:FireServer(target, "Kick", reason) end end) banButton.MouseButton1Click:Connect(function() local target = playerInput.Text local reason = reasonInput.Text if target ~= "" then AdminAction:FireServer(target, "Ban", reason) end end) Use code with caution. The Danger of Public "Exclusive" Exploiting Scripts