Skip to main content

BR Compensations

PyPI version License: MIT Python Version


English | Русский

Vesrion 0.2.x Breaking changes

Since version 0.2.0, the plugin has been migrated to Alliance Auth 5. Changes to the EVE Online ESI API have broken the communication previously used between AA and the API endpoint. The new OpenAPI backends require django-esi 9 or later. Therefore, BR Compensations versions below 0.2.0 will no longer work correctly as of 2026-08-11.

Internal plugin integrations also require database migrations to be rebuilt. If you are already using BR Compensations, execute:

auth migrate br_compensations --fake

Overview

BR Compensations is a plugin for Alliance Auth 5 that manages combat loss compensations in EVE Online. It processes battle reports and killmails, automatically calculates compensation amounts, and provides tools for administrators to approve or reject compensation requests.

Features

  • Battle Report Processing — automatic parsing of battle reports from br.evetools.org, Zkillboard links, and in-game killmail links
  • Killmail Tracking — import killmails from battle reports or in-game character mail via ESI API
  • Automatic Compensation Calculation — configurable rules with ship classification (class, tier), insurance payouts, compensation caps, and doctrine standards
  • Mail Templates — customizable email templates for approval and rejection notifications with 30+ template variables
  • User Portal — pilots can view their losses and request compensation directly
  • Mass Operations — batch approve, reject, delete, or restore killmails
  • Filter System — filter by alliance, corporation, or character
  • Proxy Support — HTTP, HTTPS, and SOCKS5 proxy configuration for external API requests
  • Multi-language — Russian, English, and Spanish translations

Requirements

  • Python 3.10+
  • Alliance Auth 5.0.0
  • Django REST Framework 3.15.0+
  • django-eveuniverse 2.1.0+
  • django-eveonline-sde 0.0.2+
  • cloudscraper 1.2.70+

Installation

1. Install via pip

pip install br-compensations

2. Configure Alliance Auth

Add 'br_compensations' to INSTALLED_APPS in your local.py:

INSTALLED_APPS = [
    # ... other apps
    'eve_sde',
    'br_compensations',
    # ... other apps
]

3. Configure Celery Beat

from crontab import crontab

if 'br_compensations' in INSTALLED_APPS:
    # Process queued battle reports and killmail links
    CELERYBEAT_SCHEDULE['Process scheduled reports'] = {
        'task': 'br_compensations.tasks.process_queued_links',
        'schedule': crontab(minute='*/5'),
    }

    # Fetch killmails from character in-game mail
    CELERYBEAT_SCHEDULE['Get kills from user inbox'] = {
        'task': 'br_compensations.tasks.fetch_characters_mails',
        'schedule': crontab(minute='*/5'),
    }

    # Auto-load battle reports from br.evetools.org
    CELERYBEAT_SCHEDULE['Get new battle reports'] = {
        'task': 'br_compensations.tasks.load_battle_reports',
        'schedule': crontab(minute='*/30'),
    }

4. Apply migrations

python manage.py migrate br_compensations

5. Collect static files

python manage.py collectstatic

6. Restart services

# systemd
sudo systemctl restart myauth celery

# supervisor
sudo supervisorctl restart myauth celery

Permissions

Permission Description
br_compensations.can_manage Full access to admin dashboard, battle reports, settings, templates, and mass operations
br_compensations.can_use Access to the user-facing page to view losses and request compensation

Configure via Alliance Auth admin panel: Auth → Permissions.

Celery Tasks

Task Schedule Description
process_queued_links Every 5 min Processes queued battle report and killmail links (batch of 5)
fetch_characters_mails Every 5 min Fetches killmails from character in-game mail (incremental)
load_battle_reports Every 30 min Loads latest battle reports from br.evetools.org
fetch_all_characters_mails On demand Full mailbox scan for all registered characters
process_mass_action On demand Batch approve/reject/delete/restore killmails

Management Commands

