Showing Posts For Thrill.6259:

Proposal: Combat statistics and DPS meters

in API Development

Posted by: Thrill.6259

Thrill.6259

Apart from the (very interesting) technical details implementing this is feasible “if” ANet wants to. I guess they don’t though. Seems like they’re hoping this problem will just go away by itself (Spoiler: It won’t).

This really is a shame. Solving this would single-handedly make raids more accessible to newcomers. The golem is OK for DPS classes but supporters need to keep track of their uptime. Even making the stats there more precise would somewhat solve this issue.

Maybe when the first wave of compromised accounts arrives ANet will act. Wouldn’t be the first time some shady after-market mod gets a little keylogging feature. I can already imagine the Headline “Thousands of Guild Wars 2 accounts hacked – Auto updater of approved third-party mod at fault”.

Proposal: Combat statistics and DPS meters

in API Development

Posted by: Thrill.6259

Thrill.6259

That is significantly more costly than just writing a file to disk, FWIW, so … I’d not hold my breath for that.

Uh. No. Socket interactions are way less expensive than Disk IO. And when it comes to development costs the real cost is in gathering the data anyway and whether you write it to disk (using existing libs) or write it to a socket (using existing libs) shouldn’t matter all that much.

Anyway I’d still like to have an answer to my original concerns – preferably from ANet. Even something along the lines of “we are still trying to figure it out” would be sufficient. I just want to know this issue is not forgotten.

Proposal: Combat statistics and DPS meters

in API Development

Posted by: Thrill.6259

Thrill.6259

Greetings,

This post is aimed at the implementation and usage of DPS meters.

API proposal

Provide a json API that provides logs of the last fights. Something along the lines of


GET /v2/last_combats

[
    {
        "foe": "Sabetha the Saboteur",
        "success": true,
        "group_dps": 120154,
        "individiual_dps": {
            "player_a": 23053,
            [...]
        },
        "effect_uptime": {
            "player_a": {
                "alacrity": 0.92,
                "regeneration": 0.32,
               [...]
            },
            [...]
        },
        combat_events: [
            {
                "timestamp": 1491122052,
                "player": "player_a",
                "target": "Sabetha the Saboteur",
                "category": "damage",
                "amount": 1492,
                "type": "Condition",
                "subtype": "Poison"
            }, {
                "timestamp": 1491122053,
                "player": "some_druid",
                "target": "player_a",
                "category": "heal",
                "amount": 423,
                "type": "Boon",
                "subtype": "Regeneration"
            }, {
                "timestamp": 1491122054,
                "player": "some_warrior",
                "target": "player_a",
                "category": "boon",
                "amount": 1,
                "type": "Might",
                "subtype": "Phalanx Strength"
            },
            [...]
        ]
    }, {
        "foe": "Bandit",
        "success": true,
        "group_dps": 80152,
        [...]
    }
]

Current state

Players use 2 brands of memory reading DPS meters in Raids. In the following sections S will explain why I will not use them and why no one should.

Legal issues

From the User Agreement ยง8:

You acknowledge that You may not, without signed written consent from a legally authorized representative of ArenaNet, do any of the following:

[…]

(i) Use, obtain or provide data related to operation of the Game, including but not limited to:

????????(i) software that reads areas of computer memory or storage devices related to the Game;

[…]

In the GW2 AMA for Head of the Snake Chris Cleary wrote the following:

We have no problems with players using a 3rd party tool whose scope is only to collect and visualize combat data gathered directly from the game client. Anything beyond that scope is still considered a violation of the User Agreement.

This is not a written signed agreement though so in my laymans opinion DPS meter users are still in violation to the user agreement (Yes, I’m fun at parties). If ANet wants users to continue using these mods they should change the user agreement.

Security issues

Especially the B*** tool concerns me a lot regarding security. This tool contains auto-update functionality that makes it possible for anyone controlling the update server to execute arbitrary code. I do not think that the developers have the resources to ensure the safety of their infrastructure under the circumstances. Arbitrary access to thousands of GW2 Accounts make these C&C servers very high-profile targets.

The A** tool seems saner in this matter as the developer guarantees that the DLL contains no network functionality.

Anti cheating heuristics

Both A** and B*** employ techniques that are very common among cheats. Any heuristic from ANet that detects D3D9 wrappers will have no way to determine the legitimacy of these wrappers except whitelisting every version of every legitimate meter.

Tolerating these kind of tools may make it difficult for ANet to employ such techniques if they become necessary.

Summary

If ANet tolerates DPS meters they should provide a sane way for everyone to use this data. D3D9 wrappers are not a sane way at all. As it stands players without DPS meters have a huge disadvantage in raids because they have less feedback from boss fights which they can use to refine their gameplay.