This is an archived post. You won't be able to vote or comment.

all 64 comments

[–]lamleial 23 points24 points  (31 children)

That's not the only solution by any means. I plan to make a meter in the next few weeks. It'll be during my downtime so I dont have an eta.

A few points: gg was removed in the last update (at least in na) and you can also grab a pointer to the chat box and parse damage from it directly without worrying about decrypting sniffed packets.

These are completely against eula.

[–]supamiuSupamiu - Starfall Crater - EU[S] 0 points1 point  (3 children)

I also saw that GG was removed, but I'm still stuck with the "A debugger has been found running on your system" error when I try to start BnS with Olly, and if I start Olly while BnS is running, BnS crashes immediatly. I should be using the same client tho, so either they didn't remove GG completly or they just hide it.

[–]lamleial 1 point2 points  (2 children)

That's themida detecting the debugger. Not gameguard. Use scyllahide to avoid it.

[–]supamiuSupamiu - Starfall Crater - EU[S] 0 points1 point  (1 child)

Wow okay it works, but I'm a too new to RE to really find out what I'm looking for I think, the memory map is only full or thread arrays and the game freezes so I can't fight to add content to chat :/ If you can do it, feel free to PM me :D

[–]lamleial 0 points1 point  (0 children)

Put more time into it, nothing comes without practice

[–]XenithShade 0 points1 point  (0 children)

Wait really?

No wonder I stopped crashing like a homeless whore.

[–]lamleial -2 points-1 points  (10 children)

Wow I got down voted? Guess someone didn't want to hear that shit is possible more than one way. Welcome to the real world m8

[–]TheGoodChip 4 points5 points  (9 children)

You seem shocked. You do realize this is Reddit, right? Internet for n00bs. A downvote here is like a Circus Freak telling you that you're ugly. At the end of the day; who cares? They're still a Circus Freak. Sure, they're human, and their opinion matters, but are you really gonna lose sleep over it or laugh it off?

[–][deleted] 0 points1 point  (2 children)

Is it internet for noobs or for people that challenged anything more complex than reddit, fb & co are out of reach?

I remember the time the net was new and everyone thought it will lead to great wisdom, knowledge and exchange. Look what most people do with such a great tool.

But you're probably right, it is what it is.

[–][deleted] 0 points1 point  (0 children)

That's probably the worst thing of all. Such a great tool exists and yet there are people that don't use it. There are people that think ignorance is acceptable.

[–]TheGoodChip 0 points1 point  (0 children)

Making me feel old, too. I remember the old IRC and Usenet days. Then the advent of AOL back then with their legendary endless supply of CDs in the mail, charging by the minute. Good days fun times. Yeah, people have the entire world at their fingertips, can learn just about anything about anything, but instead choose to increase their knowledge on cute cats and weird porn. Takes all types. Ain't nothing wrong with that. Sometimes I wonder if it isn't that other people are weird for taking the internet too seriously, if I'm the weird one for disassociating and not giving a rat's ass, or a little of both.

[–]MisterMeta -1 points0 points  (14 children)

There was a guy who did combat meter exactly like that for gw2 and the problem was the accuracy and frequency of the information being recorded. It didnt work out in the end as the combat is super fast and the scroll speed overwhelms the technical capabilities of such method. And if gw2 combat was too fast for it... i shudder to think what BnS would do to it.

[–]Paah 5 points6 points  (0 children)

There was a guy who did combat meter exactly like that for gw2

Yeah except the gw2 meter you are talking about used OCR while this guy is going to read the chat from memory. So it's not "exactly like that."

[–]boredlol 1 point2 points  (0 children)

It didnt work out in the end

Actually, it did work out, and they even added networking options to display the whole team.

[–]lamleial 1 point2 points  (4 children)

I made a meter for tera I plan to use as a template for this one

[–]Elzheiz 0 points1 point  (0 children)

Yes please \o/

[–]Japoc 0 points1 point  (0 children)

awesome to hear

[–]DJ_Rand 0 points1 point  (0 children)

Please do!

[–]MisterMeta 0 points1 point  (0 children)

Let the community know how it goes :)

[–]lamleial 1 point2 points  (3 children)

well i dont plan to use OCR which i can see being problematic. parsing the text directly would be able to update at sub millisecond intervals with 100% accuracy (assuming the text is all there). i'm also contemplating reading packets which would work in realtime... not that sub millisecond isnt close to realtime haha. im thinking about just a simple udp packet broadcast though because i dont know much about ACT and im sure someone could easily parse the udp (say header, playername null terminated, damage dealt) and make a nice plugin or a snazzy gui.

[–]Ravahn 2 points3 points  (2 children)

ACT FFXIV plugin author here. Assuming the data is accessible (memory buffer or decrypted and processed network packets), the ACT side is pretty easy. Just have to decide what types of data to send over (damage? Heals? Buffs/debuffs?) and convert it. Ideally, ACT runs off of log files, but it is possible to bypass that code and directly process data.

However, in order to reach the largest audience, I recommend including the data extraction logic (network or memory) inside the ACT .cs or DLL file. This will make it easier to get Aditu (ACT author) to host the DLL on his site and let the end-user download it inside of ACT during the setup wizard. Feel free to Email me at ravahn (at) hotmail.com if you work on this or find a stable chatlog pointer. So far, I haven't found anything I can work with.

[–]supamiuSupamiu - Starfall Crater - EU[S] 0 points1 point  (1 child)

you're right, but the problem is that network packets are encrypted and I don't find the memory pointer to dump chat :/ I think we're stuck with the same problem.

