The problem I've been focusing on was mostly on trying to get this one text follow the intermission/RoundTime.
Here is the code
local countdownval = game.StarterGui.RoundInfo.Frame.Countdown.Num.Value
local countdown = game.StarterGui.RoundInfo.Frame.Countdown.Num
local gameRoundLength = 60
local intermissionLength = 10
local roundStartTime
local Map1 = workspace.MapNormal
local function active()
local Map1Copy = Map1:clone()
Map1Copy.Name = "MapClassicCopy"
Map1Copy.Parent = game.Workspace
roundStartTime = tick()
end
local function cleanup()
game.Workspace.MapClassicCopy:Destroy()
end
Map1.Parent = game.ServerStorage
while true do
active()
repeat
local currentTime = tick()
local timeSinceGameStarted = currentTime - roundStartTime
game.StarterGui.RoundInfo.Frame.Countdown.Num.Value = currentTime
game.StarterGui.RoundInfo.Frame.Countdown.Text = game.StarterGui.RoundInfo.Frame.Countdown.Num.Value
wait(0.25)
until timeSinceGameStarted > gameRoundLength
cleanup()
wait(intermissionLength)
end
Here is the ScreenGUI GUI Preview

3 comments
This is probably the most popular way. Another way would be to create a RemoteEvent and whenever the intermission time is set you can fire all the clients and have it update from there. However that's a bit harder to do for a beginner like you seem.
And where do you want me to put the code of "Server Script" in?
It should be in the Main Script that switches maps, teleporting players, etc.