Construct players by name better

hasPlayedBefore returns stupidly if the player file hasn't been updated
since the player first joined. That check wasn't need anyway.