LAB-SERVER-03>$ // BL-003 // SYNCDAT // FIELD REPORT
Researcher Notes // Field Observations

WhoDAT collects everything. SyncDAT moves it — in both directions. That is the division of labor. That is the whole division of labor. Experiment 03 sits in your system tray, watches your WhoDAT.lua for changes, and the moment WoW writes a new export at logout — it moves. Quietly. Automatically. Without being asked. You do not have to remember. The lab has accounted for the fact that you would not.

Configure it once: set your WoW installation path, drop in your API key, and walk away. SyncDAT handles the rest — uploads, file size warnings, timestamped backups, download sync for dashboard-generated addon files, a full activity log — all from a small icon in the corner of your screen that you will eventually forget is there. That is the intended state. That is the goal. A tool you forget about because it never gives you a reason to remember it.

Chief Science Officer advisory: "SyncDAT does not care how large your WhoDAT file has grown. It will upload it regardless. The size warnings are a courtesy. The backup system is a mercy. The download sync is, frankly, a minor miracle of restraint on our part. Whether you enable any of them is, technically, your decision. Technically."
ℹ Configuration Note — API Key Required

SyncDAT requires a valid API key and a configured API endpoint URL to function. These are provided by your WhoDASH server administrator. Without them, SyncDAT will watch your files diligently, detect every change with admirable thoroughness, and then fail to deliver anything to anyone. The API key field is masked by default. This is a feature, not a judgment about your OpSec practices. Though perhaps it should also be the latter.

Designation SyncDAT
Experiment No. BL-003
Status ACTIVE / STABLE
Type Bidirectional Sync Bridge
Platform Windows Only
Runtime .NET 8.0
Version 4.0.0
Hazard Rating LOW
Tolerance STRICT
Throughput HIGH
Disposition METHODICAL
Observation Log
BL-003-1A CSV incident. System hardened considerably. Moving on.
BL-003-7C Wrong path. Three characters. Three errors. All documented.
BL-003-9D Validation protocols expanded. Edge cases now handled.
BL-003-14G Throughput test complete. Numbers satisfactory. Barely.
BL-003-21H Auto-backup enabled lab-wide. Sleep quality improved across team.
BL-003-31V Download sync added. Experiment now moves data in both directions. The lab is unsettled but pleased.
01

What It Does
In Plain Language

The following is a simplified account for those who prefer their mad science digestible and their file transfers automatic.

Automatic File Watching
SyncDAT monitors configured WhoDAT.lua file paths using filesystem watchers. The instant WoW writes an updated export at logout, SyncDAT sees it. It does not need to be told. It was already watching.
Configurable Upload Delay
After detecting a file change, SyncDAT waits a user-defined number of seconds before transmitting. This prevents partial-write uploads when WoW is still mid-flush. Default is 60 seconds. Adjust according to your anxiety tolerance.
Multi-Character Support
Any number of characters can be configured simultaneously, each with their own file path and independent upload lifecycle. SyncDAT maintains separate watchers and upload timers per character. It does not conflate. It is precise.
Dashboard Download Sync
SyncDAT pulls synchronized files from the WhoDASH dashboard and writes them directly into the appropriate addon folders. TheGrudgeDB.lua arrives where the addon expects it. No manual copying. No forgotten steps. A fresh /reload picks it up.
Smart Path Configuration
Set your WoW base installation path once. SyncDAT uses it to intelligently pre-fill file pickers — dropping you into WTF\Account\ when adding characters and pre-populating addon output directories for sync targets. Manual overrides remain available for non-standard setups.
File Size Warnings
Size thresholds are monitored at 2.5 MB, 5 MB, and 7 MB. When a file crosses a threshold, a system tray notification is issued. SyncDAT has opinions about file bloat. They are not shared verbally. They are shared via balloon tooltip.
Automatic Timestamped Backup
When auto-backup is enabled and a file reaches the configured size threshold, SyncDAT renames the current file with a timestamp, creates a fresh blank file, and resets all size notification flags. The old data is retained. The new file begins clean. Order is restored.
System Tray Operation
SyncDAT runs quietly in the Windows system tray, out of your way and fully out of your mind. Minimizing sends it below the taskbar. It continues working. Closing the window also sends it to tray — unless you select Exit from the tray icon, at which point it listens, reluctantly.
Activity Log
Every file change, scheduled upload, successful transmission, error, size warning, backup operation, and download sync event is written to the in-app activity log in real time. Color-coded by event type. Timestamped. Scrollable. The log does not editorialize. The log simply records.
Manual Controls
Right-click any character in the list to trigger a manual upload, check the current file size in detail, initiate a manual backup, open the file directly in Notepad, or navigate to its folder in Explorer. Full control, when you decide you want it. SyncDAT does not begrudge you the manual override.
Resilient File Reading
WoW holds a write lock on SavedVariables during export. SyncDAT accounts for this with a three-attempt file reading strategy using progressively permissive share modes. It will get the file. It has always gotten the file. It is not deterred by file locks.
02

