How to create a player whitelist module?

Recently I have been trying to create a player whitelist module which can be used as universal script for all whitelists. However I cant figure out how to make it work.

Here is the code I used:

local Whitelist =

	Whitelist.Mainframe = script.Parent.ParentFrame.DarkTheme.Frame.MainFrame

	Whitelist.Ranks = {

	All = {"1060189821",},
	Owner = {"1060189821",},
	Admin = {"0",},
	Moderator = {"0",}


	Whitelist.Locks = {

	PlayerCommandsSearch = Mainframe.PlayerCommandsScreen.SearchPlayers.Locked,
	ServerCommands = Mainframe.ServerCommandsScreen.Locked,
	BanManager = Mainframe.BanManager.Locked


	Whitelist.Player = game.Players.LocalPlayer

return Whitelist

1 Like

I would make whitelist a dictionary with there userid and then there rank in numbers 1-4 and in the script you require it check if they are in the dictionary and if they are there rank.

1 Like

I’m not sure I understand what the rest of your code is supposed to do, but here’s a script to put in the ServerScriptService that will go through all the IDs in the whitelist and if it’s not one of them kick the player

Script in ServerScriptService

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")

local WhiteListModule = require(ReplicatedStorage.WhiteListModule)

local function CheckIfWhiteList(Player:Player)
	local rankName
	for i, rank in WhiteListModule.Ranks do
		rankName = i
		if rank then
			for _, PlayerID in rank do 
				if PlayerID == Player.UserId then -- Compare the UserID in the WhiteList with that of the player who has just joined
					return rankName					

	return false

	local IsWhiteList = CheckIfWhiteList(Player)
	if IsWhiteList then
		print(Player.Name.." is in the whitelist with the rank "..IsWhiteList)
		Player:Kick(Player.Name.." is not whitelist")

In this case, the ModuleScript you gave earlier must be placed in replicated storage.

ModuleScript in ReplicatedStorage

local Whitelist = {}


Whitelist.Ranks = {

	All = {1060189821},
	Owner = {1060189821,},
	Admin = {0},
	Moderator = {0,}



return Whitelist
1 Like