From 0f1f9d2a7d39e03030b2fed026a261178de02125 Mon Sep 17 00:00:00 2001 From: ApolloF <98666317+ApolloF@users.noreply.github.com> Date: Wed, 21 Oct 2026 16:30:29 +0200 Subject: [PATCH 1/2] Add a short Why section to the README --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index babf2e8..9f18972 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,10 @@ Screenshots use made-up games and PCs. +## Why + +I play on more than one PC and couldn't find anything that kept my saves in sync on its own, for every game and every store, without a cloud service in between. Steam Cloud only covers some games, and backup tools like Ludusavi back up but don't sync. So I made Syncer. + ## Install 1. Download **`Syncer-amd64-installer.exe`** from [Releases](https://github.com/ApolloF/syncer/releases/latest) and run it. It installs just for your user (no admin prompt) into `%LOCALAPPDATA%\Programs\Syncer`. Prefer no installer? `Syncer.exe` from the same release is portable; keep it in a permanent folder, since the background task points at it. From 216af4ddada16556e1fe0a676b4ce3f8147518b5 Mon Sep 17 00:00:00 2001 From: ApolloF <98666317+ApolloF@users.noreply.github.com> Date: Wed, 21 Oct 2026 16:53:47 +0200 Subject: [PATCH 2/2] Shorten the README; move details to docs/help.md, features.md and CONTRIBUTING --- CONTRIBUTING.md | 15 ++++- README.md | 158 +++++++---------------------------------------- docs/features.md | 27 ++++++++ docs/help.md | 66 ++++++++++++++++++++ 4 files changed, 131 insertions(+), 135 deletions(-) create mode 100644 docs/help.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ef3cb0f..d77da34 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -24,7 +24,20 @@ Thanks for helping. Syncer is a one-person project, so small, focused changes ge 4. Add or update tests for behaviour you change (`*_test.go` next to the Go code, `*.test.ts` next to frontend helpers in `frontend/src/lib`). 5. Try the change in the real app with `wails dev`. Anything that touches syncing, backups or restores must never delete or overwrite a save without a restore point. -Requirements and the project layout are in the [README](README.md#develop). +## Build and layout + +Requirements: Go 1.26+, Node 22+, [Wails v2](https://wails.io) (`go install github.com/wailsapp/wails/v2/cmd/wails@v2.16.0`). + +```bash +wails dev # live-reloading app +go test ./... # backend tests +go test -tags personal ./... # the same tests for the personal build +wails build # build/bin/Syncer.exe +``` + +`wails build` makes the public release: no mods, no Google sign-in and no launcher integration, switched off at compile time (see [below](#builds-public-vs-personal)). `wails build -tags personal` makes the maintainer's personal build with all of those on; it never installs the public release over itself. Google sign-in in a personal build needs a Google OAuth client id and secret passed at build time (`-ldflags "-X main.gdriveClientID=… -X main.gdriveClientSecret=…"`); without them it is hidden. Releases from CI are always the public build. + +The backend lives in `internal/`: `syncthing` (REST client), `meta` (cross-PC folder sharing), `discover` (manifest, scan, installed games), `backup` (mirror/versions/restore), `gdrive` (Google sign-in and Drive sync, personal build only), `features` (public/personal switches), `tasks` (Task Scheduler), `paths` (portable paths, sync safety rules) and `winx` (Windows priority, full-screen and foreground checks). The Svelte 5 frontend is in `frontend/src`. Draft winget and Scoop manifests are in [packaging/](packaging/). ## Builds: public vs personal diff --git a/README.md b/README.md index 9f18972..35d2ec7 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@

Syncer

-

Keep your PC game saves in sync between your Windows PCs, with a versioned backup in a folder you choose, such as Google Drive.

+

Back up your PC game saves and keep them in sync between your Windows PCs.

Latest release @@ -12,155 +12,45 @@

Syncer's Games page: each game with its save folder, size, sync state and Sync and Backup switches

