mirror of
https://github.com/Novetus/Novetus_src.git
synced 2025-01-31 09:41:33 +02:00
69 lines
1.8 KiB
Lua
69 lines
1.8 KiB
Lua
|
local this = {}
|
||
|
|
||
|
--https://www.tutorialspoint.com/how-to-search-for-an-item-in-a-lua-list
|
||
|
function Set(list)
|
||
|
local set = {}
|
||
|
for _, l in ipairs(list) do set[l] = true end
|
||
|
return set
|
||
|
end
|
||
|
|
||
|
-- DONT EDIT ANYTHING ELSE ABOVE
|
||
|
|
||
|
-- add player tripcodes here in quotes sepertaed by commas
|
||
|
local tripcodeList = Set {}
|
||
|
-- enable this to trigger the whitelist
|
||
|
local enabled = false
|
||
|
|
||
|
-- DONT EDIT ANYTHING ELSE BELOW
|
||
|
|
||
|
function this:Name()
|
||
|
return "Server Whitelist"
|
||
|
end
|
||
|
|
||
|
-- executes before the game starts (server, solo, studio)
|
||
|
-- arguments: Script - returns the script type name (Server, Solo, Studio), Client - returns the Client name.
|
||
|
function this:PreInit(Script, Client)
|
||
|
if (Script ~= "Server") then
|
||
|
enabled = false
|
||
|
end
|
||
|
end
|
||
|
|
||
|
-- executes after a player joins (server)
|
||
|
-- arguments: Player - the Player joining
|
||
|
function this:OnPlayerAdded(Player)
|
||
|
if (enabled == true) then
|
||
|
local hasTripcode = false
|
||
|
|
||
|
for _,newVal in pairs(Player:children()) do
|
||
|
if (newVal.Name == "Tripcode") then
|
||
|
if (newVal.Value ~= "") then
|
||
|
hasTripcode = true
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if (hasTripcode and tripcodeList[Player.Tripcode.Value]) then
|
||
|
print("Player '" .. Player.Name .. "' is in whitelist!")
|
||
|
else
|
||
|
print("Player '" .. Player.Name .. "' not in whitelist. Kicking.")
|
||
|
|
||
|
Server = game:GetService("NetworkServer")
|
||
|
for _,Child in pairs(Server:children()) do
|
||
|
name = "ServerReplicator|"..Player.Name.."|"..Player.userId.."|"..Player.AnonymousIdentifier.Value
|
||
|
if (Server:findFirstChild(name) ~= nil and Child.Name == name) then
|
||
|
Child:CloseConnection()
|
||
|
print("Player '" .. Player.Name .. "' Kicked. Reason: Not in whitelist")
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
-- DO NOT REMOVE THIS. this is required to load this addon into the game.
|
||
|
|
||
|
function AddModule(t)
|
||
|
print("AddonLoader: Adding " .. this:Name())
|
||
|
table.insert(t, this)
|
||
|
end
|
||
|
|
||
|
_G.CSScript_AddModule=AddModule
|