Giter Site home page Giter Site logo

lostarklogger's Introduction

Lost Ark Logger

This project enables you to research and analyze combat actions by parsing packets

In-game Overlay

Imgur Image

ACT Plug-in

Imgur Image

How does this work

This uses raw sockets to read packets and parses data out of them. This does not interact with the game or any other resources, it is only reading the raw packets received to your PC.

Support

Please submit an issue on the github repo, or join the discord @ https://discord.gg/MedRDjEwHZ

Setup

  1. Download the "Lost Ark Logger" packet logger @ https://github.com/shalzuth/LostArkLogger/releases/latest/download/DpsMeter.exe

Guide

  1. Before entering a dungeon, launch "Lost Ark Logger".
  2. While in the dungeon, "Lost Ark Logger" will log packets - there's a packet log counter, ensure that it is increasing. The log file will be in the same location as "Lost Ark Logger". If the overlay shows weird names that are 8 characters long, you didn't open LostArkLogger.exe before a load screen.

Todo

  1. Missed skills
  2. Healing
  3. Shielding
  4. Stagger / Destruction
  5. Item Usage
  6. Revives
  7. ???

WARNING

This is not endorsed by Smilegate or AGS. Usage of this tool isn't defined by Smilegate or AGS. I do not save your personal identifiable data. Having said that, the .pcap generated can potentially contain sensitive information (specifically, a one-time use token)

lostarklogger's People

Contributors

9451589 avatar celiken avatar darrendlin avatar guy0090 avatar henjuro avatar herysia avatar iuke121 avatar karaeren avatar noita-player avatar shalzuth avatar shnok avatar tr33s avatar vnc5 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lostarklogger's Issues

Some encounters are split before the end of the encounter (Igrexion)

I noticed that a few seconds before igrexion dies, the meters reset on their own and then are repopulated (only by the top damage dealer). Going to the encounters section it seems that the current session was split in 2 a few seconds earlier before the boss died, resulting in some of the dmg being left out of the correct session. The encounter should end only after the boss dies.

Didn't test in other guardians to see if this happens only with Igrexion or all encounters.
EDIT: Most likely happens everywhere, tested with Velganos too. Same issue

The naming for the "encounters" list should be a bit more intuitive/less confusing

a) Currently, in content where there is more than 1 enemy (anything other than guardian raids), the name of an encounter is usually chosen as the first (or last - not sure) mob that took damage in that log session (screenshot below). This makes it a bit difficult to understand which encounter in that list was the session you're actually interested in. Also, adding a duration of each encounter instead of only timestamp, might help the user decide which is the encounter they're looking for a bit easier, even when the name is confusing.

b) From version v.0.0.3.8 and onwards (not entirely sure if this happened in previous versions too), encounters with no name but only timestamp are added to the list of encounters (no screenshot). These are times when im afk in a non combat zone like north vern. No encounter entry should be created if there were 0 dmg packets in it.

unknown

Examples
a) Boss rush. There are 20+ bosses in it. Most people don't know/remember each boss's name, so when they see a weird name in the encounter list like "Trumpeter Clown" they won't know what it is. Potential workaround: An if statement where if X number of mobs with more than X million hp appear in 1 session, to automatically name that session "Boss Rush" - instead of just picking 1 boss name and naming the entire session after it.

b) Abyss Dungeon. Didn't actually run one to see if it's the same case with boss rush, but an even simpler fix for this is to have an if statement where if a boss with X name (where X is a lookup against a dictionary of all bosses of each abyss dungeon) is detected, and in that session there was less than let's say 4 mobs with more than X million hp (this is needed to avoid incorrectly naming a boss rush session where a Seto was detected as Aira's Oculus) , then name that session after the name of the dungeon that the detected boss belongs to. Then if you click on that session/encounter, you get to another screen where you see a breakdown of the 2-3 bosses you faced in that dungeon.

c) Open world. If for some reason you have your logger on while questing, and for some reason you wanna know which session that is, you could have a statement like "if X mobs detected with less than X hundred thousand hp, then name the session after the zone you were in". Not sure if you can see the zone in the packets. But this use-case is not really useful.

Real-time DPS Logging

Currently, Lost Ark Logger only supports data after completing a dungeon. A real-time DPS overlay would be helpful.

bring back reset button

Hey man, great work so far. I'd really like to have the reset button back, so I can manually reset before doing bosses.
Thank you very much in advance.

