# 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, `.pcap` files, recordings, and a mock fight. ## Running ```sh 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`: ```sh AION2_PAK_KEY=0x... ``` Then extract the names, again after a patch: ```sh 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`.