Skip to content
This repository has been archived by the owner on Nov 29, 2024. It is now read-only.
VERSSAI edited this page Aug 9, 2024 · 7 revisions

Note

Sync story only works with games released on steam.

Warning

Since nobody has yet confirmed version 2 has worked for them, if it doesn't for you, check out version 1

Success story setup

  • After setting up playnite install success story - Link
  • Press F9 (Or access the addon settings)
  • On the left sidebar navigate to Extensions settings -> SuccessStory - On the first tab scroll down and check "Enable manual achievements"

  • Right click the game you want achievements added to -> SuccessStory -> add

  • On the left sidebar make sure that steam is selected, from the game list pick the game that matches and click ok

  • Depending on the skin you should be able to see a window with all of your achievements.

  • Add success story to each game you want to sync.

Caution

If you have setup each game properly as showcased above, and you encounter any issues from this point on please:

Do not try to get support from the success story github, Do not try to get support from the playnite discord and forum,

The issues will be related to this script specifically.


Sync story setup

Preparations

  • First setup a folder where you want the sync script to be.
  • You can choose between using a precompiled exe or a the python version. (I have mainly tested the python version).
  • Download the zip you want to use and extract it into your script folder.

For the python version

  • Make sure you have python installed and that its part of your path (if you type python in the terminal it should return information about python).
  • Open the dependencies.bat to install all the dependencies.

Config file

You can either use the example config provided with the script as a starting point or you can make one yourself with this documentation

  • If you want to use the example config rename the example.config.yml to config.yml
  • Input the settings:
  Playnite location: # location of your playnite folder
  Playnite exe: # location of the exe that starts playnite usually inside the playnite folder
  Restart after sync: false # Since the achievements only update after restarting playnite you can turn this true to see the achievements immediately.
  • You can also setup/change the library settings which is the method sync story acquires achievement information If you are using a fork of goldberg make sure you change the path to wherever the save folder is.

Important

You can make your own library, but there are quarks pointed out on the main page.

Playnite script

  • If you want to only run the sync manually you can use the .exe or .py file to run it.
  • If you want the script to run automatically everytime you close your game you can do it with the script below. This works both with Restart after sync: true and false

Copy this script and edit $folderLocation = "" - to be the path to your script folder $scriptType = "" - if you are using the python version replace the exe with py

$folderLocation = ""

$scriptType = "exe"  

$itemsToRun = @(
    "syncstory"
)

foreach ($item in $itemsToRun) {
    if ($scriptType -eq "py") {
        $itemPath = Join-Path -Path $folderLocation -ChildPath ($item + ".py")
        $command = "cd /d `"$folderLocation`" && python `"$itemPath`""
    } elseif ($scriptType -eq "exe") {
        $itemPath = Join-Path -Path $folderLocation -ChildPath ($item + ".exe")
        $command = "cd /d `"$folderLocation`" && `"$itemPath`""
    } else {
        continue  
    }

    if (Test-Path $itemPath) {
        Start-Process -FilePath "cmd.exe" -ArgumentList "/c", $command
    }
}

Troubleshooting

For more information about my stance on maintaining this script you can find it on the main page. I will most likely not be able to provide with support, still if you need help you should ask for it in the threat or pm me.

Caution

The script generates a log file, this log file contains paths that the script attempts to use, your path might include sensitive information such as your name. Make sure you remove any sensitive information before sharing the log file!