OK, taking another look at this I made a couple of mistakes. Listing them here in case anyone else runs into the same problems.
So with the Steam configuration correct SuccessStory is pulling Steam achievement data for my profile. Looking at the logs I see a new issue with the plugin. Success Story seems to be making an incorrect assumption about the Steam Community URL. My community name is "Mellified" but someone else took that URL. My URL is "Mellified_".
So SuccessStory seems to be pulling information from the wrong user's profile. You can confirm this by visiting the URLs:
https://steamcommunity.com/id/Mellified/
versus
https://steamcommunity.com/id/Mellified_/
The latter has the same avatar image I use here.
- The Steam API Key needs to be specified in Settings -> Libraries -> Steam.
- The User and API key in Success Story are for RetroAchievements.
- The 100% reproduceable crash I found was from putting in a bad API key into SuccessStory's configuration for RetroAchievements. Seems like you have an unhandled exception in there.
2020-09-05 19:26:45.2567|DEBUG:Downloading string content from https://retroachievements.org/API/API_GetConsoleIDs.php?z=Mellified&y=xxxxxxx using System.Text.UTF8Encoding encoding.
2020-09-05 19:26:45.8851|ERROR:SuccessStory [E:\Lacro59\playnite-successstory-plugin\Clients\RetroAchievements.cs 194] - Failed to parse Invalid API Key Newtonsoft.Json.JsonReaderException: Error parsing Infinity value. Path '', line 1, position 2.
at Newtonsoft.Json.JsonTextReader.ParseNumberPositiveInfinity(ReadType readType, Boolean matched)
at Newtonsoft.Json.JsonTextReader.ParseValue()
at Newtonsoft.Json.JsonTextReader.Read()
at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
at SuccessStory.Clients.RetroAchievements.GetConsoleIDs(String PluginUserDataPath) in E:\Lacro59\playnite-successstory-plugin\Clients\RetroAchievements.cs:line 194
2020-09-05 19:26:45.9070|ERROR:Unhandled exception occured.System.NullReferenceException: Object reference not set to an instance of an object.
at SuccessStory.Clients.RetroAchievements.GetAchievements(IPlayniteAPI PlayniteApi, Guid Id, String PluginUserDataPath) in E:\Lacro59\playnite-successstory-plugin\Clients\RetroAchievements.cs:line 68
at SuccessStory.Models.AchievementsDatabase.Add(Game GameAdded, SuccessStorySettings settings) in E:\Lacro59\playnite-successstory-plugin\Database\AchivementsDatabase.cs:line 746
at SuccessStory.SuccessStorySettingsView.<>c__DisplayClass34_1.<RefreshData>b__0() in E:\Lacro59\playnite-successstory-plugin\Views\SuccessStorySettingsView.xaml.cs:line 384
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Threading.DispatcherOperation.Wait(TimeSpan timeout)
at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherOperation operation, CancellationToken cancellationToken, TimeSpan timeout)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at SuccessStory.SuccessStorySettingsView.RefreshData(String SourceName, Boolean IsGet) in E:\Lacro59\playnite-successstory-plugin\Views\SuccessStorySettingsView.xaml.cs:line 374
at SuccessStory.SuccessStorySettingsView.Button_Click_Get_RetroAchievements(Object sender, RoutedEventArgs e) in E:\Lacro59\playnite-successstory-plugin\Views\SuccessStorySettingsView.xaml.cs:line 257
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Window.ShowHelper(Object booleanBox)
at System.Windows.Window.Show()
at System.Windows.Window.ShowDialog()
at Playnite.Windows.WindowFactory.<>c__DisplayClass12_0.<CreateAndOpenDialog>b__0(Object a) in E:\Devel\Playnite\source\Playnite\Windows\WindowFactory.cs:line 72
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at System.Windows.Threading.DispatcherSynchronizationContext.Send(SendOrPostCallback d, Object state)
at Playnite.Windows.WindowFactory.CreateAndOpenDialog(Object dataContext) in E:\Devel\Playnite\source\Playnite\Windows\WindowFactory.cs:line 54
at Playnite.DesktopApp.ViewModels.DesktopAppViewModel.<InitializeCommands>b__332_45(Object a) in E:\Devel\Playnite\source\Playnite.DesktopApp\ViewModels\DesktopAppViewModel.cs:line 637
at Playnite.SDK.RelayCommand`1.Execute(Object parameter)
at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at Playnite.DesktopApp.ProgramEntry.Main(String[] args) in E:\Devel\Playnite\source\Playnite.DesktopApp\ProgramEntry.cs:line 46
So with the Steam configuration correct SuccessStory is pulling Steam achievement data for my profile. Looking at the logs I see a new issue with the plugin. Success Story seems to be making an incorrect assumption about the Steam Community URL. My community name is "Mellified" but someone else took that URL. My URL is "Mellified_".
2020-09-05 16:48:14.9865|DEBUG:Downloading string content from https://api.steampowered.com/ISteamUserStats/GetPlayerAchievements/v0001/?appid=332310&key=30768AA9DA35E42958ED98C3A29A1AA3&steamid=76561197965222199&l=english using System.Text.UTF8Encoding encoding.
2020-09-05 16:48:15.1631|DEBUG:Downloading string content from https://api.steampowered.com/ISteamUserStats/GetSchemaForGame/v2/?key=30768AA9DA35E42958ED98C3A29A1AA3&appid=332310&l=english using System.Text.UTF8Encoding encoding.
2020-09-05 16:48:15.6267|DEBUG:SuccessStory - Load profil data for Mellified - 332310
2020-09-05 16:48:15.6267|DEBUG:Downloading string content from https://steamcommunity.com/id/Mellified/stats/332310/?tab=achievements using cookies and System.Text.UTF8Encoding encoding.
So SuccessStory seems to be pulling information from the wrong user's profile. You can confirm this by visiting the URLs:
https://steamcommunity.com/id/Mellified/
versus
https://steamcommunity.com/id/Mellified_/
The latter has the same avatar image I use here.