How to have the server wait for the clients to load in?

Title sums it up. I tried using Player.CharacterAppearanceLoaded but unfortunetly it does not do the trick. Ideas as to how I could pull this off accurately?

Waits For game to load:

if not game.IsLoaded then
game.Loaded:Wait()
end

Waits For Player:

game.Players.PlayerAdded:Connect(function(Plr)
end)

Waits for Character

Plr.CharacterAdded:Connect(function(Char)
end)

Another Example:

player.CharacterAdded:Wait()

Is this supposed to be somethinf ro be ran on the Server?

CharacterAppearenceLoaded fires after CharacteraAdded, afaik, so that doesnt do the trick.

I Believe both Server and Client (Maybe wrong), It checks if the game has loaded (for the Player) and if not, it will wait

I heavily doubt it will target a specific player… Well, I could have the clients fire something after game:IsLoaded(), but exploiters are something to be feared.

This is how people make Loading Screens (Usually, not always) for their games :face_with_diagonal_mouth:

If you try to print on the client:

repeat task.wait() until game.Loaded

print("loaded")

While on the server:

game.Players.PlayerAdded:Connect(function(player)
	print(player.CharacterAdded:Wait())
end)

You’ll see that the client print first while on the server loads when the character loads.

Yeah but I am looking for the server to wait until all players are loaded in and are no longer in the default loading screen

I will check the speeds in a sec