Command Description
python manage.py fill_compensation_amounts Calculate compensation amounts for killmails where amount is 0
python manage.py update_compensation_amounts Recalculate compensation amounts for all (or a single) killmail
python manage.py load_eve_alliances Load alliance data from ESI
python manage.py load_eve_corporations Load corporation data for alliances from ESI

Configuration

Proxy Settings

Configure proxy in the admin panel (Battle Compensations → Settings):

Parameter Description
HTTP Proxy HTTP proxy (format: http://host:port)
HTTPS Proxy HTTPS proxy (format: https://host:port)
SOCKS5 Proxy SOCKS5 proxy (format: socks5://host:port)

Compensation Caps

Set per-operation-type compensation caps in the admin settings panel:

Operation Type Code
CTA (Call To Arms) C
Home Defence H
Other O

Excluded Ships

Configure ship types that are excluded from compensation processing in the admin settings panel.

License

This project is licensed under the MIT License. See LICENSE for details.

Acknowledgements


English | Русский

Критические изменения в версии 0.2.x

Начиная с версии 0.2.0, плагин был перенесен на Alliance Auth 5. Изменения в EVE Online ESI API нарушили связь, ранее использовавшуюся между AA и API ESI. Для новых бэкэндов OpenAPI требуется django-esi 9 или новее. Таким образом, версии BR Compensations ниже 0.2.0 больше не будут работать корректно с 11 августа 2026 г.

Внутренняя интеграция плагинов также потребовала перестройки миграции базы данных. Если вы уже используете BR compensations и не хотите терять данные, выполните:

auth migrate br_compensations --fake

Обзор

BR Compensations — плагин для Alliance Auth, который управляет компенсациями за боевые потери в EVE Online. Обрабатывает боевые отчёты и киллмэйлы, автоматически рассчитывает сумму компенсации и предоставляет инструменты для одобрения или отклонения заявок администраторами.

Возможности

  • Обработка боевых отчётов — автоматический парсинг боевых отчётов с br.evetools.org, ссылок Zkillboard и ингейм-ссылок на киллы
  • Отслеживание киллмэйлов — импорт киллмэйлов из боевых отчётов или внутриигровой почты персонажей через ESI API
  • Автоматический расчёт компенсаций — настраиваемые правила с классификацией кораблей (класс, тир), выплатами по страховке, лимитами компенсаций и доктринами
  • Шаблоны писем — настраиваемые шаблоны email-уведомлений для одобрения и отклонения с более чем 30 переменными
  • Портал для пилотов — пилоты могут просматривать свои потери и запрашивать компенсацию
  • Массовые операции — пакетное одобрение, отклонение, удаление или восстановление киллмэйлов
  • Система фильтров — фильтрация по альянсу, корпорации или персонажу
  • Поддержка прокси — настройка HTTP, HTTPS и SOCKS5 прокси для внешних API-запросов
  • Мультиязычность — переводы на русский, английский и испанский

Требования

  • Python 3.10+
  • Alliance Auth 5.0.0
  • Django REST Framework 3.15.0+
  • django-eveuniverse 2.1.0+
  • django-eveonline-sde 0.0.2+
  • cloudscraper 1.2.70+

Установка

1. Установка через pip

pip install br-compensations

2. Настройка Alliance Auth

Добавьте 'br_compensations' в INSTALLED_APPS в файле local.py:

INSTALLED_APPS = [
    # ... другие приложения
    'br_compensations',
]

3. Настройка Celery Beat

from crontab import crontab

if 'br_compensations' in INSTALLED_APPS:
    # Автоматическая обработка боевых отчётов и ссылок на киллмэйлы
    CELERYBEAT_SCHEDULE['Process scheduled reports'] = {
        'task': 'br_compensations.tasks.process_queued_links',
        'schedule': crontab(minute='*/5'),
    }
    # Автоматическая загрузка киллов из внутриигровой почты персонажей
    CELERYBEAT_SCHEDULE['Get kills from user inbox'] = {
        'task': 'br_compensations.tasks.fetch_characters_mails',
        'schedule': crontab(minute='*/5'),
    }
    # Автоматическая загрузка боевых отчётов с br.evetools.org
    CELERYBEAT_SCHEDULE['Get new battle reports'] = {
        'task': 'br_compensations.tasks.load_battle_reports',
        'schedule': crontab(minute='*/30'),
    }

4. Применение миграций

python manage.py migrate br_compensations

5. Сбор статических файлов

python manage.py collectstatic

6. Перезапуск сервисов

# systemd
sudo systemctl restart myauth celery

# supervisor
sudo supervisorctl restart myauth celery

Права доступа

Право Описание
br_compensations.can_manage Полный доступ к админ-панели, боевым отчётам, настройкам, шаблонам и массовым операциям
br_compensations.can_use Доступ к пользовательской странице для просмотра потерь и запроса компенсаций

Настройка через админ-панель Alliance Auth: Auth → Permissions.

Задачи Celery

Задача Интервал Описание
process_queued_links каждые 5 мин Обработка очереди боевых отчётов и киллмэйлов (пачка по 5)
fetch_characters_mails каждые 5 мин Загрузка киллов из внутриигровой почты персонажей (инкрементально)
load_battle_reports каждые 30 мин Загрузка последних боевых отчётов с br.evetools.org
fetch_all_characters_mails по требованию Полное сканирование почты всех зарегистрированных персонажей
process_mass_action по требованию Пакетное одобрение/отклонение/удаление/восстановление киллмэйлов

Команды управления

Команда Описание
python manage.py fill_compensation_amounts Расчёт суммы компенсации для киллмэйлов с нулевой суммой
python manage.py update_compensation_amounts Пересчёт суммы компенсации для всех (или одного) киллмэйлов
python manage.py load_eve_alliances Загрузка данных об альянсах из ESI
python manage.py load_eve_corporations Загрузка данных о корпорациях альянсов из ESI

Конфигурация

Настройка прокси

Настройка прокси в админ-панели (Battle Compensations → Settings):

Параметр Описание
HTTP Proxy HTTP прокси (формат: http://host:port)
HTTPS Proxy HTTPS прокси (формат: https://host:port)
SOCKS5 Proxy SOCKS5 прокси (формат: socks5://host:port)

Лимиты компенсаций

Настройка лимитов компенсаций по типу операции в админ-панели:

Тип операции Код
CTA (Call To Arms) C
Home Defence H
Другое O

Исключённые корабли

Настройка типов кораблей, исключённых из обработки компенсаций, в админ-панели.

Лицензия

Этот проект распространяется под лицензией MIT. Подробности см. в файле LICENSE.

Благодарности

  • Alliance Auth — платформа, на которой построен плагин
  • br.evetools.org — источник данных боевых отчётов
  • EVE Online — игра

Metadata

Release files for br-compensations 0.2.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for br-compensations 0.2.12
File Interpreter ABI Platform
br_compensations-0.2.12-py3-none-any.whl Python 3 none any Details

Release files / br_compensations-0.2.12-py3-none-any.whl

Download URL br_compensations-0.2.12-py3-none-any.whl
Size 247.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
acbf0ef853aa5b4b185a133c3b31f16eca272e26fec83cc335e0c1a5a6098303
BLAKE2b-256 checksum
How to use checksums
df4d3275301b128b66b5e447018833e483c5154dc8968b11bdc663c14e0bd869
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

0.2.15

1 release file

0.2.14

1 release file

0.2.13

1 release file

This release

0.2.12 This release

1 release file

0.2.11

1 release file

0.2.10

1 release file

0.2.9

1 release file

0.2.8

1 release file

0.2.7

1 release file

0.2.6

1 release file

0.2.5

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.36

1 release file

0.1.35

1 release file

0.1.34

1 release file

0.1.33

1 release file

0.1.32

1 release file

0.1.31

1 release file

0.1.30

1 release file

0.1.29

1 release file

0.1.28

1 release file

0.1.27

1 release file

0.1.26

1 release file

0.1.25

1 release file

0.1.24

1 release file

0.1.23

1 release file

0.1.22

1 release file

0.1.21

1 release file

0.1.20

1 release file

0.1.19

1 release file

0.1.16

1 release file

0.1.15

1 release file

0.1.14

1 release file

0.1.13

1 release file

0.1.12

1 release file

0.0.134

1 release file

0.0.133

1 release file

0.0.132

1 release file

0.0.131

1 release file

0.0.130

1 release file

0.0.129

1 release file

0.0.128

1 release file

0.0.127

1 release file

0.0.126

1 release file

0.0.125

1 release file

0.0.124

1 release file

0.0.123

1 release file

0.0.122

1 release file

0.0.121

1 release file

0.0.120

1 release file

0.0.119

1 release file

0.0.118

1 release file

0.0.117

1 release file

0.0.116

1 release file

0.0.115

1 release file

0.0.114

1 release file

0.0.113

1 release file

0.0.112

1 release file

0.0.111

1 release file

0.0.110

1 release file

0.0.109

1 release file

0.0.108

1 release file

0.0.107

1 release file

0.0.106

1 release file

0.0.105

1 release file

0.0.104

1 release file

0.0.103

1 release file

0.0.102

1 release file

0.0.101

1 release file

0.0.100

1 release file

0.0.99

1 release file

0.0.98

1 release file

0.0.97

1 release file

0.0.96

1 release file

0.0.95

1 release file

0.0.94

1 release file

0.0.93

1 release file

0.0.92

1 release file

0.0.91

1 release file

0.0.90

1 release file

0.0.89

1 release file

0.0.87

1 release file

0.0.86

1 release file

0.0.85

1 release file

0.0.84

1 release file

0.0.83

1 release file

0.0.82

1 release file

0.0.81

1 release file

0.0.80

1 release file

0.0.79

1 release file

0.0.78

1 release file

0.0.77

1 release file

0.0.74

1 release file

0.0.73

1 release file

0.0.72

1 release file

0.0.71

1 release file

0.0.70

1 release file

0.0.69

1 release file

0.0.68

1 release file

0.0.67

1 release file

0.0.66

1 release file

0.0.65

1 release file

0.0.64

1 release file

0.0.63

1 release file

0.0.62

1 release file

0.0.61

1 release file

0.0.60

1 release file

0.0.59

1 release file

0.0.58

1 release file

0.0.57

1 release file

0.0.56

1 release file

0.0.55

1 release file

0.0.54

1 release file

0.0.53

1 release file

0.0.52

1 release file

0.0.51

1 release file

0.0.50

1 release file

0.0.49

1 release file

0.0.47

1 release file

0.0.45

1 release file

0.0.44

1 release file

0.0.43

1 release file

0.0.42

1 release file

0.0.41

1 release file

0.0.40

1 release file

0.0.38

1 release file

0.0.37

1 release file

0.0.36

1 release file

0.0.35

1 release file

0.0.34

1 release file

0.0.33

1 release file

0.0.32

1 release file

0.0.31

1 release file

0.0.30

1 release file

0.0.29

1 release file

0.0.28

1 release file

0.0.27

1 release file

0.0.26

1 release file

0.0.25

1 release file

0.0.24

1 release file

0.0.23

1 release file

0.0.22

1 release file

0.0.21

1 release file

0.0.20

1 release file

0.0.19

1 release file

0.0.18

1 release file

0.0.17

1 release file

0.0.16

1 release file

0.0.15

1 release file

0.0.14

1 release file

0.0.13

1 release file

0.0.12

1 release file

0.0.11

1 release file

0.0.10

1 release file

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page