Why isn't this soft shutdown working?

So I made a soft shutdown with gui’s and remote events but nothing prints, the main part of the soft shutdown works but not the gui part… It doesn’t even print anything.

Entire ServerScript

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

if (game.VIPServerId ~= "" and game.VIPServerOwnerId == 0) then
	
	print("sending")

	local success, Erorr = pcall(function()
		game.ReplicatedStorage.TurnTradeEvent:FireAllClients()
	end)

	if not success then
		warn(Erorr)
	end

	print("sent")

	local waitTime = 10

	Players.PlayerAdded:connect(function(player)
		wait(waitTime)
		waitTime = waitTime / 2
		TeleportService:Teleport(game.PlaceId, player)
	end)

	for _, player in pairs(Players:GetPlayers()) do
		TeleportService:Teleport(game.PlaceId, player)
		wait(waitTime)
		waitTime = waitTime / 2
	end
else
	game:BindToClose(function()
		if (#Players:GetPlayers() == 0) then return end
		
		if (game:GetService("RunService"):IsStudio()) then return end
		
		print("sending") -- no print
		
		local success, Erorr = pcall(function()
			game.ReplicatedStorage.TurnTradeEvent:FireAllClients()
		end)
		
		if not success then
			warn(Erorr)
		end
		
		print("sent")
		wait(2)
		local reservedServerCode = TeleportService:ReserveServer(game.PlaceId)

		for _, player in pairs(Players:GetPlayers()) do
			TeleportService:TeleportToPrivateServer(game.PlaceId, reservedServerCode, {player})
		end
		
		Players.PlayerAdded:connect(function(player)
			TeleportService:TeleportToPrivateServer(game.PlaceId, reservedServerCode, {player})
		end)
		
		while (#Players:GetPlayers() > 0) do
			wait(1)
		end	
	end)
end

Entire ClientCode

game.ReplicatedStorage.ShutDownPlayer.OnClientEvent:Connect(function()
	print("on") -- No print
	script.Parent:WaitForChild("Shutdown").Visible = true
end)

This was tested in a normal roblox game. I have tessted this w/ and w/ out a pcall function.

1 Like

Still cannot find the issue here.

1 Like