Content generated with AI — it may contain mistakes.

The agent

Configuration

Every key of config.yml with its default, and what lives in the data folder. Everything else is set from the dashboard.

The agent has one local file, config.yml, and it is short on purpose: it only holds what a server must decide before it can reach the dashboard. How often to send, what to collect and whether to collect at all are set per workspace in the dashboard — see Remote configuration.

config.yml

Written on first start in plugins/ExyliaAnalytics/ (Velocity: plugins/exyliaanalytics/):

# Exylia Analytics — https://analytics.exylia.net
# Almost everything is configured from the dashboard; this file only holds
# what the server must decide before it can reach it.
 
mode: auto
 
placeholders: []
 
vault-wrapper: true
 
debug: false
KeyDefaultPlatformsWhat it does
modeautoPaper, SpigotThe server's role: auto, backend or standalone. auto detects it (see Installation); any other value is treated as auto. A proxy is always proxy, whatever this says. Needs a restart.
placeholders[]Paper, SpigotPlaceholderAPI placeholders whose values are sent each time a player leaves this server. Up to 16; more are ignored, and a repeat counts once. Written with or without the % signs.
vault-wrappertruePaper, SpigotWhether the agent stands in front of the Vault and VaultUnlocked economies to see which plugin creates or destroys money. Every call passes through untouched. Turn it off if an economy plugin misbehaves with it. See Economy. Read when an economy registers, so in practice needs a restart.
debugfalseAllLogs every request to the ingest ([debug] POST /v1/events … -> 200), and every custom event dropped for breaking the limits.

placeholders is written either as a list or inline:

placeholders:
  - '%vault_eco_balance%'
  - '%statistic_mob_kills%'
placeholders: [vault_eco_balance, statistic_mob_kills]
A small reader, not a YAML library

The file is read line by line, so the agent needs neither platform's YAML library. Keep each key on its own line at the top level, as written above. Quotes are optional, anything after # is a comment, and unknown keys are ignored.

/analytics reload re-reads the file: the placeholder list and debug apply at once, mode and vault-wrapper after a restart. It also makes the agent fetch the dashboard's settings again.

The data folder

Nothing in data/ is meant to be edited by hand.

PathContents
data/credentials.jsonThe server's token, its server and workspace ids, and the workspace name. Written when a link is approved, deleted by /analytics unlink and when the token is revoked.
data/remote-config.jsonThe last settings the dashboard sent. Used on start until fresh ones arrive; an unreadable copy is ignored with a warning.
data/spool/*.json.gzBatches waiting for delivery, oldest first by name. Capped at 50 MiB.

loader.yml

Written by the loader, not the agent. A jar bought on BuiltByBit carries its licence, so there is no key to put here.

Something missing on this page? Tell us on Discord