add <validate> part 2

This commit is contained in:
Bitl 2021-11-03 09:21:56 -07:00
parent 2f9d8c1df6
commit ddb54d95ed
13 changed files with 131 additions and 71 deletions

View File

@ -1,6 +1,6 @@
@ECHO OFF
SET debug=0
SET debug=1
SET basedir=%CD%\scripts
SET gamescriptdir=%basedir%\game
@ -19,33 +19,47 @@ if not exist "%gamescriptdir%/2011E" mkdir "%gamescriptdir%/2011E"
if not exist "%gamescriptdir%/2011M" mkdir "%gamescriptdir%/2011M"
echo Copying client scripts...
XCOPY "%cd%\Novetus\clients\2006S\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2006S"
XCOPY "%cd%\Novetus\clients\2006S-Shaders\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2006S-Shaders"
XCOPY "%cd%\Novetus\clients\2007E\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2007E"
XCOPY "%cd%\Novetus\clients\2007E-Shaders\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2007E-Shaders"
XCOPY "%cd%\Novetus\clients\2007M\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2007M"
XCOPY "%cd%\Novetus\clients\2007M-Shaders\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2007M-Shaders"
XCOPY "%cd%\Novetus\clients\2008M\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2008M"
XCOPY "%cd%\Novetus\clients\2009E\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2009E"
XCOPY "%cd%\Novetus\clients\2009E-HD\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2009E-HD"
XCOPY "%cd%\Novetus\clients\2010L\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2010L"
XCOPY "%cd%\Novetus\clients\2011E\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2011E"
XCOPY "%cd%\Novetus\clients\2006S\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2006S" /sy
XCOPY "%cd%\Novetus\clients\2006S-Shaders\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2006S-Shaders" /sy
XCOPY "%cd%\Novetus\clients\2007E\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2007E" /sy
XCOPY "%cd%\Novetus\clients\2007E-Shaders\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2007E-Shaders" /sy
XCOPY "%cd%\Novetus\clients\2007M\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2007M" /sy
XCOPY "%cd%\Novetus\clients\2007M-Shaders\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2007M-Shaders" /sy
XCOPY "%cd%\Novetus\clients\2008M\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2008M" /sy
XCOPY "%cd%\Novetus\clients\2009E\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2009E" /sy
XCOPY "%cd%\Novetus\clients\2009E-HD\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2009E-HD" /sy
XCOPY "%cd%\Novetus\clients\2010L\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2010L" /sy
XCOPY "%cd%\Novetus\clients\2011E\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2011E" /sy
XCOPY "%cd%\Novetus\clients\2011M\content\scripts\CSMPFunctions.lua" "%gamescriptdir%/2011M"
echo.
echo Copying client corescripts...
echo.
echo 2011E
SET ecores=%gamescriptdir%\2011E\cores
if not exist "%ecores%" mkdir "%ecores%"
XCOPY "%cd%\Novetus\clients\2011E\content\scripts\cores\*.lua" "%ecores%" /sy
echo.
echo 2011M
SET mcores=%gamescriptdir%\2011M\cores
if not exist "%mcores%" mkdir "%mcores%"
XCOPY "%cd%\Novetus\clients\2011M\content\scripts\cores\*.lua" "%mcores%" /sy
echo.
echo Copying client script libraries...
XCOPY "%cd%\Novetus\clients\2006S\content\fonts\libraries.rbxm" "%gamescriptdir%/2006S"
XCOPY "%cd%\Novetus\clients\2006S-Shaders\content\fonts\libraries.rbxm" "%gamescriptdir%/2006S-Shaders"
XCOPY "%cd%\Novetus\clients\2007E\content\fonts\libraries.rbxm" "%gamescriptdir%/2007E"
XCOPY "%cd%\Novetus\clients\2007E-Shaders\content\fonts\libraries.rbxm" "%gamescriptdir%/2007E-Shaders"
XCOPY "%cd%\Novetus\clients\2007M\content\fonts\libraries.rbxm" "%gamescriptdir%/2007M"
XCOPY "%cd%\Novetus\clients\2007M-Shaders\content\fonts\libraries.rbxm" "%gamescriptdir%/2007M-Shaders"
XCOPY "%cd%\Novetus\clients\2008M\content\fonts\libraries.rbxm" "%gamescriptdir%/2008M"
XCOPY "%cd%\Novetus\clients\2009E\content\fonts\libraries.rbxm" "%gamescriptdir%/2009E"
XCOPY "%cd%\Novetus\clients\2009E-HD\content\fonts\libraries.rbxm" "%gamescriptdir%/2009E-HD"
XCOPY "%cd%\Novetus\clients\2010L\content\fonts\libraries.rbxm" "%gamescriptdir%/2010L"
XCOPY "%cd%\Novetus\clients\2011E\content\fonts\libraries.rbxm" "%gamescriptdir%/2011E"
XCOPY "%cd%\Novetus\clients\2011M\content\fonts\libraries.rbxm" "%gamescriptdir%/2011M"
XCOPY "%cd%\Novetus\clients\2006S\content\fonts\libraries.rbxm" "%gamescriptdir%/2006S" /sy
XCOPY "%cd%\Novetus\clients\2006S-Shaders\content\fonts\libraries.rbxm" "%gamescriptdir%/2006S-Shaders" /sy
XCOPY "%cd%\Novetus\clients\2007E\content\fonts\libraries.rbxm" "%gamescriptdir%/2007E" /sy
XCOPY "%cd%\Novetus\clients\2007E-Shaders\content\fonts\libraries.rbxm" "%gamescriptdir%/2007E-Shaders" /sy
XCOPY "%cd%\Novetus\clients\2007M\content\fonts\libraries.rbxm" "%gamescriptdir%/2007M" /sy
XCOPY "%cd%\Novetus\clients\2007M-Shaders\content\fonts\libraries.rbxm" "%gamescriptdir%/2007M-Shaders" /sy
XCOPY "%cd%\Novetus\clients\2008M\content\fonts\libraries.rbxm" "%gamescriptdir%/2008M" /sy
XCOPY "%cd%\Novetus\clients\2009E\content\fonts\libraries.rbxm" "%gamescriptdir%/2009E" /sy
XCOPY "%cd%\Novetus\clients\2009E-HD\content\fonts\libraries.rbxm" "%gamescriptdir%/2009E-HD" /sy
XCOPY "%cd%\Novetus\clients\2010L\content\fonts\libraries.rbxm" "%gamescriptdir%/2010L" /sy
XCOPY "%cd%\Novetus\clients\2011E\content\fonts\libraries.rbxm" "%gamescriptdir%/2011E" /sy
XCOPY "%cd%\Novetus\clients\2011M\content\fonts\libraries.rbxm" "%gamescriptdir%/2011M" /sy
echo.
echo Copying default client configurations...
@ -65,18 +79,18 @@ del /s /q "%tempdir%\GlobalSettings4_2007M.xml"
del /s /q "%tempdir%\GlobalSettings4_2007M-Shaders.xml"
del /s /q "%tempdir%\GlobalSettings7_2008M.xml"
XCOPY "%tempdir%\GlobalSettings2_2007E_default.xml" "%gamescriptdir%/2007E"
XCOPY "%tempdir%\GlobalSettings2_2007E-Shaders_default.xml" "%gamescriptdir%/2007E-Shaders"
XCOPY "%tempdir%\GlobalSettings_4_2009E_default.xml" "%gamescriptdir%/2009E"
XCOPY "%tempdir%\GlobalSettings_4_2009E-HD_default.xml" "%gamescriptdir%/2009E-HD"
XCOPY "%tempdir%\GlobalSettings_4_2010L_default.xml" "%gamescriptdir%/2010L"
XCOPY "%tempdir%\GlobalSettings_4_2011E_default.xml" "%gamescriptdir%/2011E"
XCOPY "%tempdir%\GlobalSettings_4_2011M_default.xml" "%gamescriptdir%/2011M"
XCOPY "%tempdir%\GlobalSettings4_2006S_default.xml" "%gamescriptdir%/2006S"
XCOPY "%tempdir%\GlobalSettings4_2006S-Shaders_default.xml" "%gamescriptdir%/2006S-Shaders"
XCOPY "%tempdir%\GlobalSettings4_2007M_default.xml" "%gamescriptdir%/2007M"
XCOPY "%tempdir%\GlobalSettings4_2007M-Shaders_default.xml" "%gamescriptdir%/2007M-Shaders"
XCOPY "%tempdir%\GlobalSettings7_2008M_default.xml" "%gamescriptdir%/2008M"
XCOPY "%tempdir%\GlobalSettings2_2007E_default.xml" "%gamescriptdir%/2007E" /sy
XCOPY "%tempdir%\GlobalSettings2_2007E-Shaders_default.xml" "%gamescriptdir%/2007E-Shaders" /sy
XCOPY "%tempdir%\GlobalSettings_4_2009E_default.xml" "%gamescriptdir%/2009E" /sy
XCOPY "%tempdir%\GlobalSettings_4_2009E-HD_default.xml" "%gamescriptdir%/2009E-HD" /sy
XCOPY "%tempdir%\GlobalSettings_4_2010L_default.xml" "%gamescriptdir%/2010L" /sy
XCOPY "%tempdir%\GlobalSettings_4_2011E_default.xml" "%gamescriptdir%/2011E" /sy
XCOPY "%tempdir%\GlobalSettings_4_2011M_default.xml" "%gamescriptdir%/2011M" /sy
XCOPY "%tempdir%\GlobalSettings4_2006S_default.xml" "%gamescriptdir%/2006S" /sy
XCOPY "%tempdir%\GlobalSettings4_2006S-Shaders_default.xml" "%gamescriptdir%/2006S-Shaders" /sy
XCOPY "%tempdir%\GlobalSettings4_2007M_default.xml" "%gamescriptdir%/2007M" /sy
XCOPY "%tempdir%\GlobalSettings4_2007M-Shaders_default.xml" "%gamescriptdir%/2007M-Shaders" /sy
XCOPY "%tempdir%\GlobalSettings7_2008M_default.xml" "%gamescriptdir%/2008M" /sy
rmdir "%tempdir%" /s /q
echo.
@ -84,38 +98,38 @@ echo Copying launcher scripts...
SET launcherscriptdir=%basedir%\launcher
if not exist "%launcherscriptdir%" mkdir "%launcherscriptdir%"
if not exist "%launcherscriptdir%/3DView" mkdir "%launcherscriptdir%/3DView"
XCOPY "%cd%\Novetus\bin\preview\content\scripts\CSView.lua" "%launcherscriptdir%/3DView"
XCOPY "%cd%\Novetus\bin\preview\content\fonts\3DView.rbxl" "%launcherscriptdir%/3DView"
XCOPY "%cd%\Novetus\bin\data\Appreciation.rbxl" "%launcherscriptdir%"
XCOPY "%cd%\Novetus\config\ContentProviders.xml" "%launcherscriptdir%"
XCOPY "%cd%\Novetus\config\PartColors.xml" "%launcherscriptdir%"
XCOPY "%cd%\Novetus\config\splashes.txt" "%launcherscriptdir%"
XCOPY "%cd%\Novetus\config\splashes-special.txt" "%launcherscriptdir%"
XCOPY "%cd%\Novetus\config\names-special.txt" "%launcherscriptdir%"
XCOPY "%cd%\Novetus\config\info.ini" "%launcherscriptdir%"
XCOPY "%cd%\Novetus\config\FileDeleteFilter.txt" "%launcherscriptdir%"
XCOPY "%cd%\Novetus\bin\preview\content\scripts\CSView.lua" "%launcherscriptdir%/3DView" /sy
XCOPY "%cd%\Novetus\bin\preview\content\fonts\3DView.rbxl" "%launcherscriptdir%/3DView" /sy
XCOPY "%cd%\Novetus\bin\data\Appreciation.rbxl" "%launcherscriptdir%" /sy
XCOPY "%cd%\Novetus\config\ContentProviders.xml" "%launcherscriptdir%" /sy
XCOPY "%cd%\Novetus\config\PartColors.xml" "%launcherscriptdir%" /sy
XCOPY "%cd%\Novetus\config\splashes.txt" "%launcherscriptdir%" /sy
XCOPY "%cd%\Novetus\config\splashes-special.txt" "%launcherscriptdir%" /sy
XCOPY "%cd%\Novetus\config\names-special.txt" "%launcherscriptdir%" /sy
XCOPY "%cd%\Novetus\config\info.ini" "%launcherscriptdir%" /sy
XCOPY "%cd%\Novetus\config\FileDeleteFilter.txt" "%launcherscriptdir%" /sy
echo.
echo Moving client scripts, libraries, and configurations to GitHub folder...
SET dest=G:\Projects\GitHub\Novetus\Novetus_src
SET scriptsdir=%dest%\scripts
if not exist "%scriptsdir%" mkdir "%scriptsdir%"
XCOPY /y /E "%basedir%" "%scriptsdir%"
XCOPY /E "%basedir%" "%scriptsdir%" /sy
rmdir "%basedir%" /s /q
echo.
echo Coying additional files to GitHub folder...
if not exist "%dest%\scripts\batch" mkdir "%scriptsdir%\batch"
XCOPY /y "%cd%\dev_menu.bat" "%scriptsdir%\batch"
XCOPY /y "%cd%\github_sync.bat" "%scriptsdir%\batch"
XCOPY /y "%cd%\Novetus\Novetus_dependency_installer.bat" "%scriptsdir%\batch"
XCOPY /y "%cd%\Novetus\Novetus_launcher_legacy.bat" "%scriptsdir%\batch"
XCOPY /y "%cd%\Novetus\documentation.txt" "%dest%"
XCOPY /y /c "%cd%\Novetus\.itch.toml" "%dest%"
XCOPY /y "%cd%\Novetus\query.php" "%dest%"
XCOPY /y "%cd%\Novetus\changelog.txt" "%dest%\changelog.txt"
XCOPY /y "%cd%\Novetus\LICENSE.txt" "%dest%\LICENSE"
XCOPY /y "%cd%\Novetus\LICENSE-QUERY-PHP.txt" "%dest%\LICENSE-QUERY-PHP"
XCOPY /y "%cd%\Novetus\LICENSE-RESHADE.txt" "%dest%\LICENSE-RESHADE"
XCOPY /y "%cd%\Novetus\README-AND-CREDITS.TXT" "%dest%"
XCOPY "%cd%\dev_menu.bat" "%scriptsdir%\batch" /sy
XCOPY "%cd%\github_sync.bat" "%scriptsdir%\batch" /sy
XCOPY "%cd%\Novetus\Novetus_dependency_installer.bat" "%scriptsdir%\batch" /sy
XCOPY "%cd%\Novetus\Novetus_launcher_legacy.bat" "%scriptsdir%\batch" /sy
XCOPY "%cd%\Novetus\documentation.txt" "%dest%" /sy
XCOPY /c "%cd%\Novetus\.itch.toml" "%dest%" /sy
XCOPY "%cd%\Novetus\query.php" "%dest%" /sy
XCOPY "%cd%\Novetus\changelog.txt" "%dest%\changelog.txt" /sy
XCOPY "%cd%\Novetus\LICENSE.txt" "%dest%\LICENSE" /sy
XCOPY "%cd%\Novetus\LICENSE-QUERY-PHP.txt" "%dest%\LICENSE-QUERY-PHP" /sy
XCOPY "%cd%\Novetus\LICENSE-RESHADE.txt" "%dest%\LICENSE-RESHADE" /sy
XCOPY "%cd%\Novetus\README-AND-CREDITS.TXT" "%dest%" /sy
if %debug%==1 pause

