Jump to content

IL-2 Stats Mod Bundle: Disco + Tanks + Enhancements + Global Aircraft Stats


Recommended Posts

=FEW=Revolves
Posted (edited)

=======================================================
IL-2 Stats Mod Bundle: Disco + Tanks + SplitRankings + Global Aircraft Stats
=======================================================
Bundle compiled by: =FEW=Revolves

 

This is an IL-2 stats mod compilation consisting of the following four mods (the first two made by CountZero, the latter two made by me and Enigma89):

 

 

 

Download here: https://github.com/FGlazov/IL2Stats_Enhancements/archive/refs/tags/Bundle_1.10.7.zip

 

 

 

IL-2 stats is a website designed by =FB=Vaal and and =FB=Islay, which is used to track statistics on most IL-2 dedicated
servers.

 

This bundle version is designed to work with version 1.2.78 of IL-2 stats.

Disconnect mod version: 1.73 + Tanks disconnect/exit 1.0.1
Tank mod version: 3.9.1
Enhancements mod version : 2.53

Global Aircraft Stats version : 1.5.4

 

 

Note that if you wish to run the disconnect mod and split ranking mod together (without tanks), you don't need any
special bundle! The two mods are compatible as is, just install both of them over each other.

Global Aircraft stats also works with the other mods with some minor adjustments, check its readme for details.

 

---------------------------------------------------------------------------------

 

 

If you notice any bugs or have some feedback, please don't hesitate to say something here ;)

 

Old versions of this bundle can be found on the SplitRanking's GitHub page:https://github.com/FGlazov/IL2Stats_SplitRankingsMod/releases

 

My IL2 stats mod projects havea todo page here:

https://trello.com/b/sjDEvV2v

 

 

 

 

 

 

 

 

 

 

 

 

Edited by =FEW=Revolves
New version
  • Like 5
  • Upvote 2
Posted

Thanks for putting all together, its good to have all at one place it makes it easyer for server hosts to use.

  • Like 4
Posted

Thanks to everyone involved in the process 

  • Like 1
=FEW=Revolves
Posted

If you've downloaded version 1.0, make sure to update to 1.0.1 (first post updated). Due to a small oversight, the SplitRankings mod wasn't actually loading in!

  • Upvote 1
Posted

Good job guys!

  • Like 1
=FEW=Revolves
Posted

Just a heads up: Version 1.0.1 and 1.0 gave 500 errors when someone tried to view the virtual life of a pilot (not always, but in most cases).

 

It's fixed in Version 1.0.2. So be sure to update if you've got the old version installed.

  • Like 1
  • =FEW=Revolves changed the title to IL-2 Stats Mod Bundle: Disco + Tanks + SplitRankings + Global Aircraft Stats
=FEW=Revolves
Posted

Version 1.1.0 of the bundle is out! It now includes the new Global Aircraft stats mod.

  • Like 1
=FEW=Revolves
Posted (edited)

New version 1.1.2, which includes some bug fixes from Global Aircraft Stats. Mainly relevant if you've got AI planes on your server - kills by turret gunners on AI planes were affecting killboard and Elo stats. (kills on AI planes without a turret were not being counted) The new version makes all killboard kills player-only.

 

 

Edited by =FEW=Revolves
=FEW=Revolves
Posted

I've released version 1.2.0 of the bundle, which includes CountZero's latest update to the tank mod (version 2.9.1).

 

Previously, you couldn't see what you damaged in a tank sortie. With this update you can see the targets you've damaged in a sortie. See CountZero's post for more details.

  • =FEW=Revolves changed the title to IL-2 Stats Mod Bundle: Disco + Tanks + Enhancements + Global Aircraft Stats
=FEW=Revolves
Posted (edited)

Version 1.3.0 is out. Includes many changes from my other two mods, and a bug fix for CountZero's tank mod!

 

Warning Server admins: The changes to the aircraft stats mod means it will take up more space in your DB, you may wish to change how much you retroactively compute. See the aircraft stats thread for more info.

 

To update: You need to run update.cmd after pasting over the src/

Edited by =FEW=Revolves
Posted

I like new adition that displays ammo and cal type hits, i remenber before i used to spend time looking at dmg% when i tryed to guess what type gun hit me or enemy, this is cool thing to see displayd now.

  • Thanks 1
