Jump to content
IL-2 Series Forum

Recommended Posts

Arrow_1974
Posted

@OSIW: Concerning accuracy / fuel consumption: These stats are "buried" in the mission reports and need to be de-coded. I started to look into that but then got distracted by something else. It MIGHT be possible to calculate some kind of firing accuracy (fuel consumption: I don't know anything so far) but it needs deeper investigations and might take some time. I'll let you know if it can be implemented reliably (no guarantee) 

  • Like 1
Posted
2 hours ago, Arrow_1974 said:

@OSIW: Concerning accuracy / fuel consumption: These stats are "buried" in the mission reports and need to be de-coded. I started to look into that but then got distracted by something else. It MIGHT be possible to calculate some kind of firing accuracy (fuel consumption: I don't know anything so far) but it needs deeper investigations and might take some time. I'll let you know if it can be implemented reliably (no guarantee) 

Thanks again. Sounds good.

Posted

Thank you Arrow_1974, your tool is really fine. Nice to have awards in campaigns too and not in career only as the game offers. Please can you confirm that the mission will be shown in your tracker as long as that mission is mentioned as successful after having been  plaid into the game ? Many campaigns requires to have a succesful mission before playing the next one. As soon as the player sees "mission failed"  into the game, that mission is not available in your tracker and the player has to play it again as long as the mission will be succesful? Thanks again.

Arrow_1974
Posted (edited)

@Azdack

The tracker does not decide campaign progression on its own. It reads the mission state written by IL-2 in campaignsstates.txt and displays the campaign accordingly.

So, if a mission is completed successfully in the game, it will remain visible in the tracker and be counted as a successful mission.

If IL-2 records the mission as failed or incomplete, the tracker can detect that unsuccessful last mission (but it is in the tracker) and remove it from the campaign state via the cleanup function (part of the tracker). In that case, the mission will no longer remain as a completed entry in the tracker and can be flown again until it is successfully completed.
image.png.0ec2a5136db8354364dc5c70950c17a1.png

In short: successful missions stay in the tracker, unsuccessful ones can be cleaned up and replayed. The actual unlocking of the next mission is still controlled by IL-2 itself, not by the tracker.

Edited by Arrow_1974
  • Like 1
Arrow_1974
Posted

@OSIW
 

I looked into this in some depth and came to the conclusion that gun accuracy cannot be calculated reliably from IL-2 mission reports.

The main problem is that the mission log does not provide a true “shots hit” counter. It gives us ammo values at mission start and mission end, so rounds fired can often be derived from the BUL difference. But on the impact side, the report only contains hit-related and damage-related events, and these are not a clean one-projectile-to-one-hit model.

In practice, one fired round can lead to multiple downstream records. A bullet may strike an aircraft and then produce several damage entries as different parts or sections are affected. In addition, explosive effects can generate further nearby hit-style events. Because of that, the numerator is ambiguous even when the ammo denominator looks normal.

I verified this on actual mission reports. In one example, the report showed perfectly plausible ammo consumption, but the hit-event count was still higher than the rounds fired, resulting in an apparent accuracy above 100%. The underlying event structure itself is not suitable for a trustworthy accuracy percentage.

So the short version is:

  • rounds fired can often be estimated from start/end ammo
  • true shots landed cannot be extracted reliably from the mission report
  • hit and damage events are useful for debriefing context, but not for a defensible gun-accuracy calculation

For that reason I decided not to implement gun accuracy. It was simply too ambiguous and could be misleading.

  • Like 1
  • Sad 1
Posted

Ok. Well, thanks for looking into it.

Arrow_1974
Posted

@OSIW and all others:
 

I have been looking into the whole accuracy topic in more detail again (it didn't give me a rest) and I think I now have a better proposal.

As already mentioned in my previous post: The main issue is that true firing accuracy cannot be calculated reliably from IL-2 mission reports. The logs do give us ammo values at mission start and mission end, but on the impact side they only provide hit-related and damage-related events. Those are not a clean one-projectile-to-one-hit model. A single round can lead to multiple downstream records, especially with explosive effects or when several aircraft sections are affected. Because of that, classic “accuracy %” is too ambiguous and can even produce misleading values.

What does seem much more robust is not accuracy, but effectiveness.

My proposal would therefore be not to incorporate accuracy but weapon effectiveness, based on actual damage caused per expended weapon:

  • Guns:
    gun effectiveness = total gun damage * 100 / rounds fired
    This would effectively mean % damage per shot

  • Bombs:
    bomb effectiveness = total bomb damage * 100 / bombs dropped
    This would mean % damage per bomb (which can exceed 100% as one bomb can damage/destroy) multiple targets

  • Rockets:
    rocket effectiveness = total rocket damage * 100 / rockets fired
    This would mean % damage per rocket (which can exceed 100% as one rocket might damage/destroy) multiple targets

So instead of pretending we know exactly how many bullets or shells hit, we would simply measure how much actual effect the expended ammunition produced.

One more important point: I was also able to identify the unlimited-ammo setting in the mission report SETTS bitfield. Comparing otherwise similar reports with unlimited ammo on and off shows a stable one-bit difference at the same position. So if unlimited ammo is enabled, the tracker can detect that and in that case no effectiveness stats for guns, bombs, or rockets would be displayed at all, because the ammo expenditure is no longer trustworthy.

So in short, the idea would be:

  • no classic “accuracy %”
  • instead: effectiveness based on damage caused per expended weapon
  • and if unlimited ammo is on: no effectiveness stats displayed

I think this would be much more honest and much less confusing than an accuracy concept.

If you like the idea, I can implement it that way.

  • Like 1
  • Upvote 3
Posted
2 hours ago, Arrow_1974 said:

@OSIW and all others:
 

I have been looking into the whole accuracy topic in more detail again (it didn't give me a rest) and I think I now have a better proposal.

As already mentioned in my previous post: The main issue is that true firing accuracy cannot be calculated reliably from IL-2 mission reports. The logs do give us ammo values at mission start and mission end, but on the impact side they only provide hit-related and damage-related events. Those are not a clean one-projectile-to-one-hit model. A single round can lead to multiple downstream records, especially with explosive effects or when several aircraft sections are affected. Because of that, classic “accuracy %” is too ambiguous and can even produce misleading values.

What does seem much more robust is not accuracy, but effectiveness.

My proposal would therefore be not to incorporate accuracy but weapon effectiveness, based on actual damage caused per expended weapon:

  • Guns:
    gun effectiveness = total gun damage * 100 / rounds fired
    This would effectively mean % damage per shot

  • Bombs:
    bomb effectiveness = total bomb damage * 100 / bombs dropped
    This would mean % damage per bomb (which can exceed 100% as one bomb can damage/destroy) multiple targets

  • Rockets:
    rocket effectiveness = total rocket damage * 100 / rockets fired
    This would mean % damage per rocket (which can exceed 100% as one rocket might damage/destroy) multiple targets

So instead of pretending we know exactly how many bullets or shells hit, we would simply measure how much actual effect the expended ammunition produced.

One more important point: I was also able to identify the unlimited-ammo setting in the mission report SETTS bitfield. Comparing otherwise similar reports with unlimited ammo on and off shows a stable one-bit difference at the same position. So if unlimited ammo is enabled, the tracker can detect that and in that case no effectiveness stats for guns, bombs, or rockets would be displayed at all, because the ammo expenditure is no longer trustworthy.

So in short, the idea would be:

  • no classic “accuracy %”
  • instead: effectiveness based on damage caused per expended weapon
  • and if unlimited ammo is on: no effectiveness stats displayed

I think this would be much more honest and much less confusing than an accuracy concept.

If you like the idea, I can implement it that way.

Seems to be a decent idea.

I was wondering how the classic % accuracy would work with bombs anyways, if you managed to get it working. In this regard your idea seems rather elegant.

Arrow_1974
Posted

Ok guys - weapon effectiveness is implemented.
The new formulas are:

  • Guns:
    total gun damage * 100 / rounds fired (start ammo - end ammo)
    This is shown as % damage per shot

  • Bombs:
    total bomb damage * 100 / bombs dropped
    This is shown as % damage per bomb

  • Rockets:
    total rocket damage * 100 / rockets fired
    This is shown as % damage per rocket


Latest Download: Tracker with weapon effectivenss

image.png.9d3c39e6c5e097098676b32f1910cc51.png

Please don't blame me for those stats. That was my first mission I have ever flown in an I-16 (normally I fly BF-109, FW190). I wasn't aware that it takes forever to lower the landing gear, therefore this crash landing....😵‍💫🤣

if unlimited ammo is enabled, no effectiveness stats are shown at all.

The display is also context-sensitive:

  • gun effectiveness is shown only if guns were actually fired
  • bomb effectiveness is shown only if bombs were actually dropped
  • rocket effectiveness is shown only if rockets were actually fired
    --> if a weapon category was not used in the mission, it is not displayed
  • Thanks 4
Varibraun
Posted

@Arrow_1974 - Probably been answered before, but I have come a little late to the party on this wonderful app, so I wanted to ask if your "rank_promotion_checker" is now running automatically in the service record or do I still need to start it as a separate program?  Thank you again for all you have done!

Arrow_1974
Posted

@Varibraun: Short answer: Yes - as of now - you need to run the rank mod separately. But @joker_BR created a wonderful program (Game Companion) that lets you start (and close) automatically whatever program you want with e.g. the start of IL-2. I am using this program (again, it is really nice work) and I am starting Voice Attack, the rank mod, TrackIR and the Campaign tracker with this helper when I am starting IL-2. Have a look here for more details:

 

  • Thanks 1
JG123410
Posted

Thank you for this!

My apologies if this was already discussed.

If I fly 2 or 3 different user made campaigns (but both for the Luftwaffe and flying the BF-109) will this program treat that as a single career and award medals based on kills across all three campaigns.

-JG123410.

Posted
38 minutes ago, JG123410 said:

Thank you for this!

My apologies if this was already discussed.

If I fly 2 or 3 different user made campaigns (but both for the Luftwaffe and flying the BF-109) will this program treat that as a single career and award medals based on kills across all three campaigns.

-JG123410.

No, each campaign with an individual campaign folder is a different campaign for the tracker.

But you can in general combine missions of different campaigns in one folder (if they are not too complex with special scripts, mods, ...).

But they must be named in the correct way that the order is correct.

In my bigger campaigns I use always a uniform naming with YYYY-MM-DDa-ToW-planetype...

e.g. in my Luftwaffe 1940-45:

BoF -> BoB:

image.png.0c6a4b6ba3988c42751aa2029ba36a8c.png

BoB -> 1941 Odessa:

image.png.3f5574e96e7ccbba4e6e99bdbb321661.png

 

 

  • Thanks 2
JG123410
Posted

Thanks @kraut1!  That’s good information. Much appreciated. 

  • Like 1
Arrow_1974
Posted (edited)

Picking up the idea from @ziher (AI generated stories for PWCG) I’ve added a new optional feature in the tracker: AI Stories for the Career Service Record.

Download here: Tracker with AI storybook for Career mode

The goal is to turn your mission history into a continuous storybook. Each generated chapter uses your real mission results, squadron context, campaign timeline, and career progression (including promotions and awards when they occur).

What it does

  • Generates one narrative chapter per mission (career mode, campaign mode YET NOT  IMPLEMENTED)
  • Keeps continuity across missions via rolling narrative memory
  • Uses real mission/career data from your tracker files
  • Applies historical squadron/date context when available
  • Supports collapsible chapter view in the Service Record

Important: fully optional

AI Stories are disabled by default and entirely optional.
If you do not enable it, nothing changes and there are no API costs. Also no costs occur when you enable it but don't use the "Generate Missing Stories" button.

How to enable

  1. Open Settings Manager
  2. In General tab:
    • set Enable AI Stories = True
    • paste your OpenAI API key
    • choose model (gpt-5-mini or gpt-5)
  3. Use Test Connection to verify your key
  4. Open Career Service Record and generate stories
  5. I recommend to leave "Generate stories automatically" on "False". If set to true, it auto-triggers generation on load and then proceeds chapter-by-chapter until done for that career. It does this in small batches (currently 1 per request), but auto mode will keep going when there are no chapters yet, so effectively it builds the whole career over time in one visit.

image.png.1e14f6fc9dbf4afa9e10acdabd1ba25b.png

API key page:
https://platform.openai.com/api-keys

Pricing (rough per generated chapter)

Current API pricing differs by model. In this feature, one chapter generation includes:

  • story generation call
  • memory update call

Typical rough cost per chapter:

  • gpt-5-mini: about $0.0019–$0.0031 per chapter
    (about 0.19–0.31 cents)--> a career with e.g. 100 missions would cost ~$2-$3

  • gpt-5: about $0.0094–$0.0153 per chapter
    (about 0.94–1.53 cents) -> a career with e.g. 100 missions would cost ~$10-$15

So gpt-5 is roughly 5x more expensive, but usually gives more polished prose.

Notes

  • Changing the tracker language (NOT the career language) later affects only newly generated chapters (existing ones are not back-translated)
  • If unlimited ammo or mission data is missing, normal tracker safeguards still apply as before
  • Uninstall now includes an explicit keep/remove choice for Service Record data, including AI story chapters

Example of 2 stories (generated using GPT-5)
image.png.e592ef292b8e5aa382c98e675f44e8e7.png

and the next two consecutive stories (generated using GPT5-mini )
image.png.32b3d4e2b5ff8e9b9babebf0e1f50a7c.png

 

Please let me know, if you also want to have that (optional) feature for the Campaign Service record.

Edited by Arrow_1974
  • Like 1
  • Thanks 5
Posted
7 minutes ago, Arrow_1974 said:

Picking up the idea from @ziher (AI generated stories for PWCG) I’ve added a new optional feature in the tracker: AI Stories for the Career Service Record.

Download here: Tracker with AI storybook for Career mode

The goal is to turn your mission history into a continuous storybook. Each generated chapter uses your real mission results, squadron context, campaign timeline, and career progression (including promotions and awards when they occur).

What it does

  • Generates one narrative chapter per mission (career mode, campaign mode YET NOT  IMPLEMENTED)
  • Keeps continuity across missions via rolling narrative memory
  • Uses real mission/career data from your tracker files
  • Applies historical squadron/date context when available
  • Supports collapsible chapter view in the Service Record

Important: fully optional

AI Stories are disabled by default and entirely optional.
If you do not enable it, nothing changes and there are no API costs. Also no costs occur when you enable it but don't use the "Generate Missing Stories" button.

How to enable

  1. Open Settings Manager
  2. In General tab:
    • set Enable AI Stories = True
    • paste your OpenAI API key
    • choose model (gpt-5-mini or gpt-5)
  3. Use Test Connection to verify your key
  4. Open Career Service Record and generate stories
  5. I recommend to leave "Generate stories automatically" on "False". If set to true, it auto-triggers generation on load and then proceeds chapter-by-chapter until done for that career. It does this in small batches (currently 1 per request), but auto mode will keep going when there are no chapters yet, so effectively it builds the whole career over time in one visit.

image.png.1e14f6fc9dbf4afa9e10acdabd1ba25b.png

API key page:
https://platform.openai.com/api-keys

Pricing (rough per generated chapter)

Current API pricing differs by model. In this feature, one chapter generation includes:

  • story generation call
  • memory update call

Typical rough cost per chapter:

  • gpt-5-mini: about $0.0019–$0.0031 per chapter
    (about 0.19–0.31 cents)--> a career with e.g. 100 missions would cost ~$2-$3

  • gpt-5: about $0.0094–$0.0153 per chapter
    (about 0.94–1.53 cents) -> a career with e.g. 100 missions would cost ~$10-$15

So gpt-5 is roughly 5x more expensive, but usually gives more polished prose.

Notes

  • Changing the tracker language (NOT the career language) later affects only newly generated chapters (existing ones are not back-translated)
  • If unlimited ammo or mission data is missing, normal tracker safeguards still apply as before
  • Uninstall now includes an explicit keep/remove choice for Service Record data, including AI story chapters

Example of 2 stories (generated using GPT-5)
image.png.e592ef292b8e5aa382c98e675f44e8e7.png

and the next two consecutive stories (generated using GPT5-mini😞
image.png.32b3d4e2b5ff8e9b9babebf0e1f50a7c.png

 

Please let me know, if you also want to have that (optional) feature for the Campaign Service record.

This could be really great!🙂, Thank you very much!

But we have since some weeks so many great new features, that it is difficult to keep the overview and to try out everything.

-I suggest that you keep a Download of "basic version" of the "Tracker and Service Record" that is only updated from time to time with few optimizations, bug fixes.
-And additionally alternativ versions with the new features.

Arrow_1974
Posted

@kraut1: Sorry - I always overwrite the previous version - so no basic version. The AI story feature is purely optional and doesn't have any influence on the tracker functionality itself. But moving forward I will follow your advise. So the current version is the "BASIC" version that  will be updated when bugs occur. Possible new features will get new download links.

  • Thanks 1
Posted (edited)

What a cool addition to the program  @Arrow_1974.   The Ai stories add another  dimension and feel to the career.  It certainly feels  more personal, and I feel invested in the squadron.  Nice touch.

 

EDIT:  I noticed I  had to push "Generate missing stories" a number of times to bring the narration to the current day, on a career I already started.  Not, sure if there is a way to have the program go to the last day, rather than hitting the button and waiting for every report for the entire month.  

 

EDIT: I also noticed, sometimes it puts out a 2X the story on the same day.  I'm sorry if this was intentional or not.   Just an observation.

 

Screenshot 2026-03-28 143428.jpg

Edited by VISHNU
  • Like 1

________________________

neew.pngimage.png.20f2cdc544e86e3cb5cbbe6b45864c0f.pngfinal.png

 

 

 

 

 

Posted

Great to have this included directly into tracker. One suggestion, allow custom LLM string so we can choose other models than GPT.

  • Upvote 1
Arrow_1974
Posted

@VISHNU Sometimes you have more than 1 mission per day. Each mission = 1 story. 
Since it is a story book, the narrative starts at the first mission and then builds a story based on the events of the current mission and the previous missions (there is a memory.json that gets updated with each mission and is then incorporated into the the next mission). If you want to generate mission stories automatically, set  "Generate stories automatically" to True (Setting Manager)
image.png.e5107a324d3872848179c41e0d9faf0d.png

@ziher Let me have a look how "easy" it would be to incorporate e.g. Gemini, Anthropic ...or do you have some other LLM in mind?

  • Like 1
  • Thanks 1
Varibraun
Posted
On 3/28/2026 at 10:20 AM, Arrow_1974 said:

Picking up the idea from @ziher (AI generated stories for PWCG) I’ve added a new optional feature in the tracker: AI Stories for the Career Service Record.

Holy crap Arrow - you are a wizard!  What an amazing feature to add so quickly, I hope to try this out today.  Thanks to @ziher for planting the idea too!

@LukeFF - I don't know if you have been following this thread, but @Arrow_1974 has added some real life to the career (and campaigns) for SP and I think it deserves to to be PINNED here with some of the other excellent 3rd party contributions.  Thank you! 

  • Like 2
  • Thanks 1
Posted
3 hours ago, Arrow_1974 said:

@VISHNU Sometimes you have more than 1 mission per day. Each mission = 1 story. 
Since it is a story book, the narrative starts at the first mission and then builds a story based on the events of the current mission and the previous missions (there is a memory.json that gets updated with each mission and is then incorporated into the the next mission). If you want to generate mission stories automatically, set  "Generate stories automatically" to True (Setting Manager)
image.png.e5107a324d3872848179c41e0d9faf0d.png

@ziher Let me have a look how "easy" it would be to incorporate e.g. Gemini, Anthropic ...or do you have some other LLM in mind?

Very cool, thanks for the explanation @Arrow_1974.   I did notice that, and assumed that would be the answer.   The $5 per 500ish stories is a pittance to pay for this little add on.   It certainly adds depth to the experience, and since PWCG is in hiatus, this scratches the itch for me.

2 hours ago, Varibraun said:

Holy crap Arrow - you are a wizard!  What an amazing feature to add so quickly, I hope to try this out today.  Thanks to @ziher for planting the idea too!

@LukeFF - I don't know if you have been following this thread, but @Arrow_1974 has added some real life to the career (and campaigns) for SP and I think it deserves to to be PINNED here with some of the other excellent 3rd party contributions.  Thank you! 

IE:  The stand alone cockpit picture generator that @Arrow_1974 and I made as well, @LukeFF.  

giphy.gif

  • Upvote 1

________________________

neew.pngimage.png.20f2cdc544e86e3cb5cbbe6b45864c0f.pngfinal.png

 

 

 

 

 

Posted (edited)
5 hours ago, Arrow_1974 said:

@VISHNU Sometimes you have more than 1 mission per day. Each mission = 1 story. 
Since it is a story book, the narrative starts at the first mission and then builds a story based on the events of the current mission and the previous missions (there is a memory.json that gets updated with each mission and is then incorporated into the the next mission). If you want to generate mission stories automatically, set  "Generate stories automatically" to True (Setting Manager)
image.png.e5107a324d3872848179c41e0d9faf0d.png

@ziher Let me have a look how "easy" it would be to incorporate e.g. Gemini, Anthropic ...or do you have some other LLM in mind?

Openrouter support with option of pasting model string into custom field, ie:
openai/gpt-5-mini

Maybe dropdown to choose between OpenAI and OpenRouter.

Other LLMs that i would prefer over GPT:
x-ai/grok-4.20-beta (best suited for german campaigns since minimal censorship)
x-ai/grok-4.1-fast (same as above but very cheap)
google/gemini-2.0-flash-001 (dirt cheap with good prose)
anthropic/claude-sonnet-4.6 (smart but expensive)
deepseek/deepseek-r1-0528 (capable without 'western' bias, should work well for Soviet campaigns)

but since new models on openrouter come out almost daily and there's plenty of other models to choose from, having ability to use any of them would be great.

Maybe also prompt exposure so users can tweak them to their liking.

Edited by ziher
  • Like 1
Varibraun
Posted
On 3/28/2026 at 10:20 AM, Arrow_1974 said:

Please let me know, if you also want to have that (optional) feature for the Campaign Service record.

After spending the past 2 hours just generating and reading chapters for my past flights in two of my ongoing careers, YES please!  (FC would be nice too if there is enough interest).

I know we all enjoy this game differently, but for me (with over 3000 hours), you and @ziher have just added a whole new world with this feature coupled with your career flight tracker.  This AI dynamic & developing diary/story feature brings color and life to both the missions and squadron.  The "reflections" about previous hard landings (yeah, I forgot to lower the gear one time and you won't let me forget it...lol), medals, victories, promotions, and lost squadron members is well done.  The detail you have it pulling out of the logs is also surprising to me (see the mission below where I took down a couple of transports and decided to shoot up a cargo parachute).  Total cost for generating a diary in the Full Chat-GPT for 22 missions is only $1.21 (so less than .06 per mission).

I don't know if there is a way to add all of the stories & stats to a pdf, but as someone who only plays "Iron Man," I would love to be able to memorialize my best pilots' exploits in a way that the saved career doesn't allow.  Bottom line - THANK YOU BOTH!!

Mission detail that surprised me:

image.png.96915ad459907d42222681bf5a8a2db3.png

  • Like 2
Arrow_1974
Posted

Just a quick heads-up:

I’m currently working on adding support for multiple AI providers/models (as requested by @ziher).

On top of that, I’m implementing AI-generated stories for campaigns as well. That one’s a bit trickier since the data available there isn’t nearly as rich as in careers, so it takes a bit more effort to get meaningful results.

And lastly, I’m working on generating PDFs for careers (as requested by @Varibraun).

I’ll keep you posted once everything is implemented and reasonably tested (at least as far as I can cover it on my end), and then I’ll push an updated version.

Progress has been solid so far—I expect to have an update ready already this week.

Stay tuned 👍

  • Like 1
  • Thanks 2

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...