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.
THERE IS NO HELP OR WARRANTY. THIS IS ENTIRELY AT YOUR OWN RISK AND YOU ASSUME ALL RESPONSIBILITY
FOR USING THIS TOOL. IF YOU FEEL THIS PROVIDES GAMEPLAY ADVANTAGE OR AUTOMATION OR BREAKS ANY OTHER
RULES DO NOT USE THIS.
IMPORTANT: DO NOT CONTACT ARENANET SUPPORT OR REQUEST HELP ON THE OFFICIAL FORUMS WHILE USING THIS
MODIFICATION BY ANY MEANS OR UNDER ANY CIRCUMSTANCES EVER.
how does it work
arcdps hooks client network data (among other helper functions), making it not user agreement friendly.
however, in the feb 2017 ama, arenanet has granted 3rd party tools permission to collect and display combat stats via means previously not allowed.
these are runtime modifications only, no changes are made to files on disk.
how do i install, update, or uninstall it
save d3d9.dll into 'gw2 install dir/bin64/
' with the other dlls while the game is not running.
config will be created in 'gw2 install dir/addons/arcdps/
to update, replace d3d9.dll.
expect to have to update after major game changes, be surprised when it's not necessary.
no official auto update but solutions exist
to reset, exit gw2 and remove the config folder above.
to disable/remove, exit gw2 and rename/delete d3d9.dll.
how do i use it
don't be a dick.
by default, holding alt and shift is required for hotkeys.
by default, t is the hotkey for options.
left click on windows to interact.
right click on windows to bring up their independent options (if available).
while two sources of data are provided (area = server strike + simulated buff; personal = chat log), neither source should be considered 100%
accurate. area stats will be missing damage from on-skill-activation triggers and some siphons, chat log stats will be missing some strikes from
aoe (guardian gs2) and condition ticks vs shroud. damage in both will always include overkill (can't detect) and healing in chat log will never
can i chain load another wrapper d3d9.dll
arcdps will attempt to load d3d9_chainload.dll, and if found, redirect the direct3dcreate9 call to it instead of the system library.
make sure you are using the 64bit version of wrappers (gemfx, sweetfx).
you can try the loader found here
for overlay compatibility (unsupported).
pve: starts on all players in combat when npc with recognized id exists nearby, stops when all players exit combat.
wvw: starts on player vs player damage near self, stops when all players exit combat.
open world: no.
npc id can be found via detail window and looking for 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.
compression requires powershell with compress-archive.
/u/sejsel: Log Manager
evtc code and readme: https://www.deltaconnected.com/arcdps/evtc/
place extensions in gw2 install dir/bin64/
example code and readme: https://www.deltaconnected.com/arcdps/api/
place translation in gw2 install dir/addons/arcdps/
, named arcdps_lang.ini.
Linus The One.7432: https://pastebin.com/TaPLR8FJ
creating a translation: https://www.deltaconnected.com/arcdps/translations/
area is missing buff extension source (eg. signet of inspiration) - not notified by server.
area is missing percent-based damage (eg. matthias' hadouken) - not notified by server.
area is missing some siphon damage (eg. food, sigil, some traits) - not notified by server.
area is missing healing - not notified by server.
area is missing hard cc context - not notified by server.
area is missing combo finishers - not notified by server.
area is missing some gadget owners for damage association - 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 use - not notified by server.
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.
area overstack and applied do not include ignored stacks (lower than lowest existing stack) - not notified by server.
it's not working
make sure the visual studio 2015-2019 redistributable x64
check your 'gw2 install dir/addons/arcdps/
' folder for an arcdps.log, it will appear after you launch and are in char select.
if there is no log or error, it isn't being loaded. it is up to you to find out where your system is trying to load it from.
if you use other applications or client switches, d3d9.dll may need to be placed next to gw2.exe.
if the game crashes on character select, another application may be interfering (eg d3dgear, razer cortex).
if you get an image modified error, another application is interfering (eg antivirus, razer cortex).
if you get a failed to create config error, make sure gw2.exe has read/write permission to the paths mentioned.
if you are playing on linux/wine, add override(s) in winecfg
if you have a problem not listed here, try asking in the arcdps-issues channel on discord
reporting crashes, bugs, and suggestions
if you notice an issue in accuracy, take a screenshot of area skill list beside personal chat list
, try and isolate which gear/buff/trait is the cause.
if you suspect arcdps as the cause of a crash, copy the crash log and paste it into an unlisted http://pastebin.com/
note that arcdps replaces the gw2 crash reporter to prevent crashes from being sent to anet, this does not mean arcdps caused a crash.
describe your issue with the above included in the arcdps-issues channel on discord
jan.04.2021: fixed breakbar exlcudes to properly use vs instead of from.
jan.04.2021: removed unecessary extension load warnings.
jan.03.2021: reduced thread health check aggressiveness.
jan.02.2021: fixed an oops with evtc logging in previous.
jan.02.2021: update area stats time on boss npc removal or death.
jan.02.2021: added override for proc chance var on food, assumed to be siphon.
jan.02.2021: fixed item type enum after some game update.
jan.02.2021: fixed flicker in area stats when panel-specific excludes were used.
jan.02.2021: set on buff remove siphon target to last hit target (lags one hit behind actual).
jan.02.2021: evtc: is_shields in buffremove single will be set to 1 if active (like buffapply).
jan.02.2021: evtc/api: buffremove on cat 0 buffs (stability) duration remaining treated as intensity.
jan.02.2021: api: added dll export e8 to log str to extension tab in log window (e8(char* str)).
jan.02.2021: api: table, name, and build are all copied to arcdps-allocated space and can be freed after init.
jan.02.2021: strings: end of as common (extension).
dec.01.2020: added breakbar damage to combat time update triggers.
dec.01.2020: removed squad near filter on instanced content (eg tag is q1 kite).
dec.01.2020: evtc: added barrier percent statechange.
dec.01.2020: api: fixed src-less statechanges not happening (logstart, logend, etc).
nov.17.2020: updated for nov17 game build maybe.
nov.17.2020: added timer variance check on buff simulation.
nov.17.2020: added breakbar damage.
nov.17.2020: added defaults options for showing breakbar damage in logger and details.
nov.17.2020: added breakbar damage total to details side summary.
nov.17.2020: added breakbar damager per sec persisting and squad current to advanced sort.
nov.17.2020: strings: csk_common_breakbar, pan_logger_cbtbreakbar, summary_breakbar.
nov.17.2020: evtc and api: added cbt result 10, cbtr_breakbar (value = breakbar damage dealt).
nov.06.2020: fixed handling mixed normal and legendary runes (previously treated separate).
nov.06.2020: fixed rune changes not triggering stats recalc.
nov.06.2020: better implement pack alpha (dont use minions).
nov.06.2020: changed trait calcualtion to absolute values first percentage values second.
nov.06.2020: fixed combat floater suppression in pvp maybe (remap to yet another event).
oct.29.2020: fixed resize crash in previous.
oct.28.2020: revert change that reset windows positions.
oct.28.2020: save window positions after client shutdown in addition to window change.
oct.27.2020: updated for oct27 game update.
oct.27.2020: fixed area stats group historical current not resetting all playes in some cases.
oct.27.2020: fixed area stats [+] 0 handling.
oct.27.2020: workaround for area stats main and [+] 1 hashed id collision.
oct.27.2020: fixed an issue with area stats that could interfere with window-relative options.
oct.13.2020: updated for oct13 game build maybe.
oct.13.2020: better no selection handling to relative window position (default to tl to tr).
oct.13.2020: added option to reset advanced style to defaults.
oct.13.2020: changed details buff graph lines (grey apply, yellow ticks, red invulns or overstacks).
oct.13.2020: details window changed to draw aggregate line over selected skill as default.
oct.13.2020: strings: bottom of common as.
oct.01.2020: fixed heap corruption when using advanced style since previous.
sep.29.2020: moved combat time in area stats left of name for easier comparative glancing.
sep.29.2020: closing details windows will not reset historical for player if set from area stats.
sep.29.2020: boss log start will auto reset historical for all players.
sep.29.2020: opening detail window from buff table player click will auto set details to buffs.
sep.29.2020: opening detail window from buff table buff click will auto set to filter to that buff.
sep.29.2020: detail window graphs fixed not showing special cases on in.
sep.29.2020: added detail window option to draw damage line graph overtop skill/buff bar graph.
sep.29.2020: added area stats display option to also show self on top.
sep.29.2020: added area stats display option to hide self from main list.
sep.29.2020: added buff table display option to also show self on top.
sep.29.2020: added buff table display option to hide self from main list.
sep.29.2020: buff table changed default max char limit from 23 to 19 (oops) and scaled to w.
sep.29.2020: added buff table "defensive" buff tab (rt click, defensive).
sep.29.2020: use builtin for advanced style color picker (click drag).
sep.29.2020: added advanced style colour for previously hardcoded area stats values.
sep.29.2020: added advanced style colour for previously hardcoded buff table values.
sep.29.2020: added advanced style colour for previously hardcoded stat list values.
sep.29.2020: appearance font size will apply to default font as well (restart still required).
sep.29.2020: changed scroll lines with mousewheel from 5 to 3.
sep.29.2020: d3d9 dll will have build date set in file/product version.
sep.29.2020: strings: end of common as, updated appearance/font text.