/// <summary>
        /// Determines if the given achievement name is valid.
        /// </summary>
        /// <returns></returns>
        public bool IsValidAchievement(uint userId, string achievement)
        {
            var  steamId = Player.SteamIdFromUserId(userId);
            bool _;

            return(SteamGameServerStats.GetUserAchievement(steamId, achievement, out _));
        }
        /// <summary>
        /// Determines if the user has unlocked the given achievement.
        /// </summary>
        /// <param name="userId">The user to check.</param>
        /// <param name="achievement">The name of the achievement.</param>
        /// <returns></returns>
        public bool UserHasAchievement(uint userId, string achievement)
        {
            if (string.IsNullOrWhiteSpace(achievement))
            {
                throw new InvalidOperationException("The achievement name cannot be empty.");
            }

            var  steamId = Player.SteamIdFromUserId(userId);
            bool achieved;

            if (!SteamGameServerStats.GetUserAchievement(steamId, achievement, out achieved))
            {
                throw new InvalidOperationException($"Could not get achieved \"{achievement}\"");
            }
            return(achieved);
        }