// OPENBOX DOCS

Statistics sync

Merge play statistics across machines through a mounted cloud folder.

OpenBoxGL merges play statistics between machines through any mounted folder — Syncthing, Dropbox, Nextcloud, Drive, or a plain local path. The folder must be mounted and writable on every machine that should participate.

Set it up

  1. In Settings, set Mounted cloud folder to the absolute path of the mounted folder (for example /mnt/cloud/openbox).
  2. Click Sync statistics now to run a merge immediately, or let it run automatically — sync runs automatically after each session ends, so play time propagates without manual action.
  3. Configure the same folder on another machine to merge stats there.

What syncs and how conflicts resolve

Sync reads and writes openbox-statistics.json (format 1) in the folder under a file lock. Per game:

FieldMerge rule
play_count, playtime_secondsBy maximum
last_playedNewer timestamp wins
progress, rating, favoriteWhoever played last is authoritative; if neither side has played, the newer file wins
generated_atPreserved when the remote was newer, bumped when local state is newer

Deleted local games are never resurrected: games present only in the cloud file are dropped from the merged output, and only games that exist locally are written back. This keeps a removal on one machine from reappearing on another.

Troubleshooting

ProblemCause / fix
"Configure a mounted cloud sync folder first."No cloud_folder set in Settings; point it at a mounted, writable path.
Sync does nothing after a sessionCheck the folder is mounted and the file is writable; look for sync errors in the diagnostic log.
Stats reappear after deleting a gameDeletion does not remove the cloud file's entry for that game. Run a sync after deletion so the merged output drops it.

See also