Package: aa-killtracker
KilltrackerAn app for running killmail trackers with Alliance Auth and Discord.ContentsOverviewKey FeaturesScreenshotsInstallationTrackersSettingsChange LogOverviewKilltracker is an app for running killmail based trackers with Alliance Auth and Discord. Trackers are small programs that automatically select killmails based on a set of pre-defined conditions and then post them to a Discord channel as soon as they appear on zKillboard.The main advantage of the Killtracker app over similar apps is it's high customizability, which allows you to cut through the noise of many false positives and only get the results you are really interested in.For example you may want to know when a larger group is roaming through your area? Set up a tracker that shows all kills within 10 jumps of your staging that has more than 20 attackers. It will even ping you if you want.Or you maybe want to be informed about any capitals being active within your jump range? Just setup a tracker for capital kills within 6 LY of your staging.Key FeaturesAutomatically post killmails conforming with a set of conditions to a Discord channel as soon as they arrive on zKillboardUse 20+ clauses to define exactly what you want to track incl. clauses for location, organization, Auth state and ship typesClauses for "ship types" include ships, structures, customs offices, fighters and excavator dronesOptional channel and group pinging for matching killmailsDesigned for fast response times, high throughput and low resource requirementsGet additional insights about killmails like distance from stagingSee which fleets / groups are active in your area of interestCustomize killmail messages with titles and colorsScreenshotsHere is an example for settings up a new tracker:And here is how posted killmails look on Discord:InstallationStep 1 - Check preconditionsKilltracker is a plugin for Alliance Auth. If you don't have Alliance Auth running already, please install it first before proceeding. (see the officialAA installation guidefor details)Killtracker needs the appdjango-eveuniverseto function. Please make sure it is installed, before continuing.Step 2 - Install appMake sure you are in the virtual environment (venv) of your Alliance Auth installation. Then install the newest release from PyPI:pipinstallaa-killtrackerStep 3 - Configure settingsConfigure your AA settings (local.py) as follows:Installed appsAdd'killtracker'toINSTALLED_APPS.Killtracker configurationAdd below lines to your settings file:# aa-killtrackerCELERYBEAT_SCHEDULE['killtracker_run_killtracker']={'task':'killtracker.tasks.run_killtracker','schedule':crontab(minute='*/1'),}KILLTRACKER_QUEUE_ID=""# Put your unique queue ID hereQueue IDPlease note that the queue ID must be globally unique for all users of the zKillboard API, so choose carefully.We suggest to use your alliance name or alliance tag (without any spaces and special characters) as queue ID.We recommend using only characters (upper and lower case) and numbers,
but no spaces or any special characters when choosing your ID.Example (don't use this exact example):KILLTRACKER_QUEUE_ID="Voltron9000"If you are running multiple instances of Killtracker please choose a different queue ID for each of them.Additional settings (optional)Add additional settings if you want to change any defaults. SeeSettingsfor the full list.Step 4 - Finalize installationRun migrations & copy static filespythonmanage.pymigrate
pythonmanage.pycollectstaticRestart your supervisor services for AuthStep 5 - Load Eve Universe map dataIn order to be able to select solar systems and types for trackers you need to load that data from ESI once.Load Eve Online map: (If you already have run this command with another app you can skip this step)pythonmanage.pyeveuniverse_load_datamapLoad app specific types:pythonmanage.pykilltracker_load_eveYou may want to wait until the loading is complete before starting to create new trackers.Step 6 - Setup trackersThe setup and configuration for trackers is done on the admin page underKilltracker.First need to add the Discord webhook that points to the channel you want your killmail to appear toWebhooks. You can use one webhook for all trackers, but it is usually better to create a new channel / webhook for each tracker.To test that your webhook works correctly you can send a test notification.Next you can create your trackers underTracker. Make sure you link each tracker to the right webhook. Once you save a tracker that isenabledit will start working.As final test that your setup is correct you may want to create a "Catch all" tracker. for that just create a new tracker without any conditions and it will forward all killmails to your Discord channel as they are received.Congratulations you are now ready to use killtracker!TrackersAll trackers are setup and configured on the admin site underKilltracker.Each tracker has a name, is linked to a webhook and has a set of conditions that define which killmails are selected and shown in the Discord channel. Note that if you define a tracker without any conditions tan you got a "catch all" tracker, that will post any killmail on Discord.Each of the 20+ conditions belongs to one of two categories and they are named accordingly:require: Require conditions must be fulfilled by a killmail. e.g. a tracker with the conditionrequire min attackers = 10will post only killmails on Discord that have at least 10 attackers.exclude: Exclude conditions are the opposite of require. Killmails that fulfil this condition will never be posted by this tracker. e.g. a tracker withexclude high secwill never show any killmails from high sec.You can combine multiple conditions to create the tracker you want. Note that conditions are always combined together with a boolean AND. For example: if your tracker hasrequire min attackersset to 10 andexclude high secenabled, then you will only get killmails that both have at least 10 attackers and are not in high sec.Here is a list of all currently supported conditions for each tracker:NameDescriptionrequire max jumpsRequire all killmails to be max x jumps away from origin solar systemrequire max distanceRequire all killmails to be max x LY away from origin solar systemrequire min attackersRequire killmails to have at least given number of attackersrequire max attackersRequire killmails to have no more than max number of attackersexclude high secexclude killmails from high sec. Also exclude high sec systems in route finder for jumps from origin.exclude low secexclude killmails from low secexclude null secexclude killmails from null secexclude w spaceexclude killmails from WH spacerequire min valueRequire killmail's value to be greater or equal to the given value in M ISKexclude npc killsexclude npc killsrequire npc killsonly include killmails that are npc killsexclude attacker alliancesexclude killmails with attackers from one of these alliancesexclude attacker corporationsexclude killmails with attackers from one of these corporationsrequire attacker alliancesonly include killmails with attackers from one of these alliancesrequire attacker corporationsonly include killmails with attackers from one of these corporationsrequire victim alliancesonly include killmails where the victim belongs to one of these alliancesrequire victim corporationsonly include killmails where the victim belongs to one of these corporationsexclude_attacker_statesexclude killmails with characters belonging to users with these Auth statesrequire_attacker_statesonly include killmails with characters belonging to users with these Auth statesrequire_victim_statesonly include killmails where the victim characters belong to users with these Auth staterequire regionsOnly include killmails that occurred in one of these regionsrequire constellationsOnly include killmails that occurred in one of these regionsrequire solar systemsOnly include killmails that occurred in one of these regionsrequire attackers ship groupsOnly include killmails where at least one attacker is flying one of these ship groupsrequire attackers ship typesOnly include killmails where at least one attacker is flying one of these ship typesrequire victim ship groupsOnly include killmails where victim is flying one of these ship groupsrequire victim ship typesOnly include killmails where victim is flying one of these ship typesSettingsHere is a list of available settings for this app. They can be configured by adding them to your AA settings file (local.py).Note that all settings are optional and the app will use the documented default settings if they are not used.NameDescriptionDefaultKILLTRACKER_KILLMAIL_MAX_AGE_FOR_TRACKERIgnore killmails that are older than the given number in minutes. Sometimes killmails appear belated on ZKB, this feature ensures they don't create new alerts60KILLTRACKER_MAX_KILLMAILS_PER_RUNMaximum number of killmails retrieved from ZKB by task run. This value should be set such that the task that fetches new killmails from ZKB every minute will reliable finish within one minute. To test this run a "Catch all" tracker and see how many killmails your system is capable of processing. Note that you can get that information from the worker's log file. It will look something like this:Total killmails received from ZKB in 49 secs: 251250KILLTRACKER_PURGE_KILLMAILS_AFTER_DAYSKillmails older than set number of days will be purged from the database. If you want to keep all killmails set this to 0. Note that this setting is only relevant if you have storing killmails enabled.30KILLTRACKER_QUEUE_IDUnique ID used to identify this server when fetching killmails from zKillboard. This setting is mandatory.``KILLTRACKER_STORING_KILLMAILS_ENABLEDIf set to true Killtracker will automatically store all received killmails in the local database. This can be useful if you want to run analytics on killmails etc. However, please note that Killtracker itself currently does not use stored killmails in any way.FalseKILLTRACKER_WEBHOOK_SET_AVATARWether app sets the name and avatar icon of a webhook. When False the webhook will use it's own values as set on the platformTrue