diff --git a/scripts/batch/github_sync.bat b/scripts/batch/github_sync.bat index 8592e7d..f039852 100644 --- a/scripts/batch/github_sync.bat +++ b/scripts/batch/github_sync.bat @@ -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 \ No newline at end of file diff --git a/scripts/game/2006S-Shaders/CSMPFunctions.lua b/scripts/game/2006S-Shaders/CSMPFunctions.lua index ac4e4bc..5987f20 100644 --- a/scripts/game/2006S-Shaders/CSMPFunctions.lua +++ b/scripts/game/2006S-Shaders/CSMPFunctions.lua @@ -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 diff --git a/scripts/game/2006S/CSMPFunctions.lua b/scripts/game/2006S/CSMPFunctions.lua index 4ced27c..3d4b5b2 100644 --- a/scripts/game/2006S/CSMPFunctions.lua +++ b/scripts/game/2006S/CSMPFunctions.lua @@ -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 diff --git a/scripts/game/2007E-Shaders/CSMPFunctions.lua b/scripts/game/2007E-Shaders/CSMPFunctions.lua index 5be5424..5a0568e 100644 --- a/scripts/game/2007E-Shaders/CSMPFunctions.lua +++ b/scripts/game/2007E-Shaders/CSMPFunctions.lua @@ -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 diff --git a/scripts/game/2007E/CSMPFunctions.lua b/scripts/game/2007E/CSMPFunctions.lua index 5be5424..5a0568e 100644 --- a/scripts/game/2007E/CSMPFunctions.lua +++ b/scripts/game/2007E/CSMPFunctions.lua @@ -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 diff --git a/scripts/game/2007M-Shaders/CSMPFunctions.lua b/scripts/game/2007M-Shaders/CSMPFunctions.lua index 0e82207..cda11bc 100644 --- a/scripts/game/2007M-Shaders/CSMPFunctions.lua +++ b/scripts/game/2007M-Shaders/CSMPFunctions.lua @@ -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 diff --git a/scripts/game/2007M/CSMPFunctions.lua b/scripts/game/2007M/CSMPFunctions.lua index a2ea60a..00e4e4f 100644 --- a/scripts/game/2007M/CSMPFunctions.lua +++ b/scripts/game/2007M/CSMPFunctions.lua @@ -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 diff --git a/scripts/game/2008M/CSMPFunctions.lua b/scripts/game/2008M/CSMPFunctions.lua index 94c8f90..d4837ca 100644 --- a/scripts/game/2008M/CSMPFunctions.lua +++ b/scripts/game/2008M/CSMPFunctions.lua @@ -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 diff --git a/scripts/game/2009E-HD/CSMPFunctions.lua b/scripts/game/2009E-HD/CSMPFunctions.lua index 7c980a3..82b62b0 100644 --- a/scripts/game/2009E-HD/CSMPFunctions.lua +++ b/scripts/game/2009E-HD/CSMPFunctions.lua @@ -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 diff --git a/scripts/game/2009E/CSMPFunctions.lua b/scripts/game/2009E/CSMPFunctions.lua index 7c980a3..82b62b0 100644 --- a/scripts/game/2009E/CSMPFunctions.lua +++ b/scripts/game/2009E/CSMPFunctions.lua @@ -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 diff --git a/scripts/game/2010L/CSMPFunctions.lua b/scripts/game/2010L/CSMPFunctions.lua index 7d4de31..44408a4 100644 --- a/scripts/game/2010L/CSMPFunctions.lua +++ b/scripts/game/2010L/CSMPFunctions.lua @@ -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 diff --git a/scripts/game/2011E/CSMPFunctions.lua b/scripts/game/2011E/CSMPFunctions.lua index 406c514..6ff103f 100644 --- a/scripts/game/2011E/CSMPFunctions.lua +++ b/scripts/game/2011E/CSMPFunctions.lua @@ -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 diff --git a/scripts/game/2011M/CSMPFunctions.lua b/scripts/game/2011M/CSMPFunctions.lua index bf129e8..cb94eec 100644 --- a/scripts/game/2011M/CSMPFunctions.lua +++ b/scripts/game/2011M/CSMPFunctions.lua @@ -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