ozzeh.7398:

I would like to suggest implementing a client-side API to support damage related output. The game client could, for example, output various damage data to the shared memory file used by MumbleLink. The game client could calculate DPS based off in-game settings which could be added to the Options menu.

https://wiki.guildwars2.com/wiki/API:MumbleLink

By utilizing the already existing MumbleLink API, you would not need to create a new client-side API. You would also be saving bandwidth by not having to transmit the data to the ArenaNET servers for the web API.

That all being said though, I am not sure if the file used by MumbleLink exists in one of the GuildWars directories, or if it is dependent on Mumble being installed and/or active on the system. What do you guys think? I am by far not the most experienced developer out there, but I feel like this would definitely be a useful API.

Lawton Campbell.8517:

I’m not going to change the MumbleLink data format any further — it’s plagued by issues currently. One of my long-term lofty goals that may never happen is to build an opt-in websocket-based API into the client so that local and web applications can query for real-time info. Here’s the github issue for that dream.

To expand further on the MumbleLink data issues — the format allows only a fixed amount of data in the field, which effectively prohibits its use as a chat log. Moreover, because writes/access to the shared memory are unsynchronized, applications often get half-baked data (e.g., they read it while the client is in the middle of writing). We’re stuffing JSON into the description field, so this manifests as reading invalid JSON. We’ve mostly stuck to the guidelines and only put data that rarely changes in there, so it’s not terrible, but the format is highly restrictive.