- Travel planner shows the compass bearing (N/NE/.../NW) of each hop, computed from world-map coordinates (+x East, +y North, calibrated against Bridgewatch=south, Lymhurst=east). Zone positions parsed from world.bin into new zones.pos_x/pos_y columns. - Agent: retry ingest POSTs with backoff + longer timeout, graceful failure (no more uncaught crash on a transient connect timeout). - Opportunities: state the city prices apply to in the breakdown, and show tier+enchant as one "T4.3" chip with a tooltip. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
Albion Companion Agent
Runs on your gaming PC. Reads game-local data a deployed server can't see and pushes it to your server:
- World map — parsed from the game's
world.bin(read-only), uploaded once. - Market orders — passively captured while you play; every marketplace you open records firsthand prices.
Read-only observation only — the SBI-tolerated technique (same as the Albion Data Project client). No memory reading, no injection, no automation.
Requirements
- Wireshark installed with the bundled Npcap driver (the agent uses
tsharkto capture your own traffic). - Node.js 20+.
Setup
npm install # from the repo root (installs all workspaces)
npm run agent -- init # writes a config file, prints its path
Edit the config file (%APPDATA%\albion-agent\config.json):
{
"serverUrl": "https://albion.yourdomain.com",
"apiKey": "the-same-key-as-ALBION_API_KEY-on-the-server",
"gamePath": "E:\\albion",
"interfaces": [],
"orderFlushSeconds": 15
}
interfaces: [] captures on all adapters. To narrow it down:
npm run agent -- interfaces
Run
npm run agent # uploads world map, then streams market orders (Ctrl+C to stop)
npm run agent -- world # just upload the world map and exit
Only run it while you play — that's when the data exists. Everything else (prices from the community API, calculations, alerts, the web UI) lives on the server and runs 24/7 without this.