Skip to content

Geuthur/aa-killstats

Repository files navigation

Killstats module for AllianceAuth.

pre-commit.ci status Code style: black Tests codecov

Features

  • Graphical Overview
  • Kills from alts count to Main Character
  • Hall of Fame, Hall of Shame
  • Killstats like Top Kill, Top Killer, Top Loss, Alltime Killer, etc.
  • Kills/Losses

Upcoming

  • Access to Killboards from other Corporation (Admin Access)

Installation

Note

AA Killstats needs at least Alliance Auth v4.0.0 Please make sure to update your Alliance Auth before you install this APP

Step 1 - Install the Package

Make sure you're in your virtual environment (venv) of your Alliance Auth then install the pakage.

pip install aa-killstats

Step 2 - Configure Alliance Auth

Configure your Alliance Auth settings (local.py) as follows:

  • Add 'allianceauth.corputils', to INSTALLED_APPS
  • Add 'eveuniverse', to INSTALLED_APPS
  • Add 'killstats', to INSTALLED_APPS

Step 3 - Add the Scheduled Tasks

To set up the Scheduled Tasks add following code to your local.py

CELERYBEAT_SCHEDULE["killstats_killmail_fetch"] = {
    "task": "killstats.tasks.killmail_fetch_all",
    "schedule": crontab(minute=0, hour="*/1"),
}

Step 4 - Migration to AA

python manage.py collectstatic
python manage.py migrate

Step 5 - Setting up Permissions

With the Following IDs you can set up the permissions for the KILLSTATS

ID Description
basic_access Can access the Killstats module All Members with the Permission can access the Killstats App.
admin_access Can Add Corporations to Killstats Can Add Corporations to Killstats

Step 6 - (Optional) Setting up Compatibilies

The Following Settings can be setting up in the local.py

  • KILLSTATS_APP_NAME: "YOURNAME" - Set the name of the APP

  • KILLSTATS_LOGGER_USE: True / False - Set to use own Logger File

  • KILLSTATS_CORPSTATS_TWO: True / False - Set to use Corp Stats Two APP to Fetch Members that are not registred

If you set up KILLSTATS_LOGGER_USE to True you need to add the following code below:

LOGGING_KILLSTATS = {
    "handlers": {
        "killstats_file": {
            "level": "INFO",
            "class": "logging.handlers.RotatingFileHandler",
            "filename": os.path.join(BASE_DIR, "log/killstats.log"),
            "formatter": "verbose",
            "maxBytes": 1024 * 1024 * 5,
            "backupCount": 5,
        },
    },
    "loggers": {
        "killstats": {
            "handlers": ["killstats_file", "console"],
            "level": "INFO",
        },
    },
}
LOGGING["handlers"].update(LOGGING_KILLSTATS["handlers"])
LOGGING["loggers"].update(LOGGING_KILLSTATS["loggers"])

Highlights

Screenshot 2024-06-26 144010

Note

Contributing You want to improve the project? Just Make a Pull Request with the Guidelines. We Using pre-commit