View File

@ -16,6 +16,8 @@ function KickPlayer(Player,reason)
do return end
end
Server = game:service("NetworkServer")
if (Player ~= nil) then
for _,Child in pairs(Server:children()) do
name = "ServerReplicator|"..Player.Name.."|"..Player.userId.."|"..Player.AnonymousIdentifier.Value

View File

@ -15,6 +15,8 @@ function KickPlayer(Player,reason)
if (game.Lighting:findFirstChild("SkipSecurity") ~= nil) then
do return end
end
Server = game:service("NetworkServer")
if (Player ~= nil) then
for _,Child in pairs(Server:children()) do

View File

@ -16,6 +16,8 @@ function KickPlayer(Player,reason)
do return end
end
Server = game:service("NetworkServer")
if (Player ~= nil) then
for _,Child in pairs(Server:children()) do
name = "ServerReplicator|"..Player.Name.."|"..Player.userId.."|"..Player.AnonymousIdentifier.Value

View File

@ -16,6 +16,8 @@ function KickPlayer(Player,reason)
do return end
end
Server = game:service("NetworkServer")
if (Player ~= nil) then
for _,Child in pairs(Server:children()) do
name = "ServerReplicator|"..Player.Name.."|"..Player.userId.."|"..Player.AnonymousIdentifier.Value

