stigma #
A DPS meter for AION 2, in the terminal.
It reads the game's traffic as it arrives, so it runs alongside the game (including under Proton) without touching it.
Crates #
aion2_protocol: the game's network protocol: framing, and decoding the packets that are understood.aion2_data: the game's own data, read from an installed client: its paks, and the text and tables in them.stigma_core: the meter: turning captured traffic into combat events, and tallying them.stigma: the terminal app, and where its data comes from: live capture,.pcapfiles, recordings, and a mock fight.
Running #
just live --record scratch/fight.txt
Capturing packets needs CAP_NET_RAW, which a build loses, so just live builds stigma and grants it again with sudo setcap when it needs to. To skip that, just capture-shell opens a shell where anything you run can capture, rebuilds included.
stigma replay scratch/fight.txt plays a recording back, and stigma mock shows a made-up fight. Run stigma with no arguments for the rest.
Names #
Skills' and monsters' names come from your own install of the game, which is encrypted. Put the pak key in .env:
AION2_PAK_KEY=0x...
Then extract the names, again after a patch:
stigma extract-names
They're written to skill-names.json and npc-names.json in ~/.local/share/stigma, where the meter finds them. Select someone with ↑↓ and press enter to see their damage by skill. --game reads an install other than Steam's default, and --locale picks a language other than en-US.
- Rust 100%
- Nix <1%