Skip to main content

Fleet loot valuation and payout system for Alliance Auth

Project description

AA Payout - Fleet Loot Management System

An Alliance Auth plugin that allows fleet commanders to value loot from PvP engagements and automatically distribute ISK payouts to participating pilots.

License Python Django Alliance Auth

Features

  • Fleet Management: Create and track fleet operations with participant rosters
  • Loot Valuation: Automatically value loot using EVE market data (ESI/Fuzzwork)
  • Flexible Payout Rules: Configure payout distribution based on roles, time, and custom rules
  • Payment Tracking: Track payment status and maintain audit trails
  • Comprehensive Reporting: View payout history, fleet profitability, and export data

Installation

Step 1: Install the Package

Install the package into your Alliance Auth virtual environment:

pip install aa-payout

Or install directly from the repository:

pip install git+https://github.com/guarzo/aa-payout.git

Step 2: Configure Alliance Auth

Add aapayout to your INSTALLED_APPS in your Alliance Auth settings file (usually myauth/settings/local.py):

INSTALLED_APPS += [
    'aapayout',
]

Step 3: Run Migrations

Run Django migrations to create the database tables:

python manage.py migrate

Step 4: Collect Static Files

Collect static files:

python manage.py collectstatic

Step 5: Restart Services

Restart your Alliance Auth services:

supervisorctl restart myauth:

Permissions

The following permissions are available:

Permission Description
aapayout.basic_access Can access the payout system
aapayout.create_fleet Can create fleets
aapayout.manage_own_fleets Can manage own fleets as FC
aapayout.manage_all_fleets Can manage all fleets
aapayout.approve_payouts Can approve payouts
aapayout.view_all_payouts Can view all payout history
aapayout.manage_payout_rules Can manage payout rules

Basic Usage

Creating a Fleet

  1. Navigate to Fleet Payouts in the Alliance Auth sidebar
  2. Click Create Fleet
  3. Fill in fleet details (name, doctrine, location, etc.)
  4. Add participants manually or import from ESI

Adding Loot

  1. Open your fleet
  2. Click Add Loot Pool
  3. Paste loot from cargo/contract or enter items manually
  4. Click Value Loot to fetch market prices

Calculating Payouts

  1. Review the valued loot
  2. Select a payout rule (equal split, role-based, etc.)
  3. Preview the payout distribution
  4. Approve and finalize payouts

Processing Payments

  1. View pending payouts
  2. Make payments via in-game contracts/trades
  3. Mark payments as complete in the system
  4. Pilots can view their payment status

Configuration

You can customize the plugin behavior in your local.py:

# Default pricing source (jita_buy, jita_sell, regional)
AAPAYOUT_DEFAULT_PRICING_SOURCE = "jita_sell"

# Minimum payout amount in ISK
AAPAYOUT_MINIMUM_PAYOUT = 1000000  # 1M ISK

# Automatically value loot on submission
AAPAYOUT_AUTO_VALUE_ON_SUBMIT = True

# Require approval before payouts can be processed
AAPAYOUT_REQUIRE_APPROVAL = True

# Discord webhook for notifications (optional)
AAPAYOUT_NOTIFICATION_WEBHOOK = ""

# Market region ID for pricing (10000002 = The Forge/Jita)
AAPAYOUT_MARKET_REGION_ID = 10000002

Development Status

This plugin is currently in active development. See the IMPLEMENTATION_PLAN.md for detailed development roadmap.

Current status: Phase 1 - Core Framework

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Support

For bugs, feature requests, or questions, please open an issue on GitHub.

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

Acknowledgments

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_payout-0.1.0.tar.gz (77.7 kB view details)

Uploaded Source

Built Distribution

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

aa_payout-0.1.0-py3-none-any.whl (112.0 kB view details)

Uploaded Python 3

File details

Details for the file aa_payout-0.1.0.tar.gz.

File metadata

  • Download URL: aa_payout-0.1.0.tar.gz
  • Upload date:
  • Size: 77.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aa_payout-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cdf8974e67f84ca4beec5bd0c437b1cdd858c9d77e164320dff061799aac3f4d
MD5 ebe75d8c2bc563afe839be258bd75219
BLAKE2b-256 bce285d0dbbc6c87dc78d15048e17809a761017652b9010b2140364f94afe13f

See more details on using hashes here.

Provenance

The following attestation bundles were made for aa_payout-0.1.0.tar.gz:

Publisher: release.yml on guarzo/aa-payout

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aa_payout-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: aa_payout-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 112.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aa_payout-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 adb4ea26785a68ec9a668a0abe7d1b9a16fb54e3abdd59f203ca950f9d67c4f1
MD5 62ce50337e7b5f972deafbab19403f0b
BLAKE2b-256 813912e9a502d8144e754285b742f6c60f5b689c17cb2f371cca72ca12f76175

See more details on using hashes here.

Provenance

The following attestation bundles were made for aa_payout-0.1.0-py3-none-any.whl:

Publisher: release.yml on guarzo/aa-payout

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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