Hello!
I am posting the problem here as I can’t post it on bug reports.
So, the problem is, I added a loading screen to my game and after that, whenever I join an updated server this happens:
(“Roblox has shutdown the server for maintance” in english)
Scripts and stuff:
(Sorry for the quality of the videos)
I don’t know what may be causing the problem, any help is appreciated, thanks!
Hello! I don’t know if this is the problem but I think the mistake is in this script.

As I see you have a line
connection:Disconnect()
I think this is the issue, but I’m not sure. Test it and let me know!
Delete that line and maybe it will work.
You could just format your codes in code blocks, right? 
This would be easier to look at
For your issue, are you sure that there isn’t any Kick function you implemented in there by accident?
The connection variable is there to disconnect the Event after it’s fired, (Aka firing it only once) I don’t think that’d be the issue
1 Like
Ah! alright my bad. Thanks for telling me 
I have a folder called songs on workspace that has a lot of sounds, may that be the problem? (no it wasn’t lol)
Scripts
LoadScript:
local frame = script.Parent
local CP = game:GetService("ContentProvider")
local infoLabel = frame:WaitForChild("InfoLabel")
local skipButton = frame:WaitForChild("SkipButton")
local skipped = false
local connection
if not game:IsLoaded() then
game.Loaded:Wait()
end
skipButton.Visible = true
connection = skipButton.MouseButton1Click:Connect(function() skipped = true end)
repeat wait()
infoLabel.Text = "assets left: "..tostring(CP.RequestQueueSize)
until CP.RequestQueueSize <= 0 or skipped
infoLabel.Text = "loaded!!"
skipButton.Visible = false
connection:Disconnect()
wait(3)
frame:TweenPosition(UDim2.new(1, 0, 1, 0), "Out", "Quad", 0.5, false)
wait(0.5)
frame.Parent.WarnFrame.Agree.AgreeScript.Disabled = false
wait()
frame.Visible = false
game.ReplicatedStorage:WaitForChild("Destroy"):FireServer(frame)
frame:Destroy()
AgreeScript:
if not game:GetService("RunService"):IsStudio() then
local button = script.Parent
local frame = button.Parent
local connection
frame.Visible = true
wait(2)
for i = 15, 0, -1 do
button.Text = "I Agree ("..i..")"
wait(1)
end
button.Text = "I Agree"
connection = button.MouseButton1Click:Connect(function()
connection:Disconnect()
game.ReplicatedStorage:WaitForChild("Destroy"):FireServer(frame.Parent)
frame.Parent:Destroy()
end)
end
Script that does things:
local replicatedFirst = game:GetService("ReplicatedFirst")
local gui = script:WaitForChild("LoadingGUI")
local plr = game.Players.LocalPlayer
replicatedFirst:RemoveDefaultLoadingScreen()
gui:Clone().Parent = plr:WaitForChild("PlayerGui")
local chatService = game:GetService("Chat")
chatService:RegisterChatCallback(Enum.ChatCallbackType.OnCreatingChatWindow, function()
return {BubbleChatEnabled = true}
end)
I don’t see anything suspicious here. Maybe the problem is in another script.
Have you used free models or free scripts? If so, you should review them and see if any of them has something wrong or malicious lines.
You should try as well to review if the problem is inside the Loading UI. You can disable it and its scripts and test the game. If you are not kicked, then we confirm that the issue is in your Loading UI
No, but when I do, I remove all the scripts and everything that’s useless
Imma try what you suggested though
1 Like
Alright! Let us know what happens!
Yep, that was the problem
Scripts in replicated first run before everything (or just run first), Imma try to find a solution, thanks!
1 Like
Alright! No problem. I’m glad that we could help you! 