/// <summary> /// Verify a user token and login. /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <returns>login result</returns> public virtual bool LogIn(string username, string password) { // if already online, deny. if (OnlinePlayers.Any(p => p.Username == username)) { return(false); } if (!PlayerRepository.IsExsist(username)) { return(false); } Player player = PlayerRepository.GetPlayer(username); if (player.Token.ToString() != password) { return(false); } OnlinePlayers.Add(player); Session.Value.Set(player).Exiting += Session_Exiting; LoggedIn?.Invoke(this, player); Logger.Info($"[{username}] login succeed"); return(true); }