=FEW=Revolves
Posted

Version 1.4.0 is out! A minor feature update which includes new modules for to scoring.

 

I've also added some changes here which are exclusive to the bundle. Essentially I've added all the new things I've done for the pilot sortie page, and added them into the tankmen sortie page. Here's an example:

 

image.thumb.png.f0f5c5e348663c0f2facdfa983a5f08b.png

=FEW=Revolves
Posted (edited)

Version 1.4.2 is out, which has updated the bundle to the latest release of IL2 Stats (1.2.50).

 

To update, paste over the src/ after updating to 1.2.50.

 

You need to adjust your config if you're updating from before version 1.3.0. I.e. configure the modules you want in IL-2 Stats enhancements, details in the readme.

Also, you'll need to run update.cmd if you're coming from before 1.3.0

Edited by =FEW=Revolves
=FEW=Revolves
Posted

Version 1.4.3 is out, which fixes a bug with the elo calculation introduced in version 1.3.0 of the bundle (version 1.2.0 of Global Aircraft Stats)

 

Releases since 1.3.0 both counted turret kills twice towards Elo, and twice in aircraft killboards. Note that this bug affects any buckets which were touched by retroactive computation - old sorties were revisited in to calculate the player buckets.

 

Old data unfortunately can't be repaired from my side :( - what's calculated is calculated. If you've got a database backup before you installed a version since 1.3.0 you can replace your current DB with the backup and have IL-2 stats reparse all the sorties since you installed 1.3.0

super-truite
Posted

I have a bug during update:

 

