About

BGDM IS OFFCIALLY SHUT DOWN

ANET HAS MADE THEIR DECISION ABOUT IT AND I WAS PERMA BANNED, I'M **NOT** GOING TO FIGHT THIS DECISION, YOU CAN READ ABOUT IT HERE.



NOTE: it seems that in the process of looking for a successor my code got leaked to GitHub, here's the link to anyone interested, I'm not affiliated with it in any way and will not address any questions about that repository.



ABOUT BGDM



COMPATIBLE WITH GAME UPDATE
August 8th, 2017 [BUILD: 80,647] 

BGDM BETA for MAC AVAILABLE!!!

FLOAT BAR & GEAR CHECK ONLY AVAILABLE FOR BGDM CHINA.





1. FAQ



2. Installation & Troubleshooting



3. Operation

4. General



1.1 What is BDGM?


BGDM is an overlay for Guild Wars 2 that provides:
 - Personal & Group DPS & damage meter
 - Buff uptime monitoring
 - Health bar, breakbar & distance information
 - Compass
 - Live Update (never have to update post GW2 patches again!)


1.2 Is it a "legal" DPS meter?


DISCLAIMER: AS OF v1.7.0.1 AND ANET'S POLICY CHANGE TOWARDS MEMORY-READING DPS METERS BGDM IS NOW SAFE TO USE FOR ALL!!!


You can read more about it in the ANET TOS page.

In addition, BGDM will never modify the game code or be used to gain unfair advantage (teleporting, etc) nor will it show any data on enemy players in competitive game modes (WvW/PVP).


1.3 How does it work?


Upon installation BGDM will load itself into the game's client memory, scan for the certain  memory footprints and read the relevant information from the correct offsets.


1.4 How accurate is BGDM?


The personal damage information is retrieved directly from the callback that provides the information to the game client hence it is 100% accurate for personal DPS and does not require to have the combat log open to get the data, this is also far more accurate than combat log based DPS meters as the combat log is missing some information (e.g. life siphoning traits) and in addition all suffer from inaccuracies due to the inherent nature of dealign with "scrolling text" type of output and the issues that come with that.