View File

@ -16,6 +16,8 @@ function KickPlayer(Player,reason)
do return end
end
Server = game:GetService("NetworkServer")
if (Player ~= nil) then
for _,Child in pairs(Server:children()) do
name = "ServerReplicator|"..Player.Name.."|"..Player.userId.."|"..Player.AnonymousIdentifier.Value

View File

@ -16,6 +16,8 @@ function KickPlayer(Player,reason)
do return end
end
Server = game:GetService("NetworkServer")
if (Player ~= nil) then
for _,Child in pairs(Server:children()) do
name = "ServerReplicator|"..Player.Name.."|"..Player.userId.."|"..Player.AnonymousIdentifier.Value

View File

@ -16,6 +16,8 @@ function KickPlayer(Player,reason)
do return end
end
Server = game:GetService("NetworkServer")
if (Player ~= nil) then
for _,Child in pairs(Server:children()) do
name = "ServerReplicator|"..Player.Name.."|"..Player.userId.."|"..Player.AnonymousIdentifier.Value

View File

@ -16,6 +16,8 @@ function KickPlayer(Player,reason)
do return end
end
Server = game:GetService("NetworkServer")
if (Player ~= nil) then
for _,Child in pairs(Server:children()) do
name = "ServerReplicator|"..Player.Name.."|"..Player.userId.."|"..Player.AnonymousIdentifier.Value