C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\src>"../.venv/Scripts/python.exe" manage.py migrate --noinput --verbosity 0
Mod [mod_stats_by_aircraft] added to INSTALLED_APPS
Mod [mod_rating_by_type] added to INSTALLED_APPS
[mod_rating_by_type] WARNING: No module selected. No modded content will be displayed!
Traceback (most recent call last):
  File "manage.py", line 7, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\commands\migrate.py", line 83, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\executor.py", line 20, in __init__
    self.loader = MigrationLoader(self.connection)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\loader.py", line 52, in __init__
    self.build_graph()
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\loader.py", line 275, in build_graph
    raise exc
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\loader.py", line 245, in build_graph
    self.graph.validate_consistency()
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\graph.py", line 261, in validate_consistency
    [n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\graph.py", line 261, in <listcomp>
    [n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\graph.py", line 104, in raise_error
    raise NodeNotFoundError(self.error_message, self.key, origin=self.origin)
django.db.migrations.exceptions.NodeNotFoundError: Migration mod_rating_by_type.0001_initial dependencies reference nonexistent parent node ('stats', '0035_score_ai_value')

 

  • Like 1
=FEW=Revolves
Posted (edited)
1 minute ago, super-truite said:

I have a bug during update:

 



C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\src>"../.venv/Scripts/python.exe" manage.py migrate --noinput --verbosity 0
Mod [mod_stats_by_aircraft] added to INSTALLED_APPS
Mod [mod_rating_by_type] added to INSTALLED_APPS
[mod_rating_by_type] WARNING: No module selected. No modded content will be displayed!
Traceback (most recent call last):
  File "manage.py", line 7, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\core\management\commands\migrate.py", line 83, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\executor.py", line 20, in __init__
    self.loader = MigrationLoader(self.connection)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\loader.py", line 52, in __init__
    self.build_graph()
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\loader.py", line 275, in build_graph
    raise exc
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\loader.py", line 245, in build_graph
    self.graph.validate_consistency()
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\graph.py", line 261, in validate_consistency
    [n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\graph.py", line 261, in <listcomp>
    [n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.48\il2_stats\.venv\lib\site-packages\django\db\migrations\graph.py", line 104, in raise_error
    raise NodeNotFoundError(self.error_message, self.key, origin=self.origin)
django.db.migrations.exceptions.NodeNotFoundError: Migration mod_rating_by_type.0001_initial dependencies reference nonexistent parent node ('stats', '0035_score_ai_value')

 

 

You need to update to version 1.2.50 of IL2 stats first.

 

Also, take a look at the IL-2 stats enhancements mod readme and thread - if you just want split rankings as before, then you need to add the following line into your config.ini under stats

 

modules = split_ranking

 

But you can activate more stuff if you desire. I'd suggest at least ammo_breakdown as well, i.e. modules = split_rankings, ammo_breakdown.

Edited by =FEW=Revolves
  • Thanks 1
super-truite
Posted

I thought I did. Will try that again. Is it needed to do a fresh il2 stats install first and then a bundle install ? What I did was:
1) update il2 stats
2) copy paste src/ from the bundle
3) run update.cmd again

  • Like 1
=FEW=Revolves
Posted (edited)

Something seems to have gone wrong the the il2 stats update - the update process can't find something that is in the latest version.

 

It's trying to find the file il2_stats/src/stats/migrations/0035_score_ai_value.py (introduced in 1.2.49 if I recall correctly)

 

You can try copying over the src/ from the 1.2.50 version into your il2 stats folder (just be sure to backup your conf.ini), and then paste over the bundle, and run update.cmd afterwards.

Edited by =FEW=Revolves
  • Thanks 1
super-truite
Posted

I get this when running update.cd:

 

C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50\il2_stats>".venv/Scripts/python.exe" -m pip install -U --quiet -r requirements.txt
The system cannot find the path specified.

Not clear what path is causing troubles 

  • Like 1
=FEW=Revolves
Posted

Hmm, if you've just done a fresh install you need to run the install.cmd and not the update.cmd

 

It might be trying to find the Python virtual environment, which is located inside il2_stats/.venv - this gets setup with the install.cmd

  • Thanks 1
super-truite
Posted

indeed, I went back to reinstall it from scratch. Now the stat.cmd works and can parse mission logs. Trying to add the bundle now.

Now I get some infinite recursion when running stats.cmd after the copy/pasting of drc/ and  running update.cmd:

 

 File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 208, in update_bonus_score
    if not module_active(MODULE_ADJUSTABLE_BONUSES_AND_PENALTIES):
RecursionError: maximum recursion depth exceeded


But I might have done something silly before. I get this warning during the update:
 

C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src>"../.venv/Scripts/python.exe" manage.py collectstatic --noinput --verbosity 0
Mod [mod_stats_by_aircraft] added to INSTALLED_APPS
Mod [mod_rating_by_type] added to INSTALLED_APPS
[mod_rating_by_type] WARNING: No module selected. No modded content will be displayed!

My config.ini is the following:

[stats]
mission_report_delete = false
mission_report_backup_days = 31
inactive_player_days = 7
new_tour_by_month = true
win_by_score = true
win_score_min = 2000
win_score_ratio = 1.25
sortie_min_time = 0
skin_id = 1
mods = mod_rating_by_type, mod_stats_by_aircraft
sortie_disco_min_time = 0
sortie_damage_disco_time = 120
retro_compute_for_last_tours=10


 

  • Like 1
=FEW=Revolves
Posted (edited)
45 minutes ago, super-truite said:

indeed, I went back to reinstall it from scratch. Now the stat.cmd works and can parse mission logs. Trying to add the bundle now.

Now I get some infinite recursion when running stats.cmd after the copy/pasting of drc/ and  running update.cmd:

 




 File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 209, in update_bonus_score
    old_stats_whore.update_bonus_score(new_sortie)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\stats_whore.py", line 208, in update_bonus_score
    if not module_active(MODULE_ADJUSTABLE_BONUSES_AND_PENALTIES):
RecursionError: maximum recursion depth exceeded

 

 

Ah that's a bug on my end, I will fix and publish an update in half an hour or so. This happens if you don't have adjustable_bonuses_and_penalties module selected.

 

45 minutes ago, super-truite said:

But I might have done something silly before. I get this warning during the update:
 




C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src>"../.venv/Scripts/python.exe" manage.py collectstatic --noinput --verbosity 0
Mod [mod_stats_by_aircraft] added to INSTALLED_APPS
Mod [mod_rating_by_type] added to INSTALLED_APPS
[mod_rating_by_type] WARNING: No module selected. No modded content will be displayed!

My config.ini is the following:




[stats]
mission_report_delete = false
mission_report_backup_days = 31
inactive_player_days = 7
new_tour_by_month = true
win_by_score = true
win_score_min = 2000
win_score_ratio = 1.25
sortie_min_time = 0
skin_id = 1
mods = mod_rating_by_type, mod_stats_by_aircraft
sortie_disco_min_time = 0
sortie_damage_disco_time = 120
retro_compute_for_last_tours=10


 

 

Yes there was a change in what was previously the SplitRankings mod. If you only want split rankings, then you need to add the line

 

modules = split_rankings

 

under [stats].

 

However you can activate more modules depending on the features you want. Checkout the thread of IL-Stats Mod enhancements for more details on what you can activate. Personally, I think ammo breakdown is pretty nice and can fit on all servers. So you could instead add the line

 

modules = split_rankings, ammo_breakdown

 

EDIT: Update is out! You just need to copy over the src of the bundle over your current install @super_truite. No need to run update.cmd (or you can just use the version you already have if you want the adjustable bonuses and penalties module)

Edited by =FEW=Revolves
  • Thanks 1
super-truite
Posted

thx. I finally got some log files processed :biggrin:, but I got an error with the ammobreakdown module:
 

[2021.04.24 06:25:18] missionReport(2021-02-26_09-35-03)[0] - processing new report
[2021.04.24 06:25:18] unexpected error
Traceback (most recent call last):
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\management\commands\stats_whore.py", line 16, in handle
    stats_whore.main()
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 62, in main
    stats_whore(m_report_file=m_report_file)
  File "C:\Users\admin\AppData\Local\Programs\Python\Python35-32\lib\contextlib.py", line 30, in inner
    return func(*args, **kwds)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 159, in stats_whore
    m_report.processing(files=m_report_files)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mission_report\report.py", line 117, in processing
    self.events_handlers[atype_id](**data)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\report.py", line 23, in event_hit
    record_hits(target, attacker, ammo_db)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\report.py", line 67, in record_hits
    ammo_breakdown[LAST_TURRET_ACCOUNT] = attacker.parent.sortie.account_id
AttributeError: 'NoneType' object has no attribute 'account_id'
[2021.04.24 06:25:18] Lock 75777584 released on C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\file.lock
Traceback (most recent call last):
  File "manage.py", line 7, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\management\commands\stats_whore.py", line 16, in handle
    stats_whore.main()
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 62, in main
    stats_whore(m_report_file=m_report_file)
  File "C:\Users\admin\AppData\Local\Programs\Python\Python35-32\lib\contextlib.py", line 30, in inner
    return func(*args, **kwds)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 159, in stats_whore
    m_report.processing(files=m_report_files)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mission_report\report.py", line 117, in processing
    self.events_handlers[atype_id](**data)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\report.py", line 23, in event_hit
    record_hits(target, attacker, ammo_db)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\mod_rating_by_type\report.py", line 67, in record_hits
    ammo_breakdown[LAST_TURRET_ACCOUNT] = attacker.parent.sortie.account_id
AttributeError: 'NoneType' object has no attribute 'account_id'

 

  • Like 1
=FEW=Revolves
Posted

Ah my bad! I'm guessing you have AI bombers/attackers on your server, which I didn't have in my test dataset :<

 

I've updated with a fix, just copy over src and no need to run update.cmd

super-truite
Posted

Yeah I tend to have everything you could imagine on my server :biggrin:.
Even when deactivating the ammo_breakdown mode, I still run into an issue I already saw before:
 

[2021.04.24 07:10:49] unexpected error
Traceback (most recent call last):
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\management\commands\stats_whore.py", line 16, in handle
    stats_whore.main()
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 62, in main
    stats_whore(m_report_file=m_report_file)
  File "C:\Users\admin\AppData\Local\Programs\Python\Python35-32\lib\contextlib.py", line 30, in inner
    return func(*args, **kwds)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 369, in stats_whore
    and event['attacker'].parent.sortie):
