arcdps: gw2 dps meter (and general combat metrics tool)
WARNING: MODIFYING GUILD WARS 2 THROUGH ANY 3RD PARTY TOOLS IS NOT SUPPORTED BY ARENANET OR NCSOFT.
DO NOT CONTACT SUPPORT ABOUT GAME CLIENT ISSUES WHILE USING THIS TOOL. THERE IS NO HELP OR WARRANTY.
THIS IS ENTIRELY AT YOUR OWN RISK AND YOU ASSUME ALL RESPONSIBILITY.
how to install, update, or uninstall
place d3d11.dll next to gw2-64.exe while the game is not running, optionally can be renamed to dxgi.dll.
addons and arcdps config folder will be created next to gw2-64.exe after starting the client.
to update, replace dll.
to reset, exit gw2 and remove the config folder above.
to remove, exit gw2 and delete the dll.
expect to have to update after major game changes.
most errors will disable logging and extension data.
how to use
don't be a dick.
by default, holding alt and shift is required for hotkeys, t is the hotkey for options.
right click on windows to bring up their independent context menu options (if available).
something isn't working
check your '
gw2 install dir/addons/arcdps/' folder for an arcdps.log.
if nothing is drawn make sure the dll is in the right place.
if the game crashes at character select, some other application is interfering (razer cortex, razer synapse).
if you get an image modified error, some other application is interfering (eg bitdefender, citrix 22, razer cortex, razer synapse, groupy, overwolf).
if windows are drawn but a hotkey isn't working, some other application may have a global hook installed (zoom).
if you get a file creation error, make sure gw2 has read/write permission to the paths mentioned.
if you notice an issue in accuracy, compare area skills vs self skills, try and isolate which gear/buff/trait may be causing it.
if you suspect arcdps as the cause of a crash, remove all addons and chainloads and try to repeat the crash.
if your issue is not in the
discord pins, describe it in detail and attach the latest complete arcdps log.
evtc logging
pve/wvw: starts on first player combat enter, boss set by damage event on boss, stops when all players exit combat.
map: starts on joining an instance type map, stops on leaving map.
npc id for pve logs can be found via detail window and noting species in title, or tooltip in target list after attacking.
logs are written to '
documents/gw2/addons/arcdps/arcdps.cbtlogs/.../date-time.evtc' by default.
extensions and parsing data
most extensions and links to parsing tools can be found on elite insights'
discord.
place next to gw2 exe or in
gw2 install dir/bin64/.
api example code and readme:
https://www.deltaconnected.com/arcdps/api/
evtc writing code and readme:
https://www.deltaconnected.com/arcdps/evtc/
translations
place translation in
gw2 install dir/addons/arcdps/, named arcdps_lang.ini.
/u/Snowy1794:
https://raw.githubusercontent.com/Snowy1794/Arcdps-translation-Chinese-simplified/master/arcdps_lang.ini (chinese simplified).
/u/bluelovers:
https://raw.githubusercontent.com/bluelovers/ws-gw2-arcdps/master/packages/arcdps-lang-ini/lib/arcdps_lang.ini (chinese traditional).
creating a translation:
https://www.deltaconnected.com/arcdps/translations/
limitations
area is missing percent-based damage - not notified by server.
area is missing siphon damage - not notified by server.
area is missing healing - not notified by server.
area is missing combo finishers - not notified by server.
area is missing buff extension source - not notified by server.
area condition damage uses simulated attribute building from gear, traits, and buffs, on a simulated server tick.
area condition damage scaling in levels 1 to 79 is different from the game's scaling.
area condition damage on-skill-use procs on animation start instead of on skill execute - not notified by server.
area breakbar damage missing on some breakbar changes initiated by damageless skills.
area strike damage notify bubble may cause some events (eg. deimos) to be out of range - not notified by server.
area strips ignore last-stack stability - cc and strip indistinguishable.
area skill activation will only count skills which have animations (no shouts, no instants) - not notified by server.
changes
aug.20.2025: fixed stats window selection in wvw not changing style string.
aug.19.2025: added variables for all stats in stat window formats.
aug.19.2025: follow format string for all stats in stat windows.
aug.19.2025: added option to treat map id list as a blacklist.
aug.19.2025: fixed copy pasta checkbox id for minimum map log duration.
aug.19.2025: evtc: added CBTS_IIDCHANGE for post-player-spawn iid/addr change.
aug.09.2025: fixed a regression that could fail to set boss id on previous.
aug.09.2025: fixed non-instance logs not being saved due to invalid map type.
aug.09.2025: removed apply button for applying additional boss logging ids, add is enough now.
aug.06.2025: actually fix details window incoming log filtering.
aug.06.2025: added option to delay map log end until all squad members leave instance.
aug.06.2025: evtc-bound data will no longer be stored if logging option is disabled at log start trigger.
aug.06.2025: evtc: reduce size of in-memory evtc-bound data.
aug.06.2025: evtc: reduce complexity of log writing (larger effect for map logs).
aug.06.2025: evtc: added doc for CBTS_SQCOMBATSTART dst_agent, 2 for map 3 for boss log, valid for all previous map logs.
jul.29.2025: added overrides for power overwhelming and empowered empowerment traits.
jul.29.2025: fixed blood reaction trait override in some cases.
jul.29.2025: removed option to disable map logging on client launch.
jul.29.2025: added option for minimum map log duration.
jul.29.2025: changed map logging to only log on maps on manual list, default list is empty.
jul.29.2025: changed incoming damage skill breakdown to use recorded profid of incoming skill for colour.
jul.29.2025: removed event filters for details window log (semi-defunc), hardcoded to damage and down/dead.
jul.29.2025: possibly fixed a crash that could happen when using rolling normalization options.
jul.29.2025: evtc: add polled events to map logging when outside combat.
jul.29.2025: evtc: pad63 in CBTS_BUFFINFO will be non-zero if buff is used for combat sim.
jul.08.2025: fixed self stats not updating.
jul.08.2025: evtc: fixed missing agentless events (effects).
jun.24.2025: updated for june 24 game build maybe.
jun.24.2025: added kinfall cm id to default list.
jun.24.2025: api: changed e8 log to treat string as unformatted.
jun.03.2025: fixed auto-updates for next update.
jun.03.2025: evtc: replaced CBTS_EFFECT2 with CBTS_EFFECTGROUND__/CBTS_EFFECTAGENT__.
jun.03.2025: evtc: CBTS_EFFECTGROUND added effect scale override.
jun.03.2025: evtc: fixed radius in CBTS_MISSILELAUNCH.
jun.03.2025: evtc: added subgroup and elite spec to CBTS_EXITCOMBAT.
may.26.2025: fixed double inputs on shared context since previous.
may.25.2025: fixed buff table self-top option using wrong self index for stats.
may.25.2025: added experimental stat "missile effectiveness".
may.25.2025: added experimental stat "missile friendly fire".
may.25.2025: evtc: added cbts_missilecreate, cbts_missilelaunch, and cbts_missileremove.
may.01.2025: re-fixed mech inheritance.
may.01.2025: added support for future nexus loader flag for imgui context creation switch.
apr.28.2025: possibly fixed minion damage split for buffs in details window.
apr.28.2025: use nexus loader imgui context if available.
apr.28.2025: adjusted mechanist mech inheritance.
apr.28.2025: adjusted blood reaction hardcode to 2024 values.
apr.28.2025: changed automatically determined value sources to fix damage simulation on cn.
apr.28.2025: evtc: added gadget 11053 to default (cn ht).
apr.28.2025: evtc: added CONTENTLOCAL_SKILL to CBTS_IDTOGUID, ids should not be trusted between cn and naeu.
apr.28.2025: evtc: added CONTENTLOCAL_SPECIES_NOT_GADGET to CBTS_IDTOGUID, ids should not be trusted between cn and naeu.
apr.28.2025: evtc: partially revert agent table filter change.
apr.20.2025: fixed missing crowdcontrol event on reapers frost, petrify, freeze.
apr.20.2025: fixed a crash that could happen on changing window options that trigger recalculating.
apr.20.2025: added area stats rolling normalized option (up to minutes equal to global option).
apr.20.2025: added max stored minutes for rolling normalized option to global options, renamed reset-on entries.
apr.20.2025: added area graphs option to show subgroup sums only.
apr.20.2025: added area graphs split for multiple windows, exclusion no longer spit by mode. resets default graphs settings.
apr.20.2025: removed unecessary area name from stats, buffs, and graphs windows.
apr.20.2025: moved stats, buffs, and graphs hotkey options to the bottom of the per-window context menus. keys are reset.
apr.20.2025: evtc: require squad damage interaction instead of squad any interaction for limited agent table.
apr.20.2025: evtc: unintended change to include sqcombatstart/sqcombatend in map logging will remain (since march 15).
mar.29.2025: updated for march 25 game build.
mar.20.2025: changed negated attacks stat to ignore zero due to barrier (match details window).
mar.20.2025: changed negated attacks stat to ignore absorbs of buff events (match details window).
mar.17.2025: fixed possible detail window deadlock.
mar.17.2025: evtc/api: fixed missing statechanges.
mar.13.2025: added decima cm to default id list.
mar.13.2025: split excludes option for area graphs between pve and wvw.
mar.13.2025: fixed area stats recovered ratio.
mar.13.2025: fixed area stats cleanses and strips excludes.
mar.13.2025: changed area stats damage target bar in wvw to be vs player instead of targeted profession.
mar.13.2025: removed range check for ending logs (wvw).
mar.13.2025: fixed hide via hotkey swallowing all input if hidden while hovering over a window.
download
here (20250820-2002)