So, I have a "randomized" number, but every time I start up the server, it's playing the same song. Here's my script. (It's a LocalScript with FilteringEnabled active)
math.randomseed(tick())
local player = game.Players.LocalPlayer
local menuSounds = {
846744087; --@other devs this song is here as a joke remove this upon release and please don't kill meeeeeeeeeeee -git
629166622;
247050817;
130798504;
902587196;
}
local soundtrack = Instance.new("Sound")
soundtrack.Parent = player.PlayerGui
soundtrack.SoundId = "rbxassetid://" .. menuSounds[math.random(1,#menuSounds)]
soundtrack.Looped = true
soundtrack.Name = "MenuSound"
soundtrack:Play()

4 comments
Try math.randomseed(tick()%1*1e6) credit to @Uglypoe
I've tried before where I call math.random() once and don't use the result of it, and only start using the results of the second call and so on. Try that, perhaps?
try using math.randomseed(tick(os.time())) or something like that....
math.randomseed rounds its input to the nearest whole number.