View File

@ -16,6 +16,8 @@ function KickPlayer(Player,reason)
do return end
end
Server = game:GetService("NetworkServer")
if (Player ~= nil) then
for _,Child in pairs(Server:children()) do
name = "ServerReplicator|"..Player.Name.."|"..Player.userId.."|"..Player.AnonymousIdentifier.Value

View File

@ -17,6 +17,8 @@ function KickPlayer(Player,reason)
do return end
end
Server = game:GetService("NetworkServer")
if (Player ~= nil) then
for _,Child in pairs(Server:children()) do
name = "ServerReplicator|"..Player.Name.."|"..Player.userId.."|"..Player.AnonymousIdentifier.Value

View File

@ -20,6 +20,8 @@ function KickPlayer(Player,reason)
if (game.Lighting:FindFirstChild("SkipSecurity") ~= nil) then
do return end
end
Server = game:GetService("NetworkServer")
if (Player ~= nil) then
for _,Child in pairs(Server:children()) do
@ -474,7 +476,7 @@ function LoadSecurity(playerApp,Player,ServerSecurityLocation)
kick()
end
if (not playerApp:FindFirstChild("ClientEXEMD5") or not playerApp:FindFirstChild("LauncherMD5") or not playerApp:FindFirstChild("ClientScriptMD5")) then
if (not playerApp:FindFirstChild("ClientEXEMD5") or not playerApp:FindFirstChild("LauncherMD5") or not playerApp:FindFirstChild("ClientScriptMD5") or not playerApp:FindFirstChild("ValidatedFiles")) then
kick()
end
@ -499,10 +501,17 @@ function LoadSecurity(playerApp,Player,ServerSecurityLocation)
break
end
end
if (newVal.Name == "ValidatedFiles") then
if (newVal.Value ~= ServerSecurityLocation.Security.ValidatedFiles.Value or newVal.Value == "") then
kick()
break
end
end
end
end
function InitalizeSecurityValues(Location,ClientEXEMD5,LauncherMD5,ClientScriptMD5)
function InitalizeSecurityValues(Location,ClientEXEMD5,LauncherMD5,ClientScriptMD5,ValidatedScripts)
Location = Instance.new("IntValue", Location)
Location.Name = "Security"
@ -517,6 +526,10 @@ function InitalizeSecurityValues(Location,ClientEXEMD5,LauncherMD5,ClientScriptM
local scriptValue = Instance.new("StringValue", Location)
scriptValue.Value = ClientScriptMD5 or ""
scriptValue.Name = "ClientScriptMD5"
local validScriptValue = Instance.new("StringValue", Location)
validScriptValue.Value = ValidatedScripts or "0"
validScriptValue.Name = "ValidatedFiles"
end
function InitalizeTripcode(Location,Tripcode)
@ -547,7 +560,7 @@ end
rbxversion = version()
print("ROBLOX Client version '" .. rbxversion .. "' loaded.")
function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Notifications)
function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Notifications,ValidatedScripts)
assert((type(Port)~="number" or tonumber(Port)~=nil or Port==nil),"CSRun Error: Port must be nil or a number.")
local NetworkServer=game:GetService("NetworkServer")
local RunService = game:GetService("RunService")
@ -625,12 +638,12 @@ function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Noti
end)
RunService:Run()
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
InitalizeSecurityValues(game.Lighting,ClientEXEMD5,LauncherMD5,ClientScriptMD5)
InitalizeSecurityValues(game.Lighting,ClientEXEMD5,LauncherMD5,ClientScriptMD5,ValidatedScripts)
NetworkServer.IncommingConnection:connect(IncommingConnection)
pcall(function() game.Close:connect(function() NetworkServer:Stop() end) end)
end
function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Tripcode,Ticket)
function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Tripcode,ValidatedScripts,Ticket)
pcall(function() game:SetPlaceID(-1, false) end)
pcall(function() game:GetService("Players"):SetChatStyle(Enum.ChatStyle.ClassicAndBubble) end)
@ -740,7 +753,7 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
pcall(function() Visit:SetUploadUrl("") end)
InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
InitalizeSecurityValues(Player,ClientEXEMD5,LauncherMD5,ClientScriptMD5)
InitalizeSecurityValues(Player,ClientEXEMD5,LauncherMD5,ClientScriptMD5,ValidatedScripts)
InitalizeTripcode(Player,Tripcode)
end