Setup
Protocol

Four steps. Sequential. Do not improvise. SyncDAT is forgiving of many things. Misordered setup steps are not among them.

01
Step One
Download & Run
Download SyncDAT.exe using the button above. Place it somewhere permanent — a dedicated folder in Program Files or your WoW directory both work. Do not run it from your Downloads folder indefinitely. The lab has observed this behavior. The lab does not endorse it.

If prompted by Windows SmartScreen on first launch, click More Info then Run Anyway. This is normal for unsigned executables. SyncDAT is not malicious. It is simply unsigned.
02
Step Two
Enter Your Credentials & WoW Path
Navigate to the ⚙️ Configuration tab. Enter your API Key — provided by your WhoDASH server administrator — and the API Endpoint URL. Set your WoW Installation Path to your WoW base directory. SyncDAT uses this to intelligently pre-fill file pickers. Click 💾 Save Configuration. The key will not be validated at this stage. That is what Step Four is for.
03
Step Three
Add Your Characters
Navigate to the 👤 Characters tab and click ➕ Add Character. If your WoW path is configured, the file dialog will open directly in your WTF\Account\ folder. Navigate to your account and select the appropriate WhoDAT.lua. Provide a display name. Repeat for each character. SyncDAT will immediately begin watching each configured path. It does not require a restart. It simply begins.
04
Step Four
Test & Verify
Select a character from the list and click 🔼 Test Upload — or right-click and select the same from the context menu. Watch the Activity Log tab. A successful upload will produce a green confirmation entry. A failure will produce a red entry with an error message.

If the upload succeeds: you are done. Log into WoW, play normally, and log out. SyncDAT will handle the rest. If it fails: check your API credentials, verify the endpoint URL, and consult the Activity Log. The log will tell you. The log always tells you.
⚠   System Requirements & Notes

SyncDAT is a Windows-only application, built on the .NET 8 Windows Forms platform. This was not a controversial decision. WoW's SavedVariables files live on Windows machines. SyncDAT lives where the data lives. The lab does not apologize for this. The lab barely thought about it.

The standard distributed build is self-contained — it bundles the necessary .NET 8 runtime components and requires no separate runtime installation on the target machine. The resulting executable is approximately 65–70 MB. This is expected. This is the cost of self-containment. The lab has made peace with the file size. Operators are encouraged to do the same.

A framework-dependent build variant is also available, producing an executable of approximately 200 KB — but requiring .NET 8 Runtime to be installed separately. Administrators distributing to multiple machines may prefer this approach. Standard users are recommended to use the self-contained build and not think about it.

SyncDAT stores its configuration at %APPDATA%\SyncDAT\config.json. This file contains your API key. Guard it accordingly. SyncDAT will also write a crash log to this directory should anything unexpected occur. The lab would prefer nothing unexpected occur. The lab has a crash log precisely because preference is not a guarantee.

Windows 10 / 11Fully supported
.NET 8 Self-ContainedNo install needed
macOS / LinuxNot supported
      BL-003 SYNCDAT: STATUS NOMINAL  ⋮  FILE WATCHER: ACTIVE — 3 CHARACTERS MONITORED  ⋮  UPLOAD DELAY: 60 SECONDS. THIS IS NOT NEGOTIABLE.  ⋮  BELMONT - ICECROWN: LAST UPLOAD SUCCESSFUL. GOLD GRAPH UPDATED.  ⋮  DRUIDICAL - ICECROWN: UPLOAD SCHEDULED. STANDING BY.  ⋮  DOWNLOAD SYNC: THEGRUDGEDB.LUA WRITTEN TO ADDON FOLDER. /RELOAD TO ACTIVATE.  ⋮  FILE SIZE WARNING: ACCOUNT WIDE DATA HAS REACHED 5.2 MB. SYNCDAT NOTES THIS. SYNCDAT JUDGES NOTHING.  ⋮  AUTO-BACKUP: ENABLED. A PRECAUTION. A MERCY.  ⋮  ACTIVITY LOG: 847 ENTRIES. ALL DOCUMENTED. ALL TIMESTAMPED.  ⋮  REMINDER: API KEY GOES IN THE API KEY FIELD. THIS HAS HAD TO BE SAID.  ⋮  BL-003 SYNCDAT: WATCHING. WAITING. READY. AS ALWAYS. ALWAYS READY.  ⋮