ServerScript
script.Parent.MouseButton1Click:Connect(function()
game.ReplicatedStorage.Race:FireAllClients()
end)
LocalScript
game.ReplicatedStorage.Race.OnClientEvent:Connect(function(player)
print(player) -- Obviously this didn't work, but how can I make it work?
end)
If you need more context - the Player will click a SurfaceGui Button that is in the workspace, It will announce that the race has started. Everyone in the server will get a TextLabel popup saying that the Race has been started by Player.

2 comments
No, it isn't backwards. I used SurfaceGui on a part! MouseButton1Click is for the TextButton that is inside the SurfaceGui! its the same thing as ClickDetector in this perspective
My guy you cant detect a mouseclick from a serverscript... https://scriptinghelpers.org/questions/42871/how-do-i-get-the-player-that-clicks-a-surfacegui