BR Compensations
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
- Alliance Auth — the platform this plugin is built on
- br.evetools.org — battle report data source
- EVE Online — the game
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.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| br_compensations-0.2.10-py3-none-any.whl | Python 3 | none | any | Details |
Release files / br_compensations-0.2.10-py3-none-any.whl
| Download URL | br_compensations-0.2.10-py3-none-any.whl |
|---|---|
| Size | 245.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e2c8860a02ea2e0697cf3471f86eff06dd95d6fac477d943c6e4b3bcd097651b
|
|
BLAKE2b-256 checksum How to use checksums |
47836e36005981dd53b43ba17b9aff60c2985ed30d7c576c68cb96b626cae6a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|