Files
SyncGames/docs/fallback-path1.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

49 lines
1.6 KiB
Markdown

# Path 1 fallback — Hardened Syncthing
Use this if Path 3 (MinIO over Cloudflare/NGINX) becomes unreliable or Android S3 access is blocked more often than Syncthing-Fork would be.
## Triggers
- WAN MinIO downtime / CF limits / NGINX upload bugs that block play sessions
- Android app cannot obtain durable storage access for emulator saves and Syncthing folder sync of the **SSOT tree** is acceptable
- You still refuse to sync live game directories directly
## What stays the same
Keep the Python session agent (`start`/`end`). It continues to copy:
`native save paths` ↔ local SSOT tree
Only the transport of the SSOT tree changes (Syncthing instead of MinIO).
## Migration MinIO → Syncthing SSOT folder
1. On a trusted machine with MinIO access:
```bash
syncgames export-ssot --out ~/SyncGames-SSOT
```
(Downloads all `games/*/live`, `history`, `meta.json` into a filesystem mirror.)
2. Share `~/SyncGames-SSOT` with Syncthing across devices.
3. Enable **Simple File Versioning**, Keep Versions ≥ 5, on every device.
4. Point `agent.toml`:
```toml
store = "filesystem"
ssot_root = "/home/you/SyncGames-SSOT"
```
5. Stop relying on MinIO for that install (or keep MinIO as cold backup via periodic `export-ssot`).
## Hardening rules (do not violate)
- Syncthing folder = SSOT tree **only**
- Never add Proton `compatdata` / Android emulator internal dirs as Syncthing folders
- Lease/hash gates remain enforced by the agent against filesystem `meta.json`
## Rollback
Point `store` back to `minio` and keep using the same game ids if the bucket is still intact.