What exactly is <sys/player.h>? I'd guess that you may have installed a different version of your header file as a system header under a sys folder, and hence your new header file (Header.h) has a definition of struct player than doesn't match the old one. If this is so, then I would recommend deleting that system installed custom header and only including Header.h (which you probably want to rename to player.h).

By the way, gets is inherently vulnerable to buffer overflow and is obsolescent anyway. Use fgets instead and just check if the newline has been stored, and if so, replace it with a null character.