Skip to main content

Capital ship movement early warning plugin for AllianceAuth

Project description

aa-captrack

AllianceAuth plugin for tracking and alerting on capital ship activity (and other configured ship groups) across characters/accounts, with an operational dashboard, snoozing, and Discord notifications.

Version: v1.0.9b4
Status: Pre-release (beta)


What’s new in v1.0.9b4 (highlights)

  • Corptools 3.x / eve_sde compatibility (b7 target)
    • Updated lookups for Type/Group and Region ID fields under the SDE-backed schema.
    • Watchlist asset refresh updated for Corptools 3.x task API changes (signature-safe enqueue + b7 single-character update_char_assets support).
  • Move region blacklist to SDE
    • “Blacklisted Regions” now uses eve_sde.Region (instead of EveUniverse/legacy region models) so region search/autocomplete works on SDE-backed installs.
  • Dashboard UX improvements
    • Card header includes Main + Corporation + Alliance names and logos.
    • Audit button links to Corptools audit: /audit/r/<character_id>/account/overview
    • Snooze All controls per card (1h / 6h / 24h / ∞ / clear)
    • Infinite snooze option (until cleared)
  • Discord improvements
    • Optional role and/or user mentions for alerts (safe allowed_mentions usage)

Overview

aa-captrack monitors capital ship activity (and other configured ship groups) using Corptools asset/audit data, presenting:

  • Real-time dashboard visibility grouped by main
  • Threshold-based alerting (per ship class/group)
  • Discord webhook notifications (critical and standard)
  • Per-pilot snoozing + Snooze All
  • Clean separation between Critical, Alerting, and Informational states

The plugin prioritises operational clarity and avoids unnecessary alert noise.


Capital Tracking Logic

Ship Class Behavior
Titans Always alerting
Supercarriers Always alerting
Dreadnoughts Alert when ≥ threshold (default: 5) under same main
Lancer Dreads Alert when ≥ threshold
Carriers Alert when ≥ threshold
Force Auxiliaries Alert when ≥ threshold
Capital Industrials Tracked only (no alerts)

Threshold logic is applied consistently across:

  • Dashboard
  • Discord alerts
  • Background tasks

Notes:

  • “Capital Industrials” are tracked for visibility but do not generate alerts by default.
  • Group IDs and thresholds are configurable in Admin.

Dashboard

  • Collapsible cards with rotating chevrons
  • Card header shows:
    • Main (character) name
    • Corporation name + logo
    • Alliance name + logo (if present)
    • Audit button (Corptools audit link)
    • Snooze All controls
    • Status badge (Critical/Alerting/Info)
  • Clear separation of:
    • Critical
    • Alerting
    • Informational
  • Optional display of unclassified ships
  • Configurable refresh interval
  • Optional remembered collapse state per user

Audit button format

Audit link for a main character uses Corptools’ route format:

/audit/r/<main_character_id>/account/overview

Example:

/audit/r/2114270226/account/overview


Snoozing

  • Snoozing is per pilot (by design)
  • Supports multiple durations (e.g. 1h / 6h / 24h)
  • ∞ (Infinite) snooze supported (until cleared)
  • Snooze All applies a duration to all pilots listed in the card
  • Snoozed pilots are excluded from:
    • Dashboard alerts
    • Discord notifications

Discord Integration

  • Alerts include only alerting ships
  • Separate webhooks for:
    • Critical alerts
    • Standard alerts
  • Optional mention support:
    • Role mention: <@&ROLE_ID>
    • User mention: <@USER_ID>
  • Uses allowed_mentions to ensure only configured mentions are allowed (prevents accidental @everyone/@here).

Permissions

Permission Description
captrack.basic_access View dashboard
captrack.admin_access Configure settings

Installation

Requirements

  • AllianceAuth: 4.13+ (v4.x supported; v5 migration path is the motivation for this beta)
  • Django: 4.2+
  • Corptools: 3.0.0b7 (or compatible 3.x beta)
  • Database: MySQL/MariaDB recommended

If you are running Corptools 3.x, you also need the SDE stack working:

  • eve_sde installed and in INSTALLED_APPS
  • modeltranslation installed and first in INSTALLED_APPS
  • SDE data synced using: python manage.py esde_load_sde

Install the plugin