AttributeError: 'NoneType' object has no attribute 'sortie'
[2021.04.24 07:10:49] Lock 76039728 released on C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\file.lock
Traceback (most recent call last):
  File "manage.py", line 7, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\management\commands\stats_whore.py", line 16, in handle
    stats_whore.main()
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 62, in main
    stats_whore(m_report_file=m_report_file)
  File "C:\Users\admin\AppData\Local\Programs\Python\Python35-32\lib\contextlib.py", line 30, in inner
    return func(*args, **kwds)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 369, in stats_whore
    and event['attacker'].parent.sortie):
AttributeError: 'NoneType' object has no attribute 'sortie'

 

wouldn't it be better to do a try/except and then use the logging module or just prints to provide detailed debugging info about the problem ? Most errors I see with the il2stats are rare errors that happens because of some rare events that was not taken into account. This way, the code would still run and parse all the logs

=FEW=Revolves
Posted (edited)
33 minutes ago, super-truite said:

Yeah I tend to have everything you could imagine on my server :biggrin:.
Even when deactivating the ammo_breakdown mode, I still run into an issue I already saw before:
 




[2021.04.24 07:10:49] unexpected error
Traceback (most recent call last):
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\management\commands\stats_whore.py", line 16, in handle
    stats_whore.main()
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 62, in main
    stats_whore(m_report_file=m_report_file)
  File "C:\Users\admin\AppData\Local\Programs\Python\Python35-32\lib\contextlib.py", line 30, in inner
    return func(*args, **kwds)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 369, in stats_whore
    and event['attacker'].parent.sortie):
