/GW2-Elite-Insights-Parser

Binary parser for the .evtc files that arcdps generates after a boss encounter. This will generate a .html file where the results can be easily reviewed.

Primary LanguageC#MIT LicenseMIT

GW2 Elite Insights Parser

Github JSON DOCS

Release GitHub issues GitHub Downloads (all assets, all releases)

GitHub contributors GitHub forks GitHub watchers GitHub Repo stars

Contact

For general ArcDPS-related discussions and troubleshooting, including ArcDPS, ArcDPS addons, or EVTC log parsing, please join our Discord server.

The key for verifying the release's signature can be found on openpgp.

Logging

We suggest following this guide written by Snow Crows on how to setup your ArcDPS installation and generate encounter logs.

Set Up

  1. Download the GW2EI.zip file from the latest release. Don't forget to check regularly to stay updated (we have a channel that notifies new releases on our discord).

  2. Extract all files anywhere you like.

  3. Launch GuildWars2EliteInsights.exe (ui, windows only) or GuildWars2EliteInsights-CLI.exe (console).

NOTE: ArcDPS EVTC log files are located by default at "C:\Users\<USERNAME>\Documents\Guild Wars 2\addons\arcdps\arcdps.cbtlogs".

UI Usage

program

  1. Drag and drop one or multiple .evtc, .evtc.zip, or .zevtc files onto the program.

  2. Click parse.

  3. Click open when parsing done.

You can change the settings at any time using the Settings window.

Console Usage

how to

Settings can be configured using .conf files (see Settings/sample.conf for an example). You can then use it with -c. For console:

GuildWars2EliteInsights-CLI.exe -c [config path] [logs]

For UI:

GuildWars2EliteInsight.exe -c [config path] [logs]

Note it may take some time for each file to parse and they will not be ready to open the moment they are created.

Settings

settings

Output Settings

-SaveAtOut: if true, the generated files will be in the same location as the source file.

-OutLocation: secondary output path, will be used if SaveAtOut is false.

-SaveOutTrace: if true, log files will be generated.

-Anonymous: if true, player character and account names will be obfuscated.

-AddPoVProf: if true, the profession of the pov will be added to the generated files' name.

-AddDuration: if true, the duration (truncated to seconds) will be added to the generated files' name.

Parser Settings

-SingleThreaded: if true, only a single thread will be used for parsing a single log.

-ParseMultipleLogs: if true, multiple logs will be parsed in parallel.

-SkipFailedTries: if true, failed encounters will not be parsed.

-CustomTooShort: Customize encounter duration in ms below which logs will not be parsed.

GUI only Parser Settings

-AutoAdd: if true, EI will automatically add logs that appear in AutoAddPath.

-AutoAddPath: the path to listen to for automatic additions.

-AutoParse: if true, every added log file will be automatically processed.

Encounter Settings

-ParsePhases: if true, phases will be parsed.

-ParseCombatReplay: if true, combat replay will be computed.

-ComputeDamageModifiers: if true, damage modifiers will be computed.

-DetailledWvW: if true, enemy players will not be merged into one in WvW logs and they'll appear as standard targets. Warning: the generated files and the generation time will grow exponentially, use it only on organized sorties (Guild zergs, GvG, ...).

HTML settings

-SaveOutHTML: if true, html logs will be generated.

-HtmlExternalScripts: if true, css and js files will be separated from the html.

-HtmlExternalScriptsPath: Available if HtmlExternalScripts is enabled. Fill in an absolute path to place the external script files at a different location than the report file. If you use this tool on a server and wish to populate reports directly remember to set valid path in HtmlExternalScriptsCdn. Otherwise users might not be able to open the external scripts within your report.

-HtmlExternalScriptsCdn: Available if HtmlExternalScripts is enabled. Will use an url for the external script files. Generate once, use multiple times. Will reduce needed webspace a bit. If this option is set the settings of HtmlExternalScriptsPath will not be used to include external sources. Think about CORS if you use a separate server for static source files.

-LightTheme: if true, the html will use a light theme by default. Please note that the theme can be dynamically changed on the html post generation.

-HtmlCompressJson: if true, the input json of the html will be compressed (roughly %60 gain in size).

CSV Settings

-SaveOutCSV: if true, csv logs will be generated.

Raw Format Settings

-SaveOutJSON: if true, json logs will be generated.

-IndentJSON: if true, generated json logs will be indented instead of being on a single line.

-SaveOutXML: if true, xml logs will be generated.

-IndentXML: if true, generated xml logs will be indented instead of being on a single line.

-CompressRaw: if true, xml and json logs will be compressed.

-RawTimelineArrays: if true, xml and json logs will contain graph related data.

Upload Settings

-UploadToDPSReports: if true, the log will be uploaded to dps.reports using EI as generator.

-DPSReportUserToken: dps.report user token.

-UploadToWingman: if true, the log will be uploaded to Wingman via the "uploadProcessed" endpoint.

-WebhookURL: Webhook URL to send an embed or simple message to.

-SendEmbedToWebhook: if true, the Webhook URL will receive a small embed containing meta data + dps.reports link.

-SendSimpleMessageToWebhook: if true, only the dps.reports link will be sent to the webhook.

General Settings

-MemoryLimit: In MB. If the application uses more RAM than provided number, the application will exit with code 2. 0 to disable the feature. When enabled, the maximum between given number and 100 MB will be used.