-**[Download Syncer](https://github.com/ApolloF/syncer/releases/latest/download/Syncer-amd64-installer.exe)** for Windows 10 and 11 (64-bit). Free and open source, no account, no telemetry. +## Features -- Finds the saves of about 14,000 games on its own and syncs them between your PCs, end-to-end encrypted. -- Keeps a versioned backup in any folder, for example your Google Drive for desktop folder, OneDrive, a NAS share or an external drive, with restore points you can roll back to. -- With two PCs linked, each holds a full copy of your saves, so you have two copies even before you set up a backup. -- Only one PC? Syncer works as a backup on its own: versioned copies of your saves in your Google Drive for desktop folder or any other folder. +- Finds the saves of about 14,000 games on its own, from any store or none. +- Keeps a versioned backup with restore points in any folder: your Google Drive or OneDrive folder, a NAS share or an external drive. Works with just one PC. +- Syncs saves between your PCs with [Syncthing](https://syncthing.net), straight from PC to PC, end-to-end encrypted. - Never overwrites a save behind your back: when two PCs changed the same save, you pick which one to keep. -- Leaves what Steam Cloud, OneDrive and Ubisoft Connect already sync to them. -- Holds syncing while a game runs, so no save changes under a running game. +- Leaves what Steam Cloud, OneDrive and Ubisoft Connect already sync to them, and holds syncing while a game runs. +- Free and open source. No account, no telemetry. -| Restore any save | Link a PC with one ID | -|---|---| -| Restore dialog listing restore points, each with the PC it came from | Devices page with this PC's ID and two linked PCs | +Save locations come from the [Ludusavi manifest](https://github.com/mtkennerly/ludusavi-manifest), which is built from [PCGamingWiki](https://www.pcgamingwiki.com). If a game's save location is missing or wrong, fixing it on the wiki fixes it for everyone. -Screenshots use made-up games and PCs. - -## Why - -I play on more than one PC and couldn't find anything that kept my saves in sync on its own, for every game and every store, without a cloud service in between. Steam Cloud only covers some games, and backup tools like Ludusavi back up but don't sync. So I made Syncer. +I made Syncer because I play on more than one PC and couldn't find anything that kept my saves safe and in sync on its own, for every game and every store. ## Install -1. Download **`Syncer-amd64-installer.exe`** from [Releases](https://github.com/ApolloF/syncer/releases/latest) and run it. It installs just for your user (no admin prompt) into `%LOCALAPPDATA%\Programs\Syncer`. Prefer no installer? `Syncer.exe` from the same release is portable; keep it in a permanent folder, since the background task points at it. -2. Open Syncer. If [Syncthing](https://syncthing.net) isn't installed yet, the Overview installs it with one click (via `winget`). -3. For the backup, open *Backup*. Syncer finds [Google Drive for desktop](https://www.google.com/drive/download/) by itself; otherwise choose any folder, such as one in OneDrive, on a NAS or on an external drive. Syncer writes the backup into that folder and your cloud app uploads it. The backup is optional. -4. Your games start syncing automatically. Check *Games → Found on this PC* for anything else, such as folders Syncer didn't recognise. - -Syncer isn't code-signed yet, so Windows SmartScreen may warn the first time: click *More info → Run anyway*. To check your download, compare it with `SHA256SUMS.txt` on the release page (in PowerShell: `Get-FileHash Syncer-amd64-installer.exe`), or check where it was built with the [GitHub CLI](https://cli.github.com): `gh attestation verify Syncer-amd64-installer.exe -R ApolloF/syncer`. The built-in updater also checks its downloads against the release's SHA-256. You only install once; after that Syncer updates itself (you can turn that off in Settings). - -**Syncthing won't install?** The one-click install needs `winget`, which comes with current Windows 10 and 11. If it isn't available, Syncer shows an error with a link to [install Syncthing by hand](https://syncthing.net/downloads/). Syncer finds it once it's installed. - -**Updating from 0.x?** If your backup used *Sign in with Google*, Syncer asks you to choose a backup folder (you get a one-time notification). Your old backup in Google Drive stays where it is. Mod folders you synced are paused and left as they are, with a one-time notice. - -### Linking a second PC - -1. Install Syncer on the second PC. -2. On one PC, open **Devices** and paste the other PC's ID. -3. On the other PC, choose **Review** on the request, check that the full ID shown matches the one on the first PC's Devices page, and link. - -Syncer only shares your saves with PCs you linked or allowed. A PC that is already paired in Syncthing and wants to join shows up on Devices with **Allow** and **Ignore**; check its ID the same way before you allow it. - -Every synced game then shows up on the other PC at the right local path, even if the user name or Documents location differs. - -## How it works - -Syncer is a small desktop app built on two tools that already work well: - -- **Syncthing between your PCs.** Syncthing copies saves straight from PC to PC, end-to-end encrypted, with no account and no cloud storage in between. Your PCs don't need to be on the same network: when they can't reach each other directly, Syncthing's public relays pass the encrypted data along. Syncer installs and drives your own Syncthing; it doesn't bundle it. -- **A folder as the backup.** Syncer copies your saves into a `GameSaveBackup` folder inside the folder you chose (with Google Drive for desktop, `My Drive\GameSaveBackup`). Only changed files are copied, and replaced or deleted files are kept as restore points for 30 days by default. Syncer only writes into that folder on your PC; your cloud app (Google Drive for desktop, OneDrive, …) does the upload. Syncer has no Google account connection of its own. - -``` - PC A PC B - ┌─────────────┐ Syncthing (P2P) ┌─────────────┐ - │ save folders│◄───────────────────►│ save folders│ - │ syncer-meta │◄───────────────────►│ syncer-meta │ ← each PC's folder list, portable paths - └──────┬──────┘ └─────────────┘ - │ Syncer.exe --background (Task Scheduler) - ▼ - \GameSaveBackup\\… ← mirror - \GameSaveBackup\.versions\… ← replaced/deleted files, thinned, pruned after N days - │ your cloud app, e.g. Google Drive for desktop - ▼ - the cloud, a NAS or an external drive -``` - -Syncthing only syncs while both PCs are on. The backup covers the rest: when the PC you played on last is switched off, Syncer can take the newer saves from its backup, but only when nothing on this PC can get lost. - -Save locations come from the [Ludusavi manifest](https://github.com/mtkennerly/ludusavi-manifest), which is built from [PCGamingWiki](https://www.pcgamingwiki.com). A scheduled task (`\Syncer-Background`) runs the sync and backup at logon and every few hours, also when the window is closed. - -All features, from Steam Cloud detection to separate saves per person, are described in [docs/features.md](docs/features.md). - -## Privacy - -Syncer has no server of its own, and the developer receives no data from it: no account, no telemetry, no crash reports. +**[Download Syncer](https://github.com/ApolloF/syncer/releases/latest/download/Syncer-amd64-installer.exe)** for Windows 10 and 11 (64-bit). It installs for your user only, with no admin prompt, and updates itself. `Syncer.exe` on the [releases page](https://github.com/ApolloF/syncer/releases/latest) is a portable copy. -- Your saves go directly between your PCs (Syncthing) and into the backup folder you chose. Syncer never connects to your Google account; if the folder is synced by Google Drive for desktop or OneDrive, that app does the upload. -- Syncthing's public discovery servers see your PCs' device IDs and IP addresses, as with any Syncthing setup. GitHub (game list, update check) and Google (time check) see your IP address, as with any web request. -- Settings and logs stay on your PC in `%APPDATA%\Syncer` and `%LOCALAPPDATA%\Syncer`. +Then open Syncer: it installs Syncthing with one click if you don't have it, and *Backup* lets you pick the backup folder. To add a second PC, install Syncer there and paste its ID on *Devices*. -The full policy is in [PRIVACY.md](PRIVACY.md). +Syncer isn't code-signed yet, so Windows may say "Windows protected your PC". Click *More info*, then *Run anyway*. -## FAQ +## Help -**Can this get me banned by anti-cheat?** -Syncing saves only touches save files, the same files the game writes itself. Syncer doesn't change the game's own files and doesn't inject anything into it. Saves of online games usually live on the game's servers anyway, so there's nothing for Syncer to sync. - -**Which games does it support?** -About 14,000 games whose save locations are listed on PCGamingWiki, through the Ludusavi manifest, from any store: Steam, Epic, GOG, EA, Ubisoft, Xbox, or no store at all. Games that aren't listed can be added by hand with any folder. If a game's save location is missing or wrong, fixing it on PCGamingWiki fixes it for everyone; Syncer refreshes the list every week. You can also [request a game](https://github.com/ApolloF/syncer/issues/new?template=game_request.yml). - -**Why not just use Steam Cloud?** -Use it where it works: Syncer leaves folders that Steam Cloud really keeps to Steam, and checks this per folder rather than trusting the store page. Syncer is for everything else: games from other stores or no store, games without cloud saves, mod saves Steam skips (such as SKSE co-saves), and a history of restore points Steam Cloud doesn't keep. - -**What happens when two PCs changed the same save?** -Syncer doesn't guess. The game shows **2 versions**, and you pick which one to keep, file by file or all of one PC's files at once. The other version goes into the backup history instead of being deleted. - -**How do I restore an older save?** -On the Games page, click the history button (*Restore from backup*) next to the game. Pick the latest backup or any earlier restore point. Your current files are saved as a restore point first, so a restore can be undone. - -**Does Syncer get access to my Google account?** -No. Syncer doesn't connect to Google at all (apart from an empty time check). It writes the backup into a folder on your PC; if that folder belongs to Google Drive for desktop, OneDrive or similar, that app uploads it under its own account and permissions. - -**Do I need a backup folder or a cloud account?** -No. Syncthing works on its own between PCs that are on at the same time, and with two PCs linked each one holds a full copy. A backup adds restore points and lets a PC pick up saves from a PC that is switched off. It can be any folder: Google Drive for desktop, OneDrive, a NAS share or an external drive. - -**My PCs are linked but don't connect.** -The first time Syncthing listens, Windows asks whether it may use the network. If that was dismissed, Windows keeps blocking it and your other PCs can't reach this one. Open *Windows Security → Firewall & network protection → Allow an app through firewall*, choose *Change settings*, and tick *Syncthing* for *Private* networks (add it with *Allow another app* if it's missing). Do this on each PC. - -**How is this different from Ludusavi?** -[Ludusavi](https://github.com/mtkennerly/ludusavi) is a backup tool: you back up and restore saves, on one or more PCs. Syncer keeps saves in sync between PCs continuously, in the background, and keeps a backup with history next to that. Syncer uses Ludusavi's manifest to find saves. - -**How do I stop using it?** -*Settings → Undo everything* stops all syncing on this PC and can also unlink your PCs, stop or uninstall Syncthing, and delete the backups. Then uninstall Syncer from *Windows Settings → Apps*. Your save files are never deleted. - -Uninstalling alone removes only Syncer's own files. Your settings and backups stay, and Syncthing keeps running and syncing your saves, so use *Undo everything* first if you want that to stop. Folders Syncer had paused are resumed when you uninstall, if Syncthing is running then. +- [Setup details and questions](docs/help.md): linking PCs, restoring a save, anti-cheat, Steam Cloud, Ludusavi, firewall, uninstalling +- [All features and how it works](docs/features.md) +- [Privacy](PRIVACY.md): Syncer has no server of its own and the developer receives no data from it +- Something wrong, or a game not found? [Open an issue](https://github.com/ApolloF/syncer/issues/new/choose). The log is under *Settings → Activity log*. ## Limitations -- **Windows 10 and 11 only (64-bit).** No macOS, Linux or Steam Deck version. -- **Not code-signed yet**, so SmartScreen warns on the first run. -- **The backup is a folder on this PC.** Any folder works, including one that Google Drive for desktop, OneDrive or a NAS keeps, but Syncer doesn't talk to cloud services itself and has no WebDAV or other direct upload. -- **Syncthing needs both PCs on at the same time.** Saves from a PC that is off arrive through the backup only when that PC's backup has fully reached the shared backup folder. -- **Saves stored in the Windows registry aren't synced**, only save files and folders. -- **One PC at a time.** Changes from your other PCs wait while a game runs. Playing the same game on two PCs at once ends in *2 versions* for you to sort out. -- **English only.** -- **No mod sync.** Syncer syncs saves only. - -## Report a problem - -[Open an issue](https://github.com/ApolloF/syncer/issues/new/choose). The activity log is under *Settings → Activity log*, and the full log file is `%APPDATA%\Syncer\syncer.log`. If Syncer crashed, the details are in `crash.log` in the same folder. Please add your Syncer version (bottom of *Settings*) and Windows version. Logs can contain game names and folder paths (with your Windows user name), so check them before you post. See [CONTRIBUTING.md](CONTRIBUTING.md) if you'd like to help. - -## Develop +- Windows 10 and 11 only. No macOS, Linux or Steam Deck version. +- Syncthing needs both PCs on at the same time; a PC that is off catches up through the backup. +- Saves stored in the Windows registry aren't synced. +- English only. -Requirements: Go 1.26+, Node 22+, [Wails v2](https://wails.io) (`go install github.com/wailsapp/wails/v2/cmd/wails@v2.16.0`). +## Development -```bash -wails dev # live-reloading app -go test ./... # backend tests -go test -tags personal ./... # the same tests for the personal build -wails build # build/bin/Syncer.exe -``` - -`wails build` makes the public release: no mods, no Google sign-in and no launcher integration, switched off at compile time (see [Builds in CONTRIBUTING.md](CONTRIBUTING.md#builds-public-vs-personal)). `wails build -tags personal` makes the maintainer's personal build with all of those on; it never installs the public release over itself. Google sign-in in a personal build needs a Google OAuth client id and secret passed at build time (`-ldflags "-X main.gdriveClientID=… -X main.gdriveClientSecret=…"`); without them it is hidden. Releases from CI are always the public build. - -The backend lives in `internal/`: `syncthing` (REST client), `meta` (cross-PC folder sharing), `discover` (manifest, scan, installed games), `backup` (mirror/versions/restore), `gdrive` (Google sign-in and Drive sync, personal build only), `features` (public/personal switches), `tasks` (Task Scheduler), `paths` (portable paths, sync safety rules) and `winx` (Windows priority, full-screen and foreground checks). The Svelte 5 frontend is in `frontend/src`. Draft winget and Scoop manifests are in [packaging/](packaging/). +See [CONTRIBUTING.md](CONTRIBUTING.md). ## License -Syncer is free software: you can redistribute it and/or modify it under the terms of the [GNU Affero General Public License v3.0](LICENSE). It comes with no warranty. The third-party code it includes is listed, with its licenses, in [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md). - -Game save locations come from the [Ludusavi manifest](https://github.com/mtkennerly/ludusavi-manifest), which is built from [PCGamingWiki](https://www.pcgamingwiki.com) (CC BY-NC-SA 3.0). Syncer downloads it at runtime and doesn't include it. Syncing is done by [Syncthing](https://syncthing.net) (MPL-2.0), installed separately. - -Syncer is not affiliated with Valve, Google, Microsoft or the Syncthing Foundation. Syncthing is a trademark of the Syncthing Foundation; Google Drive is a trademark of Google LLC. +[AGPL-3.0](LICENSE). Third-party code is listed in [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md). Syncthing (MPL-2.0) is installed separately. Syncer is not affiliated with Valve, Google, Microsoft or the Syncthing Foundation. diff --git a/docs/features.md b/docs/features.md index 206225d..f09ecd9 100644 --- a/docs/features.md +++ b/docs/features.md @@ -35,6 +35,33 @@ The [README](../README.md) has the short version. This page describes each featu - **Deletes saves only when you really mean it.** From a game's *Remove* dialog, *Delete the save files…* asks you to type the game's name. It then stops syncing the game on this PC (your other PCs keep their copy), backs it up one last time (nothing is deleted if that fails) and moves the save folder to the Recycle Bin. The game stays in your games as *Backup only*, so you can restore it later. - **Light and dark mode.** It follows your Windows setting (you can override it), and uses the Mica backdrop on Windows 11. +## How it works + +Syncer is a small desktop app built on two tools that already work well: + +- **Syncthing between your PCs.** Syncthing copies saves straight from PC to PC, end-to-end encrypted, with no account and no cloud storage in between. Your PCs don't need to be on the same network: when they can't reach each other directly, Syncthing's public relays pass the encrypted data along. Syncer installs and drives your own Syncthing; it doesn't bundle it. +- **A folder as the backup.** Syncer copies your saves into a `GameSaveBackup` folder inside the folder you chose (with Google Drive for desktop, `My Drive\GameSaveBackup`). Only changed files are copied, and replaced or deleted files are kept as restore points for 30 days by default. Syncer only writes into that folder on your PC; your cloud app (Google Drive for desktop, OneDrive, …) does the upload. Syncer has no Google account connection of its own. + +``` + PC A PC B + ┌─────────────┐ Syncthing (P2P) ┌─────────────┐ + │ save folders│◄───────────────────►│ save folders│ + │ syncer-meta │◄───────────────────►│ syncer-meta │ ← each PC's folder list, portable paths + └──────┬──────┘ └─────────────┘ + │ Syncer.exe --background (Task Scheduler) + ▼ + \GameSaveBackup\\… ← mirror + \GameSaveBackup\.versions\… ← replaced/deleted files, thinned, pruned after N days + │ your cloud app, e.g. Google Drive for desktop + ▼ + the cloud, a NAS or an external drive +``` + +Syncthing only syncs while both PCs are on. The backup covers the rest: when the PC you played on last is switched off, Syncer can take the newer saves from its backup, but only when nothing on this PC can get lost. + +Save locations come from the [Ludusavi manifest](https://github.com/mtkennerly/ludusavi-manifest), which is built from [PCGamingWiki](https://www.pcgamingwiki.com). A scheduled task (`\Syncer-Background`) runs the sync and backup at logon and every few hours, also when the window is closed. + + ## Under the hood A game with separate saves per account is one Syncthing folder per account (`.u-`), each synced between all PCs. Which one sits at the game's save folder is up to each PC's active account; the others are kept in `%LOCALAPPDATA%\SyncerAccounts` (or `\SyncerAccounts` when the saves are on another drive). Splits and merges are shared through `syncer-meta` like the folder lists, and every PC carries them out itself; a PC whose Syncer is too old to understand them holds splitting back until it's updated. diff --git a/docs/help.md b/docs/help.md new file mode 100644 index 0000000..3c8f7cb --- /dev/null +++ b/docs/help.md @@ -0,0 +1,66 @@ +# Syncer help + +The [README](../README.md) has the short version. This page has setup details and answers to common questions. + +## Linking a second PC + +1. Install Syncer on the second PC. +2. On one PC, open **Devices** and paste the other PC's ID. +3. On the other PC, choose **Review** on the request, check that the full ID shown matches the one on the first PC's Devices page, and link. + +Syncer only shares your saves with PCs you linked or allowed. A PC that is already paired in Syncthing and wants to join shows up on Devices with **Allow** and **Ignore**; check its ID the same way before you allow it. + +Every synced game then shows up on the other PC at the right local path, even if the user name or Documents location differs. + +## Install details + +Syncer isn't code-signed yet, so Windows SmartScreen may warn the first time: click *More info → Run anyway*. To check your download, compare it with `SHA256SUMS.txt` on the release page (in PowerShell: `Get-FileHash Syncer-amd64-installer.exe`), or check where it was built with the [GitHub CLI](https://cli.github.com): `gh attestation verify Syncer-amd64-installer.exe -R ApolloF/syncer`. The built-in updater also checks its downloads against the release's SHA-256. You only install once; after that Syncer updates itself (you can turn that off in Settings). + +**Syncthing won't install?** The one-click install needs `winget`, which comes with current Windows 10 and 11. If it isn't available, Syncer shows an error with a link to [install Syncthing by hand](https://syncthing.net/downloads/). Syncer finds it once it's installed. + +**Updating from 0.x?** If your backup used *Sign in with Google*, Syncer asks you to choose a backup folder (you get a one-time notification). Your old backup in Google Drive stays where it is. Mod folders you synced are paused and left as they are, with a one-time notice. + +## Questions + +**Can this get me banned by anti-cheat?** +Syncing saves only touches save files, the same files the game writes itself. Syncer doesn't change the game's own files and doesn't inject anything into it. Saves of online games usually live on the game's servers anyway, so there's nothing for Syncer to sync. + +**Which games does it support?** +About 14,000 games whose save locations are listed on PCGamingWiki, through the Ludusavi manifest, from any store: Steam, Epic, GOG, EA, Ubisoft, Xbox, or no store at all. Games that aren't listed can be added by hand with any folder. If a game's save location is missing or wrong, fixing it on PCGamingWiki fixes it for everyone; Syncer refreshes the list every week. You can also [request a game](https://github.com/ApolloF/syncer/issues/new?template=game_request.yml). + +**Why not just use Steam Cloud?** +Use it where it works: Syncer leaves folders that Steam Cloud really keeps to Steam, and checks this per folder rather than trusting the store page. Syncer is for everything else: games from other stores or no store, games without cloud saves, mod saves Steam skips (such as SKSE co-saves), and a history of restore points Steam Cloud doesn't keep. + +**What happens when two PCs changed the same save?** +Syncer doesn't guess. The game shows **2 versions**, and you pick which one to keep, file by file or all of one PC's files at once. The other version goes into the backup history instead of being deleted. + +**How do I restore an older save?** +On the Games page, click the history button (*Restore from backup*) next to the game. Pick the latest backup or any earlier restore point. Your current files are saved as a restore point first, so a restore can be undone. + +**Does Syncer get access to my Google account?** +No. Syncer doesn't connect to Google at all (apart from an empty time check). It writes the backup into a folder on your PC; if that folder belongs to Google Drive for desktop, OneDrive or similar, that app uploads it under its own account and permissions. + +**Do I need a backup folder or a cloud account?** +No. Syncthing works on its own between PCs that are on at the same time, and with two PCs linked each one holds a full copy. A backup adds restore points and lets a PC pick up saves from a PC that is switched off. It can be any folder: Google Drive for desktop, OneDrive, a NAS share or an external drive. + +**My PCs are linked but don't connect.** +The first time Syncthing listens, Windows asks whether it may use the network. If that was dismissed, Windows keeps blocking it and your other PCs can't reach this one. Open *Windows Security → Firewall & network protection → Allow an app through firewall*, choose *Change settings*, and tick *Syncthing* for *Private* networks (add it with *Allow another app* if it's missing). Do this on each PC. + +**How is this different from Ludusavi?** +[Ludusavi](https://github.com/mtkennerly/ludusavi) is a backup tool: you back up and restore saves, on one or more PCs. Syncer keeps saves in sync between PCs continuously, in the background, and keeps a backup with history next to that. Syncer uses Ludusavi's manifest to find saves. + +**How do I stop using it?** +*Settings → Undo everything* stops all syncing on this PC and can also unlink your PCs, stop or uninstall Syncthing, and delete the backups. Then uninstall Syncer from *Windows Settings → Apps*. Your save files are never deleted. + +Uninstalling alone removes only Syncer's own files. Your settings and backups stay, and Syncthing keeps running and syncing your saves, so use *Undo everything* first if you want that to stop. Folders Syncer had paused are resumed when you uninstall, if Syncthing is running then. + + +## Report a problem + +[Open an issue](https://github.com/ApolloF/syncer/issues/new/choose). The activity log is under *Settings → Activity log*, and the full log file is `%APPDATA%\Syncer\syncer.log`. If Syncer crashed, the details are in `crash.log` in the same folder. Please add your Syncer version (bottom of *Settings*) and Windows version. Logs can contain game names and folder paths (with your Windows user name), so check them before you post. See [CONTRIBUTING.md](../CONTRIBUTING.md) if you'd like to help. + +## Credits + +Game save locations come from the [Ludusavi manifest](https://github.com/mtkennerly/ludusavi-manifest), which is built from [PCGamingWiki](https://www.pcgamingwiki.com) (CC BY-NC-SA 3.0). Syncer downloads it at runtime and doesn't include it. Syncing is done by [Syncthing](https://syncthing.net) (MPL-2.0), installed separately. + +Syncer is not affiliated with Valve, Google, Microsoft or the Syncthing Foundation. Syncthing is a trademark of the Syncthing Foundation; Google Drive is a trademark of Google LLC.