Note however that due to lack of information sent to the game client the team damage in the single-target DPS panel is calculated by simulating a "team hit" based on HP lost from the target each time the client gets updated and therefore will not be 100% accurate when targets can heal (certain NPC's / other players).


At the moment I am unaware of any other memory-reading server-based group DPS meter, other "legal" meters work through combat log parsing (using screen-shotting e.g. GW2SPECS) which by nature can never be as accurate as a memory-reading based meter, if you're looking for 100% group DPS accuracy for your static, this is the tool for you.


1.5 Is it possible to see other player’s DPS even if they don’t have BGDM installed?


Unfortunately not, BGDM is a **server-based DPS meter**, the group DPS function can only show other users that have BGDM installed as well,   your DPS information is sent to the BGDM server and is shared with adjacent users in combat in the same map shard as you (i.e. same location in the world/megaserver).

NOTE:  If you wish to see other people's simulated DPS without them having to install a meter (i.e. PUGs) I would recommend checking out Arc's DPS meter, granted it will never be accurate as users sharing their DPS through a server but it's still very close and will help you identify issues in your PUG quickly.


1.6 How often do I need to update BGDM?


Never! with the release of the BGDM auto-update server (v1.0 and up) new versions are distributed using the server eliminating the need to download a new version whenever a big game patch is released (requiring offset updates, etc).

I am usually pretty quick to release a patch once something breaks due to a big game build with new offsets, if something isn't working properly after a game build you can expect a release from me within the same day.


1.7 Where is the BGDM server located?


The BGDM server is hosted on Amazon AWS in the US-East region.

BGDM changed hosting company to reduce costs and is now hosted by NFOServers under InerNAP LA.





2.1 How do I install BGDM?


Download the latest release



Unzip & copy the meter files into the bin64 folder of the game (e.g. C:\Program Files (x86)\Guild Wars 2\bin64) and restart the game.

NOTE: You might also need to download & install Visual Studio 2015 Redistributable or DirectX End-User Runtimes if you don't have it installed already (most likely you do), see below for more troubleshooting advice.

The meter package consists of 2 files:
 - d3d9.dll: the loader
 - bgdm.dll: the meter itself

Upon installation BGDM will create a "bgdm" folder in your Documents folder (generally C:\Users\<user>\Documents\bgdm) and will place 2 more files there:
 - bgdm.in: the main settings file
 - bgdmUI.ini: the UI positioning & size information
 - bgdm.log: the server/client log file

Note that if you are just installing an update you can just overwrite "bgdm.dll" (d3d9.dll rarely needs to be updated) and press CTRL+SHIFT+F9 to reload the meter while the game is active, you can also reload your updated configuration in similar fashion.

Note that if you have Microsoft OneDrive installed it will change your personal documents folder so BGDM settings will be installed under "<OneDriveFolder>\Documents\bgdm".


2.2 How do I uninstall BGDM?


Simply delete the 2 meter files from the "bin64" folder and restart the game:
 - d3d9.dll
 - bgdm.dll
 - You can also safely delete the bgdm folder from your Documents folder.


2.3 Troubleshooting #1: I copied all files to bin64, my meter won't start and I get a popup saying "Failed to load the meter" what do I do?


This issue could arise from missing Microsoft libraries that the meter is dependent on, try installing each of the below packages in order of appearance below:
1. Microsoft Visual Studio 2015 Redistributable (make sure you install the x64 version)
    Mirror1: Dropbox
2. Microsoft DirectX End-User Runtimes
    Mirror:1: DropboxMirror2: Google Drive

2.4 Troubleshooting #2: I copied all files to bin64, my meter won't start and I get no popup or anything indicating failure?

Some users have reported the meter will skip loading if GW2 is run from a shortcut or alternatively with the "nopatchui" command line argument.

Run "gw2-64.exe" directly from the game installation folder or create a shortcut without additional arguments to solve the problem.


2.5 Troubleshooting #3: My game crashes as soon as I get to the login screen or as soon as I press play ("failed to load Coherent DLL").



ArenaNet.log ('%AppData%\Guild Wars2\ArenaNet.log') will also contain the same crash:

--> Crash <-- Assertion: Failed to load Coherent DLL: 0x7e File: ......\Engine\ArenaWeb\CoherentUi\AwCoh.cpp(50) App: Gw2-64.exe ProgramId: 101

The above crash can result from numerous different issues depending on the operating system and other software you have installed, one of the below will probably solve it:

a. Few users reported (mostly windows 10) installing Microsoft Visual Studio 2017 x64 Redistributable (Dropbox Mirror Google Drive Mirror) solved the problem.

b. One user reported he had a popup about missing "api-ms-win-crt-runtime-l1-1-0.dll"  followed by the above crash, in order to fix the above you need to install Microsoft KB2999226 hot fix for your operating system (choose the appropriate package from the link).

c. Windows 10 mostly: please download and unpack the following D3DX9_43.DLL (extracted from a .cab file within the DirectX June 2010 package) and place it within your bin64 folder as well (don't ask me why some windows 10 have newer versions of this DLL which fails to load for some odd reason).

d. BGDM is incompatible with the following programs Guru3D RivaTuner and MSI Afterburner (which comes bundled with RivaTuner), unfortunately to run BGDM you'd have to disable these softwares, alternatively you can try the colorblind d3d9.dll from my releases page as it uses different DirectX hook system that may be compatible with these softwares.


2.6 Troubleshooting #4: I followed all previous troubleshooting instructions and BGDM still won't show?


NOTE: The d3d9.dll that comes with my colorblind mod may solve the incompatibilities described above as it uses a different DirectX hooking technique, it's worth a shot to download it from my releases page and see if it works before uninstalling any software you suspect (just replace the d3d9.dll of any BGDM version you have).

There are few software packages out there that hijack DirectX and prevent the meter from being displayed or loaded, could be one of the below, try to remove or run BGDM without them being in memory to see if they are the cause:

a. NVidia GeForce Experience hijacks DirectX and prevents GW2 from attempting to load "d3d9.dll" which will is the loader of "bgdm.dll", I don't know exactly how to solve this yet as it seems to work for some users and not for others, for now the only fix I'm aware of is removing the GeForce Experience package.

Alternatively you can try right clicking "gw2-64.exe" and "run as administrator" as it may solve this issue as well.


b. FRAPS was also reported to prevent the meter from being displayed (even though it seems to be loaded just fine)

c. Bandicam also reported to be incompatible with BGDM probably since it also uses a DirectX hook overlay.


2.7 Does it work with any other mod (i.e. Reshade/SweetFx/GemFX/ICM)?


Yes, it is possible to load any other mod with BGDM, simply rename the file from the other mod (typically d3d9.dll) to either "ReShade64.dll" or "d3d9_chain.dll" (if you installed "d3d9.dll" from v1.7.1.0 and above)  

A quote from one of my users that may help anyone using Reshade v3:
"BGDM was actually not the problem, but rather the Reshade version I used (ReShade version '3.0.5.161' (64-bit)). After I updated to the new 3.0.6.165 version it worked like a charm" - Donald.


NOTE: If you're still having issues with GemFX and getting the below popup make sure you update your "d3d9.dll" to any version from package v1.7.1.0 and above, the auto-update can only update "bgdm.dll" hence you might have a higher "bgdm.dll" version and still have an older "d3d9.dll" without support for GemFX.




2.7.1 ICM: it appears GW2 ICM (immersive combat-mode) changes the working directory which GW2 will attempt to load the d3d9.dll from, in order to have BGDM work with ICM you need to split BGDM files, the d3d9.dll from my package needs to go in the main GW2 folder (i.e. C:\Program Files (x86)\Guild Wars2\) while 'bgdm.dll' (and bgdm.ini) need to reside in the bin64 folder (i.e. C:\Program Files (x86)\Guild Wars2\bin64).



2.8 Can I have both ArcDps & BGDM working together?


Yes! there are 2 ways to go about it:

a. BGDM as the "primary" mod thus BGDM will load Arcdps for you: rename "d3d9.dll" from Arc's package to "ReShade64.dll"

b. Arcdps as the "primary" mod and have arc load BGDM: rename "d3d9.dll" from BGDM to "d3d9_chainload.dll"

In the past there used to be an issue dragging/dropping panels when both mods were used together, as of v1.5.0.1 this issue has been resolved.



2.9 Can I have both ArcDps + BGDM Reshade/GemFx/SweetFx all together?




Yes! but since Arcdps doesn't support loading Reshade (see image above) you'll can only chain the DLL's in 1 way: Arc first -> Arc loads BGDM -> BGDM loads Reshade/etc.

The way to achieve that is done as per the below and us basically a combination of FAQ items 2.7/2.8:
a. Place d3d9.dll that comes with Arc in the folder
b. Rename the d3d9.dll that comes with BGDM to 'd3d9_chainload.dll'
c. Rename the d3d9.dll that is installed by Reshade/SweetFx/GemFx  to 'Reshade64.dll'



2.10 Does it work with the Guild Wars 2 32-bit client?

Unfortunately not, BGDM is only supported with the 64-bit client


2.11 Does it work with the GW2 Chinese client?


Yes! as of v1.5.0.1 BGDM officially supports the GW2 Chinese client (and any other UNICODE naming client).  

As of version 2.4.0.0 BGDM is also full localized in Chinese and comes with built in Chinese localization file (only with the Chinese version download).


2.12 Can I prevent the mod from sending my DPS data to the server?

Yes, there are 2 settings you can choose from, either disable only auto-update or disable sharing your DPS with others, the options can be found in the BGDM Options window under Options->Server:


You can also do so from the INI by removing the [Server] section from the "bgdm.ini" file or alternatively set "srv_port=0".
Note that this will completley disable the client/server functionality and will also prevent you from being able to see other people's DPS/damage data in the "Total Combat" panel.


2.13 Auto-update isn't working for me, what could be the issue?


There are 2 different reasons why auto-update would fail to update you, press CTRL+SHIFT+0 and enable the server status overlay:

A. If the panel displays "SERVER NOT CONNECTED" (see below) that means network issues (firewall perhaps?) are preventing incoming packets from the server to reach your computer, check your windows firewall / cable modem / wifi router firewall (unfortunately no cookie-cutter approach here as each issue could be different).


 



B. If the panel text seems to have stopped updating on the last update chunk e.g. "UPDATING 130.0/134.0KB" or "UPDATE <ver> FAILED" that means that the client failed to save the new "bgdm.dll" (that was received from the server) onto the disk inside the "bin64" folder probably due to permissions issue.
To solve that please make sure to add at least write permissions ("Full Control" should do no harm on that folder) to your user on the "bin64" folder (see image below):






2.14 Which BGDM version is right for me Official/FreeType/China(Non-TOS)?


Official: A TOS compatible version of BGDM for NA/EU, this is also the version hosted by the BGDM server, every update which is distributed to the BGDM server will always be the official release, hence if you're using one of the below versions I'd recommend disabling auto-update if you don't want to lose functionality when I publish a new version to the server.


FreeType: Essentially the same as the official release with an addition of a custom bitmap font rendering library called FreeType which makes rendering of custom fonts much clearer than what you can expect with the official release, that is due to the fact the default font library that comes with ImGui (STB) is limited.
Use this version only if you've changed one of the default fonts (Tiny/Normal), otherwise there is simply no point.


China | Non-TOS: This version is made specifically to the Chinese client and hence also uses the FreeType library as it's a requirement to change the default font to a font that contains Chinese glyphs.
In addition, this version contains features (namely Gear/Trait/Skin check and HP floating bars with GOTL indicator) that are not allowed by ANet's policy towards 3rd party DPS meters in NA/EU, however GW2 China is distributed by Kongzhong (see image below) which has a different user agreement and are more lenient towards add-ons.    

DISCLAIMER: Although this version can work in NA/EU it's made specifically for China and may not work perfectly in NA/EU, in addition you are discouraged from downloading it as it's CLEARLY AGAINST THE TOS, therefore if you do decide to download and use it in NA/EU, you are knowingly breaching the TOS and take all responsibility on yourself, you may also get yourself banned this way.



3.1 How do I know if BGDM is working?


By default after installation, the main BGDM Options panel should be visible at the top left part of the screen, if you don't see it something went wrong, if you hid it by accident try pressing CTRL+SHIFT+0 as it's the default keybind for that panel:



3.2 What are the default key binds?

The default key binds are found under the BGDM Options panel, help -> view help -> shortcuts:
All key binds can be changed in the settings file at "<user>\Documents\bgdm\bgdm.ini":



3.3 How do I move panels around / I can't seem to move panels around or interact with them / How do I prevent panels from taking game input?


By default panels can be interact as any other window on the screen and can be dragged simply by clicking anywhere inside the window and dragging it, if you find that you can't interact with panels you probably disabled "Capture Input", it can be re-enabled in the main options panel or simply by pressing the default keybind CTRL+SHIFT+F7:


3.4 How do I change the font type/size?


The [Font] section of the ini (<user\Documents\bgdm\bgdm.ini) contains 2 font options for "big" mode and "tiny" mode respectively, to change that you'd need to un-comment the apeprperoiate line (remove the semi-colon ";" at the start of the line) and set the font path/size to your own TTF/TTC file.

NOTE: BGDM will no longer load fonts from your installed windows fonts, you will need a dedicated font file for this to work, in addition the DefaultFontSize setting is ignored unless you have a font specified:

[Font]
DefaultFontPath=C:\Users\user1\Documents\fonts\<your font file>.TTF
DefaultFontSize=13
TinyFontPath=C:\Users\user1\Documents\fonts\ProggyTiny.ttf

TinyFontSize=10



3.5 How do I enable Chinese characters in BGDM?


You'd need to download a special font that supports Chinese glyphs (i.e. ArialUni.TTF, SimSun.TTC, etc) and set it as a custom fonts as specified in FAQ Item # 3.4 above.

My recommendation for a good Chinese font (thanks to nodooka) is Inziu Iosevka font, it's free and looks great.


3.6 How do I enable profession coloring?

Right click the panel blue header (if you don't see it, make sure to uncheck "minimal panels" in the main BGDM Options panel options menu) go to options->Profession Coloring:




3.7 What do the acronyms in the buff uptime panel stand for?


  - PDPS : Personal DPS
  - TDPS : Team DPS
  - PDMG: Personal damage
  - TDMG: Team damage
  - L10s: Last 10 seconds
  - L30s: Last 30 seconds
  - TTK: Time to kill


3.8 What is the difference between the DPS numbers in the Target panel vs the Total Combat panel?


The "Target Stats" panel is a **single target** panel, it calculates only damage done to a specific target and the combat time starts as soon as the target starts losing health even if you didn't hit it yourself (i.e. someone else is hitting the same target).

The "Group Stats" calculates cleave damage while in combat or single target damage done to target since 1st hit till target is dead, this panel will always stay on, it resets when you re-enter combat or manually press F9.

In addition the "Group Stats" will show other people around you that are in combat and are **also using BGDM** - e.g. only if people in your raid are using BGDM they will be displayed in the panel.


3.9 How do I sort total combat DPS / buff uptime panels by the different columns?


Left click on the column icon/header will sort by the specific column, second click will toggle between ascending and descending sort order, note the red arrow over the time column:



3.10 Can I hide columns I don't need in the group DPS / Buff uptime panels?

Yes, you can hide or display any column you want, can do so in 2 different ways, to hide a column you can right click it's icon and select 'Hide', to re-enable any column you want right click the panel blue header and go to Columns menu to select any column you want displayed:



3.11 I don't like the "movement" icon can I have proper seaweed salad buff icon?


Yes, any version > 2.0.1.8 has the option to switch between the movement icon and the original game seaweed salad icon:




3.12 I only care for DPS, not damage numbers, can I hide the damage done in the "Target Stats"?

Yes, right click the header of the Target stats panel and select what you'd like to be displayed:


3.13 I want the last target DPS window to disappear after the target is dead, can I do it?


Yes, open the Combat menu from the main BGDM Options panel and change the value of "Target Retention" to the number of seconds you'd like the target to remain on display after it's dead (-1 = Never hide).



3.14 HELP!!! I don't like this new UI, I want my old UI back!


Although I fail to see who would want that (xD) if you really insist, go to your Documents\bgdm (typically C:\Users\<user>\Documents\bgdm\) folder and change this key in the 'bgdm.ini' file under the [Global] section:

[Global]
RenderImgui=1       <= change this to 0 and press CTRL+SHIFT+F9 or restart the game

If you went this route and are looking for the old FAQ, it can be found here.


4.1 How do I submit bugs / feature requests / make contact?



4.2 Credits?


Thanks to Arc (Deltaconnected.4058) for his invaluable help early on with BGDM as well our joint effort in decoding the game's localized text engine, it's worth checking out Arc's DPS meter.

Thank you to the lovely people of my guild Ethereal Guardians [EG] for all their help and support in testing new versions and refining the features and usability you've been an amazing help, very special thanks to Zilent, Blackcat and Fionn!

Thank you the the amazing Linus (Linus the One.7432) for his graphics work and help me think about the design, couldn't have done it without you xD