Skip to content

Geuthur/aa-killstats

Repository files navigation

Killstats module for AllianceAuth.

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

ko-fi

Killstats for Corporations & Alliances, Hall of Fame, Hall of Shame, etc.

-

Features

  • Graphical Overview
  • Corporation & Alliance Overview
  • Kills/Losses
  • Main Character and Alts combined (explanation)
  • Hall of Fame, Hall of Shame
  • Killstats like Top Kill, Top Killer, Top Loss, Alltime Killer, etc.
  • Top 10 list for each Month

Upcoming

  • Filtering Settings for each Corporation / Alliance
  • Administration Access for specific Corps or Alliances

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 0 - Check dependencies are installed

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 '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 this app, Killstats. All Members with the Permission can access the Killstats App.
admin_access Has access to all killstats. Has access to all Killstats Views, Can add Corporation/Alliance.

Step 6 - (Optional) Setting up Compatibilies

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

Setting Configuration(default) Description
KILLSTATS_APP_NAME "YOURNAME" ("Killstats") Set the name of the APP.
KILLSTATS_LOGGER_USE True / False (False) Set to use own Logger File.
KILLBOARD_API_CACHE_LIFETIME 5 (10) Set Cache Lifetime for Killstats in Minutes.

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

Stats Hall Kills

Note

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