HTML Overview

For a more detailed look, please check this guide written by Snow Crows.

Header

The header shows you the status of the fight and lets you swap themes and modules. There are three modules available: Statistics, Combat Replay and Healing Statistics.

Footer

On the footer you'll find meta data regarding the encounter and the parser.

Statistics

Navigation

This panel is where the main navigation of the Statistics module will happen, you can select targets, players, phases and components.

The target selection will impact what you'll observe on every panel that has a "Target" section.

On players, you can observe gear related scores (between 0 and 10, please check "question mark" for a detailed explanation on how this value is computed), used weapons and the commander tag (if applicable).

General Stats

On general stats you can see macro statistics regarding incoming/outgoing damage and player behavior:

  • "Damage Stats" contains outgoing damage related information.
  • "Gameplay Stats" contains generic information like time spent casting or not casting skills, average distance to the commander player, etc...
  • "Offensive Stats" contains secondary player information like critical hit rates, flaking rates, number of time one's attack was blocked/absorbed, etc...
  • "Defensive Stats" contains incoming damage related information.
  • "Support Stats" contains boon strips, conditions removal, resurrection and related information.

Buffs

This component will show you buff uptimes, ordered by categories, and generation information for each player.

On generation tables, please check the "question mark" above for a detailed explanation of the meaning of the tooltips.

Damage Modifiers

This component contains damage modifiers, ordered by categories.

The modifiers are categorised by outgoing and incoming, then further split into gear based, shared and class based modifiers.

Damage modifiers with a positive value indicate that the player dealt or taken increased damage, negative value means the opposite.

Please note that it is not possible to check traits or gear which means that Elite Insights will assume that every gear and trait based damage modifiers are present. Buff based damage modifiers are only shown if present.

Mechanics

A very straightforward component that contains a summary of important fight specific mechanics.

Depending on the nature of the mechanic, the column can be considered just as informative, a success or a failure.

Graph

Damage graph that also contains enemy health, enemy breakbar and fight mechanics information. The graph is fully interactive and can be exported. Shown damage can also be customized:

  • The time interval in between the information is computed
  • The nature of the information:
    • DPS in [x - interval, x].
    • DPS in [x - interval / 2, x + interval / 2].
    • Cumulative damage in [x - interval, x].

Targets Summary

This component focuses on the selected target:

  • Outgoing damage distribution per skill for the target and its minions.
  • Incoming damage distribution per skill.
  • Graph that contains outgoing damage, health, breakbar, rotation and buff presences. The graph is fully interactive and can be exported. Damage related customizations on the main graph are also applicable here.
  • Buff status contains condition and boon uptimes on the boss. For conditions, it is also possible to see generation done by each player.

Player Summary

This component focuses on the selected target:

  • Outgoing damage distribution per skill for the player and their minions.
  • Incoming damage distribution per skill.
  • Customizable simple rotation component for a tidier look on skill ordering.
  • Graph that contains outgoing damage, health, rotation and buff presences. Information related to targets' health and breakbar can also be displayed. The graph is fully interactive and can be exported. Damage related customizations on the main graph are also applicable here.
  • Information on the consumables used by the player.
  • A succession of small graphs that details incoming damage before each death.

Combat Replay

Main Display

The main display is where the animation happens.

It is possible to control the animation speed and jump to specific fight phases.

The display supports two manipulations: Pan and Zoom.

Damage Table

Displays damage/DPS in real time. The picture says it all.

Selection

Allows to display or remove specific information from the Combat Replay such as:

  • Group highlights
  • Secondary NPCs
  • Encounter Mechanics
  • Player Skills
  • Use in-game hitbox sizes
  • Show all minions
  • Show selected's minions

Player skills displayed are categorised in the following groups:

  • Show on select: displays only when the player is selected
  • Important buffs: skill that applies an important buff such as Stability
  • Projectile Management: skill that can reflect or destroy projectiles
  • Heal: healing skill
  • Cleanse: condition removal skill
  • Strip: boon removal skill
  • Portal: a portal skill such as Mesmer's Open Portal, Scourge's Sand Swell, Thief's Shadow Portal, etc...

Indicators

With this panel you can customize the display further by adding range indicators and cone indicators on the selected player.

Players

This component lets you select a specific player. Once a player is selected, they will appear with a green square around on the main display.

If "Highlight Selected Group" is checked, players on the same group as the selected player will have a blue square around them.

You can observe the status of the currently active players:

  • Health and Barrier
  • Present buff/debuffs
  • Skill casts

Targets

This component lets you select a specific target. Once a target is selected, they will appear with a green square around on the main display.

On this component you can observe the status of the currently active targets:

  • Health and Barrier
  • Breakbar state and select a breakbar phase
  • Present buff/debuffs
  • Skill casts

Mechanics

With this table, you can directly jump on the timestamp of a specific mechanic.

It is possible to filter the table by:

  • The type of the mechanic
  • The actor involved

Healing Statistics

Elite Insights fully supports healing statistics through the ArcDPS Healing Stats Extension.

Download and install this extenstion to gain access to healing statistics. Read their README for further information.

JSON Overview

The JSON documentation can be found here.

Contributors

Thank you to all our contributors.

Special thanks to Linus and TBTerra for creating images for the Combat Replay arenas.