File Sync
File Sync enables administrators to distribute files from the HandyCafe Server to client PCs across the network. It uses a manifest-based approach to ensure that only changed or new files are transferred, minimizing bandwidth usage and sync time.
Sync Explorer
The Sync Explorer provides a file browser interface for selecting which directories and files should be synchronized to clients. Administrators navigate the server's file system, select the desired content, and initiate the sync operation.
How Synchronization Works
Manifest-Based Comparison
When a sync operation begins, the server generates a file manifest -- a list of all files to be synced along with their checksums. Each client compares this manifest against its own local files:
- Files that do not exist on the client are marked for download.
- Files whose checksums differ (indicating they have been modified) are marked for download.
- Files that match are skipped entirely.
This approach ensures that only the delta between server and client is transferred, making repeated syncs fast and efficient.
Chunk-Based Transfer
Large files are split into smaller chunks for transfer over TCP. This provides several benefits:
- Reliability -- If a chunk fails to transfer, only that chunk needs to be retried rather than the entire file.
- Progress tracking -- Transfer progress can be reported at the chunk level.
- Network efficiency -- Chunk sizes are tuned to work well with typical LAN conditions.
Triggering a Sync
Administrators can trigger file synchronization in two ways:
- Sync to all clients -- Pushes the selected files to every connected client simultaneously.
- Sync to specific clients -- Targets one or more individual clients for the sync operation.
Sync can be triggered manually from the Sync Explorer interface whenever new content needs to be distributed.
Sync Reporting
After a sync operation, each client reports its status back to the server:
- Success -- All files were synced without errors.
- Failure -- One or more files failed to transfer, with details about which files and why.
- Files synced -- A count of how many files were actually downloaded (excluding skipped files that were already up to date).
These reports are visible in the Sync Explorer, allowing administrators to verify that the operation completed as expected.
Use Cases
- Deploying game updates -- Push game patches or updates to all gaming PCs at once, ensuring every machine runs the same version.
- Pushing configuration files -- Distribute updated configuration files (such as network settings or application preferences) across all clients.
- Distributing software -- Install new applications on client PCs by syncing installer packages or portable applications.
- Updating client menu assets -- Sync new icons, posters, or media files used by the client menu interface.