LostArkLogger crashes when leaving instance

LostArkLogger.exe crashes when leaving instance (auto-upload was checked - tried again without enabling auto-upload and it didnt crash, but it continued logging packets after leaving raid)

Need a standard debug logging class that isn't console.writeline

Problems:

  • Needs to support: output to stdout, out to file, and both at the same time. Electronbridge might need stdout. #62
  • Different debug levels, ideally, such as error vs info - so we can have an info-log that is very small output and always there, then enable the debug flag and have it dump debug-level messages too that might be more spew-ey
  • Can we get line numbers for exceptions in release builds? Maybe if the logger is passed an exception object? Do we need to ship full PDBs?

Logs are not saved

Hello,

I've got a little problem. The logs are not saved and I can't see passed encounters. If you can help me please ?

Issue with adding program to firewall

Program already exist in Win11 firewall whitelist but the "This program needs to be added to Firewall!" error message keeps popping up when launching
Screenshot_5
Screenshot_6
.

how to get oodle bin from another game client

i'm playing lost ark china server(by tencent)
i find it has difference oodle_xor and oodle_bin
can i get it from the game client file? or is there another way to get the oodle bin file?

Missing DLL

Hi, i might be dumb or else but when i download the logger, (Lost Ark > Binaries > Win64) then when i start it, it tells me "missing dll"
it says to copy the "002net_9_win64.dll" in the current directory

Sorry but i'm not into this and i really don't know how to solve that

(i used to use the very 1st version of the dps meter when it wasn't fixed by the Smilegate devs)

Bard's Harp of Rythm get shown as own Entity

Bard's Harp of Rythem generate log messages like:
SOME_HEX_NUMBER,Night Fox Yoho,에고 하프 기본 공격,16903,1,0,0

에고 하프 기본 공격 means Harps basic attack
and so is counted towards a entity SOME_HEX_NUMBER instead of the person that placed the harp.
Not sure if this can even be fix with how the data is currently aquired, especially for instances where there is multiple Bards.

Virus Warning

When downloading lostarklogger.exe and the .dll, windows 10 gives a "xxx is not commonly downloaded and is potentially dangerous" msg. This might make some not so tech savvy users a bit worried, so might be a good idea to include text in github that says the msg is normal, or maybe even include an antivirus scan.

NPC dmg should not be displayed in the main screen of the meter

NPC is defined as any mob/boss/monster other than the players. Currently boss damage also shows up on the meter, skewing the percentages of the dmg done by players.
boss

It would be better to have all dmg done to players by NPCs in a separate tab that looks very similar to the main dps tab, maybe called "Damage Taken", and perhaps be able to choose if you want the bar chart in ascending or descending order (reason for maybe wanting it in ascending order is so that being at the "top" of each type of chart is always the good position - most dmg done, least dmg taken)

[Feature] Different graphical representation

Hi,

i would request the addition of having a line-chart-like representation of the damage done over a time.
With tags for different skills and/or buffs(when they started/ended).

With something like this it would be possible to analyze your performance in detail and find out when your optimal damage-windows were so that you could focus on increasing the frequency of those in the future.

Need additional submenus after selecting an encounter - should also be split to: a) Wipes 1...n b) Successful kill and when selecting any wipe or kill c) Split to each possible target in the encounter

