Analytics setup — connect your server to the dashboard
This guide connects your DayZ server to the ZYAD Dashboard so that events (wheel prizes, boss
kills, …) show up as statistics on zyadmods.de. Takes about 5 minutes.
Requirements
- A DayZ server running ZYADCore (analytics is part of ZYADCore — no extra mod needed).
- Access to the server’s profile folder (where your server configs live; often
profiles/or whatever-profiles=…points at). - A Steam account for the dashboard login (free; we store no passwords — only your Steam ID).
Sign in to the dashboard
Open the ZYAD Dashboard and click “Sign in with Steam”. You are redirected to Steam, sign in there (the whole login happens at Steam) and come back to the dashboard.
Add a server — get a ServerId & API key
Go to the “Servers” page → “+ Add server” (name is up to you). The dashboard generates automatically:
- a ServerId (e.g.
srv_a1b2c3d4) - an API key (e.g.
zyad_live_…)
analytics.json snippet shown below it. Lost the key? No problem:
“rotate key” creates a new one (which invalidates the old one).Fill in analytics.json on the server
The file lives in the server profile at:
<Profil-Ordner>/ZYAD/Core/analytics.json
ZYADCore creates it as a template on the first server start (with "Enabled": 0).
This is the complete file — you only need to change the first three fields, the rest
are sensible defaults:
{
"Enabled": 1,
"ServerId": "srv_DEINE_ID",
"ApiKey": "zyad_live_DEIN_KEY",
"UploadIntervalSec": 20,
"MaxBatchSize": 100,
"MaxQueueSize": 2000,
"MaxDiskFiles": 200,
"SelfTestOnBoot": 0,
"DebugLogging": 0
}
| Field | Meaning |
|---|---|
Enabled | 1 = sending active, 0 = completely off (the default in a new file). |
ServerId | The srv_… identifier from the dashboard (that string — not some number). |
ApiKey | Your secret key. Never put it in a modpack, the Workshop or anywhere public — it belongs only in this server file. |
UploadIntervalSec | Send interval in seconds (15–30 recommended). |
MaxBatchSize | Maximum events per request. |
MaxQueueSize | Maximum events held in the memory buffer. |
MaxDiskFiles | Spill files used during an API outage (no events are lost). |
SelfTestOnBoot | 1 = test event on server start — handy while setting up, put it back to 0 afterwards. |
DebugLogging | 1 = verbose log for troubleshooting. |
There is deliberately no URL in the file — the API address is fixed inside the mod
(if your file still contains ApiUrl/ApiPath from an older version,
just delete them; the values are ignored).
Restart the server and verify
Restart the DayZ server. Then two quick checks:
- Server log: the analytics log under
<profile folder>/ZYAD/Core/logs/should show[Uploader] … SUCCESSlines (withSelfTestOnBoot: 1within seconds of the start). - Dashboard: on the “Servers” page the “Last upload” column fills in — that is the heartbeat of your connection.
As soon as something happens on the server (a wheel spin, a boss kill, …) the events appear under “Overview”, “Events” and “Reports”.
Control it in game (optional)
In game, open the ZYAD Admin Center as an admin (default key Home,
rebindable in the DayZ controls) → “Analytics” button:
- Master switch: sending on/off entirely — live, without a restart.
- Per module: mute individual sources (e.g. do not send events, but do send trader & raid bases).
ServerId, API key and URL deliberately stay only in analytics.json on the
server — the in-game menu never displays them.
Troubleshooting
On a failed attempt the analytics log (<profile folder>/ZYAD/Core/logs/) reports a
code. The most common cases:
| Symptom / code | Cause | Fix |
|---|---|---|
code=5 (≈ 401) |
API key wrong or rotated in the meantime. | Create a new key in the dashboard (“rotate key”) and copy it into analytics.json. |
code=6 / code=7 |
Connection/address error. Should no longer happen with a current mod version (the API address is fixed inside the mod) — points to an outdated ZYADCore. | Update ZYADCore; if it persists, check that the server may make outgoing HTTPS connections through its firewall. |
| Log: “inactive / disabled” | Enabled: 0, or the file still holds placeholder values. |
Enter the real ServerId + key, set Enabled: 1 and restart the server. |
| “Last upload” stays empty | The server is set to inactive in the dashboard, or simply nothing worth sending has happened. | Check the server status in the dashboard; set SelfTestOnBoot: 1 as a test and restart. |
| Brief API/internet outage | — | Do nothing: events are buffered on the server (RAM + disk) and delivered automatically once the outage is over. |
Security — in brief
- Outgoing only: your server sends to the API over HTTPS. There is no back channel — nobody can control your server through the dashboard, whatever happens.
- The key stays with you: the API key lives only in
analytics.jsonin the server profile — never in the mod, never in the Workshop, never in logs or URLs. - We only store a hash of the key. That is why it cannot be shown again — but it can be rotated at any time.
- Password-free login: dashboard access runs through Steam (OpenID) — we hold only your Steam ID, no password.