Linking a server
From the code in the console to the server reporting in your workspace: signing in, workspaces, the link code, and moving or removing a server.
A server is linked when it holds a token for one workspace. The agent never asks for a password or an API key: it prints a short code, a workspace member approves it in the browser, and the agent picks up its token on its own.
Before the first server
Sign in
Open analytics.exylia.net and continue with Discord. The dashboard reads your Discord name and avatar, nothing else.
Create a workspace
A workspace is one network: its proxy, lobbies and game servers, the people who can see them, and their settings. Give it a name (2 to 48 characters); the timezone and currency are set later in Settings. If you were invited to an existing workspace, open the invite link instead.
Until a server reports, the workspace's Overview shows the same three steps as a checklist.
Linking
Start the server
An unlinked agent requests a code as soon as it starts, and prints it:
[ExyliaAnalytics] Link this server at https://analytics.exylia.net/link — code K7QM-2XPA (expires in 10 min)/analytics link (on Velocity /analyticsv link) asks for a new one at any time, and shows it to
whoever ran the command as well as in the console.
Enter the code
Go to analytics.exylia.net/link, or Servers → Link a server. Type the code, pick the
workspace, and optionally a name for the server.
Wait a few seconds
The agent asks every five seconds whether its code was approved. Once it is, it saves its token, fetches the workspace's settings, prints "Linked to the workspace …" and starts sending. The server shows on the Servers page as Waiting until its first heartbeat, then Online.
| About the code | |
|---|---|
| Shape | Eight characters as XXXX-XXXX. Letters and digits that cannot be confused are left out: no 0, O, 1, I or L. |
| Lifetime | Ten minutes. When it runs out the console says "The link code expired"; restart or run the link command for a new one. |
| Use | Once. A code that was used, expired or never existed is refused with the same message. |
| Who may approve | A member whose role has Link, rename, disable and revoke servers (manage_servers). The workspace list on the link page only offers those workspaces. |
| Name | Up to 40 characters, and it can be renamed later. Left empty, a Paper server is named after the folder it runs in and a proxy is named proxy. |
If the ingest cannot be reached, the agent says so once ("Could not reach Exylia Analytics; retrying in the background") and keeps asking, waiting longer each time up to five minutes.
The dashboard's operators may limit how many servers one workspace links. Past that limit the link page answers "This workspace can link N servers. Revoke one to link another". Revoked servers do not count.
A network
Link the proxy and every backend into the same workspace, each with its own code. Then confirm the proxy mapping on the Servers page, so the dashboard knows which entry of the proxy's server list each backend is: see Servers and performance.
After linking
- Settings → Agent decides what every server collects and how often. The agent picks changes up without a restart. See Remote configuration.
/analytics statusshows the state, the workspace, the role, what is waiting to be sent and how the last send went. See Commands and permissions.
Moving or removing a server
| To | Do |
|---|---|
| Stop a server collecting for a while | Servers → Pause. The agent stops collecting and sending. See Servers. |
| Remove a server for good | Servers → Revoke. Its token stops working within 30 seconds, and the agent goes back to unlinked. What it already sent stays. |
| Move a server to another workspace | Revoke it in the old workspace, then /analytics link on the server and approve the code in the new one. |
| Unlink from the server side | /analytics unlink. The agent forgets its token and throws away what it had not sent yet. The token itself still works until you revoke the server in the dashboard. |
Linking again always creates a new server in the dashboard. The history of the old one stays under its old entry.
Something missing on this page? Tell us on Discord