There should be 2 more levels of menus after selecting an encounter (assuming that there's a reliable way of differentiating between wipes and kills, otherwise ignore the menu for wipes and just skip to a menu for target filtering):

For example, if i select the "Night Fox Yoho" or "Current" encounter, the first submenu should be a list of all attempts:

  • Current
  • Wipe 1
  • Wipe 2
  • Kill

Guardian raid is a bad example since there is only 1 "attempt", only gonna have 1 wipe or 1 kill. But this applies to things like abyss dungeons, and other raids.

After selecting one of the possible attempts from the first submenu, the second submenu should be a list of all NPC entities that took dmg in that encounter, sorted by most dmg taken, descending order (to have bosses near the top), as well as having an "All" option:

  • All
  • Night Fox Yoho
  • Small fox
  • Annoying crab

This is necessary to be able to filter out trash mobs (like the small foxes, the crabs etc) which unfortunately due to overkill being logged, often skews the dmg percentages by up to -5% in some cases, and they are included in the total sum of the "night fox yoho" encounter. If you ask me which of the 2 submenus is more important as a user, I'd say the second

Night Fox Yoho was used as an example but there are many other use cases for this. Imagine boss fights where the boss summons large numbers of small adds, those will also be incredibly skewed due to overkill dmg.

The exact placement/accessibility of such submenus is up to discussion, these are just suggestions.

The meters should not automatically reset without the user's consent on each loading screen

Possible ways to deal with this:

  1. Give the user the option to check/uncheck a box for "autoclearing meters on loadup" - possibly with a configurable delay
  2. Always autoclear after X seconds from the time you load, but during those 5 seconds have a clickable "cancel" button that fades away eventually. (idea from Eren's UI").

Both 1 and 2 would also require a manual "clear" button.

Game disconnects

Game keeps disconnecting and crashing occasionally while Logger is running in the background since the maintenance on Aug 31st. Mostly occurred inside of Legion Raids and once during Challenge Guardian. Disconnects have not been happening without the Logger running so I'm thinking it's some weird EAC interaction with it

Geforce now compatibility

Hello,
Sorry to bother you, but do you know if there is a way to have a dps meter working using the geforce now services ?
Thanks in advance

winpcap on zerotier broken

Most likely due to trying to match MAC addresses, zerotier adapters are skipped. winpcap will disable itself after not finding the adapter.

Need to implement alternative to looking for matching MAC.

LostArkLogger "lags?" when in a big raid/siege fight.

I've done a siege with my guild with about 40-50 people and the app seemed to collect data correctly but even after the fight everyone's damage kept climbing slightly until after 2-3 minutes (on the same "instance" of the fight in the logger).

Is this just because the app had too much data to process and needed some time to catch up or was this some bug?

I'm not sure which data is right, the one right after killing the boss or the one after a few minutes.

Incorrect information in readme

I noticed the guide in the readme states this:

3. After you leave the dungeon, "Lost Ark Logger" uploads the packet dump to the server and downloads the combat log (if the auto-upload box is checked). This combat log will be in the same location as "Lost Ark Logger". If this fails, you can upload the log at http://lostark.shalzuth.com/upload

For obvious reasons, some people do not want their packet dump uploaded anywhere and would prefer for the processing to occur locally. I see that you've accomplished this in the following commit: bb031a9

So long as I'm not mistaken, I think you should update the readme and let people know that the packet data isn't leaving their PC. It may make some wary users feel safer. Just a thought, great work on this utility though.

Incorrect Information

WARNING

This is not endorsed by Smilegate or AGS. Usage of this tool isn't defined by Smilegate or AGS. I do not save your personal identifiable data. Having said that, the .pcap generated can potentially contain sensitive information (specifically, a one-time use token)

All DPS meters have specifically been blacklisted by Smilegate + AGS. It is absolutely defined, and, if caught using one, you will be banned. It would probably be a good idea to let people know this, as opposed to your sentence here which seems to indicate that it's not defined at all.

Rare crash when unchecking/checking winpcap

Switching between Machina and SharpPCAP calls .Stop() on Machina's TCPNetworkListener, below:

https://github.com/ravahn/machina/blob/master/Machina/TCPNetworkMonitor.cs#L107

Infrequently, the .wait(100) fails and they don't kill their task. Eventually, you get a crash when they attempt to call the OnDataReceived callback that is no longer there.

Maybe we can work around this without fixing Machina? Need to investigate calling .Stop(), replacing the OnDataReceived delegate, and only disposing it immediately before creating a new one.

AccessViolationException

AccessViolationException not caught at line 56 in Oodle.cs

if (!OodleNetwork1UDP_Decode(oodleState, oodleSharedDict, payload, payload.Length, tempPayload, oodleSize))

I happens randomly (much faster when lots of players)

There should be a way for the user to access all of the contents of the overlay, without being forced to resize the window for the bottom rows to be accessible

There should be a way for the user to access all of the contents of the overlay, without being forced to resize the window for the bottom rows to be accessible.

I propose being able to scroll through the overlay's contents (vertically) if the user mouses over any populated part of the overlay. Sometimes you just wanna look at the bottom contents out of curiosity, currently the only way of doing that is ruining your already established position/size of the logger, since you're forced to resize vertically

Breakdown of Skills

Hi, awsome tool, not gona lie.

what i noticed, when i break down the skills, its only limited to 8 highest entries even if i drag the overlay box larger.
if i use auto attacks and ultimate + Bleed gem + 8 skills on the hobar, would love to see all dmg sources and not just the 8 highest.

keep up the awsome work!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.