pip install aa-captrack==1.0.9b4

Add to INSTALLED_APPS

INSTALLED_APPS += [
    "captrack",
]

If you are on Corptools 3.x + eve_sde:

  • Ensure modeltranslation is first in INSTALLED_APPS
  • Ensure eve_sde is present in INSTALLED_APPS

Migrate + collect static

python manage.py migrate captrack
python manage.py collectstatic --noinput

Restart services

Restart AllianceAuth web and celery services.


Configuration

Configuration is managed via the AllianceAuth Admin Panel:

Admin → Captrack → CapTrack Settings

Only one settings row is expected.

Configurable options include

  • Enabled / disabled state
  • Tracked group IDs
  • Industrial group IDs
  • Alert thresholds per ship class/group
  • Discord webhook URLs (critical + standard)
  • Discord mention configuration (role IDs and/or user IDs)
  • Dashboard behavior options
  • Snooze durations / visibility preferences

Background tasks

CapTrack uses periodic tasks to refresh/watch data and drive alerts.
In v1.0.9b4, watchlist refresh was updated to handle Corptools 3.x task changes (celery-once signature validation, task name changes, and b7 single-character asset refresh).


Compatibility

AllianceAuth / Corptools

  • AllianceAuth: 4.x (4.13+)
  • Corptools: 3.0.0b7 (target), other 3.x betas may work

SDE / eve_sde

If you use Corptools 3.x (SDE-backed), ensure:

  1. eve_sde and modeltranslation are installed
  2. modeltranslation is first in INSTALLED_APPS
  3. Run and schedule SDE sync:
python manage.py esde_load_sde

Corptools migrations may refuse to apply if eve_sde data is stale (>24h).

CapTrack’s Blacklisted Regions feature also uses eve_sde.Region, so SDE data must be present for region search/autocomplete.


Versioning policy

  • v1.0.9b4: Beta/pre-release focusing on Corptools 3.x + SDE migration + region blacklist fixes
  • Future versions will:
    • Avoid destructive migrations where possible
    • Prefer additive schema changes
    • Be tested against existing installs

Screenshots

Screenshots are placeholders and may change as the UI evolves.

Dashboard — Overview

Dashboard Overview

Displays all tracked capital activity grouped by main character, with clear visual separation between critical, alerting, and informational states.


Dashboard — Collapsed / Expanded States

Dashboard Collapsed

Cards can be collapsed to reduce noise. Collapse state can optionally be remembered per user.


Dashboard — Snoozed Pilots

Dashboard Snoozed

Pilots can be snoozed individually to suppress alerts and notifications for a configurable duration.


Admin — CapTrack Settings

Admin Settings

All configuration is managed through a single settings entry in the AllianceAuth admin panel.


Discord — Critical Alert Example

Discord Critical Alert

Critical alerts (Titans, Supercarriers) are always sent immediately.


License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aa_captrack-1.0.9b4.tar.gz (783.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aa_captrack-1.0.9b4-py3-none-any.whl (40.8 kB view details)

Uploaded Python 3

File details

Details for the file aa_captrack-1.0.9b4.tar.gz.

File metadata

  • Download URL: aa_captrack-1.0.9b4.tar.gz
  • Upload date:
  • Size: 783.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for aa_captrack-1.0.9b4.tar.gz
Algorithm Hash digest
SHA256 6f8bc0ae463536510ce2bc9632078ddd0170e12e5972288f54073828e78ee498
MD5 2834a72ff40dd70c4d610e6281445fa5
BLAKE2b-256 4648c83b2cca390d30a13600870668b6bf02fd234429d5b2cc3537b40cd45f18

See more details on using hashes here.

File details

Details for the file aa_captrack-1.0.9b4-py3-none-any.whl.

File metadata

  • Download URL: aa_captrack-1.0.9b4-py3-none-any.whl
  • Upload date:
  • Size: 40.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for aa_captrack-1.0.9b4-py3-none-any.whl
Algorithm Hash digest
SHA256 ad512951521a04254980c9fd598ce90a30840a370b0d7e2100f153b564b44733
MD5 f49ca73affe6718c4471e5f63ebfb22f
BLAKE2b-256 cd5d6cb0b0c125248b9c0e89f5a9914eef3daa421ed20b60939790df2e4862dd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page