AttributeError: 'NoneType' object has no attribute 'sortie'
[2021.04.24 07:10:49] Lock 76039728 released on C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\file.lock
Traceback (most recent call last):
  File "manage.py", line 7, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\.venv\lib\site-packages\django\core\management\base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\management\commands\stats_whore.py", line 16, in handle
    stats_whore.main()
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 62, in main
    stats_whore(m_report_file=m_report_file)
  File "C:\Users\admin\AppData\Local\Programs\Python\Python35-32\lib\contextlib.py", line 30, in inner
    return func(*args, **kwds)
  File "C:\Users\admin\Documents\IL2Stats\il2_stats_1.2.50_real\il2_stats\src\stats\stats_whore.py", line 369, in stats_whore
    and event['attacker'].parent.sortie):
AttributeError: 'NoneType' object has no attribute 'sortie'

 

wouldn't it be better to do a try/except and then use the logging module or just prints to provide detailed debugging info about the problem ? Most errors I see with the il2stats are rare errors that happens because of some rare events that was not taken into account. This way, the code would still run and parse all the logs

 

Hey super-truite,

 

I've updated the mod bundle with a fix. Problem was due to an update with the tank mod. Hopefully it works now :< (ammo breakdowns should work too). Just copy over src/, no need to run update.cmd

 

I get your point, and it's frustrating having to whack-a-mole issues like this. Problem with using try/except is it's hard to tell where to place all the try/except blocks. Ideally it would skip over a sortie, or its sortie logs, or just throw out all the information that it can't work with. The problem is one would need to place try/except blocks in a lot of places in the code, and it's difficult to reason where exactly this would be good. For example, try/expecting in the wrong place might result in an object not being saved to DB, which is referenced by another object, and this would cause the stats process to hang anyways.

 

Can I suggest an alternative? If you could send me the logs from your server from a few days, I can add them to my test-set. That way I'll be able to handle any edge cases during development before doing a release.

Edited by =FEW=Revolves
  • Thanks 1
super-truite
Posted (edited)

I understand, Yes I can give you the latest logs (with AA Gaz trucks to add more potential exceptions :biggrin:)

logs_advance_and_secure.zip

Edited by super-truite
  • Thanks 1
=FEW=Revolves
Posted
5 minutes ago, super-truite said:

I understand, Yes can give you the latest logs (with AA Gaz trucks to add more potential exceptions :biggrin:)

logs_advance_and_secure.zip 1.03 MB · 0 downloads

 

Many thanks!

 

I've just tested it with this config:

 

[stats]
mission_report_delete = false
mission_report_backup_days = 31
inactive_player_days = 6000
new_tour_by_month = true
win_by_score = true
win_score_min = 2000
win_score_ratio = 1.25
sortie_min_time = 0
skin_id = 1
mods = mod_rating_by_type, mod_stats_by_aircraft
modules = split_rankings, ammo_breakdown, ironman_stats, flight_time_bonus, undamaged_bailout_penalty

 

As well as

 

modules = split_rankings, ammo_breakdown

 

