Reasonably sure Sound() and sound.Play default to the ./sound/ folder, yet, you have the folder specified in the variable.
I'm surprised you're not seeing a 'unable to precache file fail.wav' at client connect on the client side.
My theory, you're trying to play gmod/sound/sound/fail.wav when it should be gmod/sound/fail.wav
Try Sound( "fail.wav" ) instead of Sound( "sound/fail.wav" )