Console.WriteLine("{0}, you've just got a grant", this.Name + " " + this.Surname);Console.WriteLine($"{Name} {Surname}, you've just got a grant");
Access modifiers are not allowed on a local function. Local functions are always private.
class Player тоже надо сделать public
2. Не факт, что перевод строки будет через CRLF. Спецификация HTTP допускает и просто CR или LF
Вообще, с сетью лучше работать асинхронно, через async-await например.