and

 

modules = split_rankings, ammo_breakdown, adjustable_bonuses_penalties

 

and the current version was able to parse the two days you sent! You should be good to go :)

  • Thanks 1
super-truite
Posted (edited)

great news! If I see some older files that break it, I will send it to you.
Edit: Looks good so far! I will to reset the db and parse every files again to find you some nice exceptions :biggrin: 

Edited by super-truite
=FEW=Revolves
Posted

Released a bug fix version of the mod bundle. Any kills by aircraft turret were being doubled in the aircraft killbords. Also, the Elo gained from an aircraft turret killing another aircraft was double what it should be.

 

Unfortunately I can't fix old data here, it's only fixed for newer versions.

=FEW=Revolves
Posted (edited)

Yet another minor computation bug fixed in 1.4.11.

 

Retroactively computed deaths/aircraft lost to aa/accident in global aircraft stats were doubled. This update fixes that issue.

 

In addition, it will recompute those two stats.

 

To update: You need to run update.cmd after pasting over the src/

Edited by =FEW=Revolves
=FEW=Revolves
Posted

Just released a minor feature update - version 1.5.0

 

It now includes separate bonuses/penalties for tank sorties when using adjustable bonuses and penalties module.

 

To update: You need to run update.cmd after pasting over the src/

=FEW=Revolves
Posted

Bug fix version 1.5.1 released, which includes bug fixes from enhancements and global aircraft stats.

 

Ironman rankings should work significantly faster now on big data sets (it taking over 5s on combat box, should be under 1s now), as well as a couple bugs fixed in the ironman rankings (don't show dead players best streaks, instead show current streaks).

 

The global aircraft stats mod will now also recompute Elo/Aircraft killboards data which was corrupted in previous, buggy releases.

 

To update: You need to run update.cmd after pasting over the src/

  • Like 1
=FEW=Revolves
Posted

Version 1.5.3 released, which now works with 1.2.53, which is required for servers with the Typhoon.

 

To update: Install version 1.2.53 of il2 stats and then copy over this mod bundle. You need to run update.cmd.

=FEW=Revolves
Posted

Small bug fix update 1.5.4 which includes some missing bug fixes from version 1.2.53, updates the bundle to version 1.2.54 of il2 stats, and merges in changes from the latest tank mod.

  • 2 weeks later...
=FEW=Revolves
Posted

Happy to announce a pretty big update (1.6.0)! This new bundle includes the updates which I just released for enhancements and global aircraft stats - personas and a new table showing the best pilots of a single aircraft being the highlight.

 

To update: You need to run update.cmd after pasting over the src/

 

If you have split rankings: This update also introduces retroactive computations of split rankings using the parameter retroactive_compute_for_last_tours. Check the readme for more details. By default the last 10 tours will be retroactively computed.

=FEW=Revolves
Posted (edited)

Version 1.6.2 released which fixes quite a few bugs present in 1.6.1 and 1.60, some 500 error messages, and some unresponsive buttons (some links didn't work). Also includes an update to the latest version of the tank mod, and now all aircraft modifications/payloads are in - so the with/without bombs, with/without upgraded engiens filters for all aircraft should work now (does not work retroactively), thanks CountZero for putting in the data :)

 

To update: You need to run update.cmd or import_csv.cmd after pasting over the src/

Edited by =FEW=Revolves
  • Upvote 1
  • 3 weeks later...
=AD=uumembwa
Posted (edited)

Thank you, all involved in creation, for great work to integrate stats - it is the way to integrate players, pilots and tankmens, play all together with grace and happines?

I install this bundle to stats on my Action server, no errors in the logs for now.

Edited by NHK295M
  • Thanks 1
=FEW=Revolves
Posted

Thanks for the kind words NHk295M, also good to know that the install can still be done purely from the readme :)

=FEW=Revolves
Posted

OK another update is live (1.7.0), contains the latest changes from aircraft stats and tank mods.

 

 

To update: IMPORTANT: You need to copy over the requirements.txt and requirements.in into your il2-stats folder included into your zip, in addition to copying over the src/. This update required the use of some standard python math librareis (numpy, scikit, scipy). You need to run update.cmd after doing the previous two steps.

  • Thanks 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...