/// <summary> /// Validates player login data and closes sonnection /// </summary> public static bool AnonLogin(WebSocketSession session, XElement bodyXml) { //disconnect player if we dont allow anonymous if (!AccountsServer.AnonymousAllowed) { //Send error info to player AccountsServerSend.Send_Error(session, AccountReturnCodes.AnonymousLoginIsNotAllowed, "Anonymous login is not allowed"); return(false); } // read user Nickname string nickname = bodyXml.GetChildElement("Nickname")?.Value; if (!AccountsUtil.NicknameValid(nickname)) { // Send error info to player AccountsServerSend.Send_Error(session, AccountReturnCodes.NicknameIsInvalid, "Nickname is invalid"); return(false); } // create auth token Token token = TokenManager.CreateAnonymousToken(nickname); AccountsServerSend.Send_LoginOk(session, token); return(true); }