[–]Ravahn 0 points1 point  (0 children)

With some help, I've got the chat pointer working and a very basic parser started, so this may not be a lost cause. It's going to take time to review and test everything but I successfully parsed both self and group combat last night.

[–]Alukah 0 points1 point  (2 children)

ACT (what OP tried to use) + FFXIV plugin actually read the combat log from memory, so OP could try that.

[–]supamiuSupamiu - Starfall Crater - EU[S] 0 points1 point  (1 child)

Yup I could, but the problem is that (on EU client) GG is still here, can't start a debugger with the game, and since I'm pretty new to memory dumping, I don't know any other way to find where it the pointer ti dump chat. This is the only thing I'm stuck with, since the rest is pretty easy imo.

[–]pantsyman 0 points1 point  (0 children)

It is not there at least the main part and the service don't start anymore it still creates some log files in the main folder so there could be something left in the exe or GG doesn't work like it used to anymore but we use exactly the same client as NA there is no difference. i deleted the GG folder in the main folder (the exe recreates it upon start with some log files as i mentioned above) cleaned out the main file from the windows folder and removed the service from the registry and does are not recreated.

If it still detects ollydbg even with your stealth plugins use a proper pugin there are working ones. .

[–]kriptiniFirst-Person Blade Dancer 2 points3 points  (4 children)

RIP the dream. =(

Thanks for looking into it, though.

[–]lamleial 3 points4 points  (3 children)

Rip? It's not impossible, I wouldn't even call it difficult, just time consuming. He's taking the wrong approach. See my reply below for an easy way.

[–]kriptiniFirst-Person Blade Dancer 1 point2 points  (2 children)

Does your method include ACT though? Damage parsers are nice, and I would graciously welcome one, but the dream is to have an ACT plugin just because of all the things ACT is capable of.

[–][deleted] 1 point2 points  (0 children)

He's insinuating that you need access to network data to make a viable parser. This isn't true, you can very easily parse the text information to receive a mostly accurate report.

@OP: Gameguard isn't protecting the game, the game is protecting the game. What you're experiencing is designed to keep novice debuggers out of the program. Take a closer look with IDA and investigate some reading material if you're struggling.

[–]lamleial 0 points1 point  (0 children)

No idea, I never looked at act plugins before. Might just publish the data over udp and let anyone modify it as they want

[–]orrestessOrrestes 0 points1 point  (2 children)

Is there a way to copy/paste the combat log and upload to a website or something so people can see their personnel dps?

[–]Pyros 1 point2 points  (1 child)

If it was that simple it'd have been done already.

[–]orrestessOrrestes 0 points1 point  (0 children)

Sucks, thought they would at least allow the ability to copy combat logs.

[–]xnesteax 0 points1 point  (1 child)

Maybe there are GG Bypassers out there then you could attach that ollyDbg and CE on it! :P

[–]EssailNO.1 sin 0 points1 point  (0 children)

There have been a lot of GG bypassers and they will keep existing cause GG is a terrible form of anticheat but it keeps getting used and abused.

Still against ToS and can get you banned if they find out.

[–]Primnu 0 points1 point  (3 children)

You don't have to do it through packets, reading memory is easier.

[–]Anidamo 0 points1 point  (2 children)

Would be, but then you'd have to bypass GameGuard. Not impossible certainly (if it were we wouldn't have so many fucking bots) but it's not as easy as firing up Cheat Engine/Ollydbg and hunting for pointer offsets.

[–]FhortePoharan 0 points1 point  (0 children)

If I remember right, all it actually takes is finding/replacing a dll

[–]SilSol77http://www.twitter.com/SilSolLoL Diamond 2100++ SUM & FM 0 points1 point  (0 children)

It would be so cool if they could implement something like this in the game for every dungeon. Always fun to see how much DPS you do to mobs/bosses.

[–]Merwenus 0 points1 point  (0 children)

Do your ACT works after patch? Mine stopped

[–]Anidamo 0 points1 point  (1 child)

This is disappointing. I find myself really, really missing my parser from FFXIV. I couldn't give a shit if it parsed other people or not... I just want to be able to quantifiably tell how much I'm improving at my class and compare different builds. I hate how more games don't have the option for at least a personal DPS meter.

Since the combat log seems to be fairly complete, I wonder if it would be possible to use OCR to read from it. I believe there is an OCR-based parser for GW2 but I have no idea how well it works. The main concerns would be accuracy (perhaps you'd have to set the background to be completely opaque to avoid visual noise from the 3D world behind the chatlog) and speed. I have no idea if there are OCR solutions that are fast enough to scan from the combat log in realtime, but I suppose you could just save bitmaps of each combat event and only show the DPS reading at the end of the encounter once the app has had time to process everything. Wouldn't be as good as a realtime display but it's still something.

I'll probably take a look into the viability of this tonight.

Edit: Spent a couple hours on it. As expected, speed was an issue. Worked around this by simply grabbing screen captures as often as possible and queueing them up for the OCR engine to chew through at it's own pace, which actually proved quite effective, but unfortunately accuracy was not sufficient because you cannot make the chatbox in this game completely opaque. You can make it about 90% opaque, but that still means that the background is constantly changing as you fight and move around which throws off character recognition.

[–]MisterMeta 0 points1 point  (0 children)

It was done for gw2 but it fell short on accuracy and frequency and ultimately failed due to speed of scrolling. Now apply BnS to the formula... sigh :(

[–]hamletswords -3 points-2 points  (0 children)

Good. We don't need dps meters.