Files
SyncGames/docs/add-game.md
T
DawnsorrowandCursor 0d6b0b2f80 Initial SyncGames tree: agent, Android, deploy, docs.
Session-gated MinIO save sync with AppImage GUI, CLI edit/session flow, and Gitea release helper.

Co-authored-by: Cursor <[email protected]>
2026-07-14 22:06:36 -05:00

61 lines
1.6 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.
### 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/`.