View File

@ -18,6 +18,8 @@ function KickPlayer(Player,reason)
if (game.Lighting:FindFirstChild("SkipSecurity") ~= nil) then
do return end
end
Server = game:GetService("NetworkServer")
if (Player ~= nil) then
for _,Child in pairs(Server:children()) do
@ -472,7 +474,7 @@ function LoadSecurity(playerApp,Player,ServerSecurityLocation)
kick()
end
if (not playerApp:FindFirstChild("ClientEXEMD5") or not playerApp:FindFirstChild("LauncherMD5") or not playerApp:FindFirstChild("ClientScriptMD5")) then
if (not playerApp:FindFirstChild("ClientEXEMD5") or not playerApp:FindFirstChild("LauncherMD5") or not playerApp:FindFirstChild("ClientScriptMD5") or not playerApp:FindFirstChild("ValidatedFiles")) then
kick()
end
@ -497,10 +499,17 @@ function LoadSecurity(playerApp,Player,ServerSecurityLocation)
break
end
end
if (newVal.Name == "ValidatedFiles") then
if (newVal.Value ~= ServerSecurityLocation.Security.ValidatedFiles.Value or newVal.Value == "") then
kick()
break
end
end
end
end
function InitalizeSecurityValues(Location,ClientEXEMD5,LauncherMD5,ClientScriptMD5)
function InitalizeSecurityValues(Location,ClientEXEMD5,LauncherMD5,ClientScriptMD5,ValidatedScripts)
Location = Instance.new("IntValue", Location)
Location.Name = "Security"
@ -515,6 +524,10 @@ function InitalizeSecurityValues(Location,ClientEXEMD5,LauncherMD5,ClientScriptM
local scriptValue = Instance.new("StringValue", Location)
scriptValue.Value = ClientScriptMD5 or ""
scriptValue.Name = "ClientScriptMD5"
local validScriptValue = Instance.new("StringValue", Location)
validScriptValue.Value = ValidatedScripts or "0"
validScriptValue.Name = "ValidatedFiles"
end
function InitalizeTripcode(Location,Tripcode)
@ -545,7 +558,7 @@ end
rbxversion = version()
print("ROBLOX Client version '" .. rbxversion .. "' loaded.")
function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Notifications)
function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Notifications,ValidatedScripts)
dofile("rbxasset://scripts\\cores\\StarterScriptServer.lua")
assert((type(Port)~="number" or tonumber(Port)~=nil or Port==nil),"CSRun Error: Port must be nil or a number.")
local NetworkServer=game:GetService("NetworkServer")
@ -624,12 +637,12 @@ function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Noti
end)
RunService:Run()
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
InitalizeSecurityValues(game.Lighting,ClientEXEMD5,LauncherMD5,ClientScriptMD5)
InitalizeSecurityValues(game.Lighting,ClientEXEMD5,LauncherMD5,ClientScriptMD5,ValidatedScripts)
NetworkServer.IncommingConnection:connect(IncommingConnection)
pcall(function() game.Close:connect(function() NetworkServer:Stop() end) end)
end
function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Tripcode,Ticket)
function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Tripcode,ValidatedScripts,Ticket)
dofile("rbxasset://scripts\\cores\\StarterScript.lua")
pcall(function() game:SetPlaceID(-1, false) end)
pcall(function() game:GetService("Players"):SetChatStyle(Enum.ChatStyle.ClassicAndBubble) end)
@ -731,7 +744,7 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
pcall(function() Visit:SetUploadUrl("") end)
InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
InitalizeSecurityValues(Player,ClientEXEMD5,LauncherMD5,ClientScriptMD5)
InitalizeSecurityValues(Player,ClientEXEMD5,LauncherMD5,ClientScriptMD5,ValidatedScripts)
InitalizeTripcode(Player,Tripcode)
end