Record Jorg desk compatdata locations for satellite setup; devices list terra; tighten watchers so syncgames argv is not mistaken for Eden. Co-authored-by: Cursor <[email protected]>
73 lines
2.2 KiB
Markdown
73 lines
2.2 KiB
Markdown
# Add / remove games
|
|
|
|
## Add
|
|
|
|
```bash
|
|
syncgames add \
|
|
--name "Elden Ring (Seamless)" \
|
|
--platform steam \
|
|
--paths "/absolute/or/~/path/to/save/dir_or_file" \
|
|
--versions 5 \
|
|
--steam-appid 1245620 \
|
|
--process-name eldenring.exe
|
|
```
|
|
|
|
Effects:
|
|
|
|
1. Writes `config/games/<slug>.toml` (or `~/.config/syncgames/games/` depending on config root).
|
|
2. Ensures remote prefixes `games/<slug>/live/` and empty `meta.json` if absent (does not overwrite existing live).
|
|
3. Does **not** upload local saves until first `end` after a `start` (or explicit first push with force after careful review).
|
|
|
|
Multiple `--paths` allowed. Globs are expanded at session time.
|
|
|
|
### Seamless Coop (Souls / Elden Ring)
|
|
|
|
Modded saves use **`.co2`**, not vanilla `.sl2`. Non-Steam / me3 launchers create a **new** Proton `compatdata/<id>` — not the vanilla Steam AppID folder.
|
|
|
|
See **[seamless-save-paths.md](seamless-save-paths.md)** for discovery steps and known Jorg desktop paths (reference for satellites — always re-find on each device).
|
|
|
|
```bash
|
|
find ~/.steam/steam/steamapps/compatdata -name '*.co2'
|
|
```
|
|
|
|
Point `paths` at the directory that contains the `.co2` (per machine — the compatdata id can differ on `terra` vs `Jorg`). SteamID subfolders usually match across devices on the same Steam account.
|
|
|
|
### Platforms
|
|
|
|
| Value | Meaning |
|
|
|-------|---------|
|
|
| `steam` | Steam / Proton; optional `steam_appid` for watchers |
|
|
| `eden` | Eden emulator saves |
|
|
| `yuzu` | Yuzu / Yuzu-fork saves |
|
|
| `other` | Manual paths only |
|
|
|
|
## Session loop
|
|
|
|
```bash
|
|
syncgames start <game-id>
|
|
# launch game, play, quit
|
|
syncgames end <game-id>
|
|
```
|
|
|
|
With systemd watchers enabled, start/end can run automatically when the process appears/exits.
|
|
|
|
## Remove
|
|
|
|
```bash
|
|
syncgames remove <game-id>
|
|
# optional: syncgames remove <game-id> --purge-remote
|
|
```
|
|
|
|
Default:
|
|
|
|
1. Disable watchers for that game.
|
|
2. Move remote `games/<id>/` → `retired/<id>-<YYYYMMDD>/`.
|
|
3. Rename local TOML to `*.removed` or delete per flag.
|
|
4. Clear local session state.
|
|
|
|
`--purge-remote` permanently deletes remote prefixes (dangerous; requires typing game id again interactively when TTY).
|
|
|
|
## Templates
|
|
|
|
See [templates/game.toml](../templates/game.toml) and seeded examples under `config/games/`.
|