Jump to content
IL-2 Series Forum

Recommended Posts

AeroCrab
Posted
5 hours ago, sandmarken said:

Most likely an issue of crosswind. The AI struggles on takeoff if the crosswind is too high (more than 2-3m/s).

That certainly could be the case, although I have to imagine that the wind direction is also a contributing factor. I've got an old Ju52 mission created by... somebody, that had a magnificent crosswind speed, but the direction isn't super "crossy". Anyway, I'm sure you are right - it occurred to me that my version of PWCG has been modified to mostly choose wind directions near that of the runway, so my test case is not very representative.

nt55551
Posted (edited)
12 hours ago, AeroCrab said:

@nt55551 I just tried generating a Stalingrad Ju52 mission in PWCG, flying out of Frolov, and everybody took off with out a problem (well, everybody but me until a bit of control re-mapping), and I flew it a couple of times. What airfield is your mission from? It is possible that the field has an off-center starting point that could be messing things up - if you tell me, I'll have a look.

During the Stalingrad pocket / Airlift in PWCG in The JU 52 squadron flies out of Zyraninsky. I tried setting the maximum wind speed to 0 m/s, 1 m/s, and 2 m/s and no dice. Lead aircraft starts to take off then turns and clips its wing on the ground.

I think maybe the takeoff waypoints arent giving it enough time to get altitude before the AI has to turn sharply. I can't really adjust it because you cannot move the position of the "rendezvous" waypoint which is usually really close to the airbase. They takeoff heading south then instantly need to turn to the east before they've gotten enough speed. It might work fine if they were given a couple minutes of straightaway to climb. Not sure. 

Unfortunately there's no other airbase that JU 52s fly out of during the airlift in PWCG

Edited by nt55551
Posted

Hello everyone

Does anyone know if I can choose the plane I want to be assigned to? 

I only own Bodenplatte and I keep getting assigned to a P51B/C instead of the P51D I own.


I usually don't make my own posts and look for answers instead but maybe I'm using the wrong keywords and can't find an answer to this thanks!

Aapje
Posted

In the campaign you get one of the planes that the unit has. If the unit has both planes and you want to choose which one to get, you can start the campaign as commander.

 

AeroCrab
Posted

@nt55551 In the campaign advanced settings under "flight" there are entries for Takeoff Waypoint Altitude and Takeoff Waypoint Distance. The defaults are 500m and 5000m respectively (I have mine at 500 and 3000 for BoX) - is there any chance those might have been modified somehow? That's all I can think of given what you are describing, as unlikely as it seems (I figure you'd know if you had changed them). 

I've generated what I hope is an analogous mission and I'm still not having a problem. I've attached it here in case you want to have a look and see if the issue is something system-specific, although I can't guarantee it will work at all for you as I have some mods (as well as a completely different version of PWCG, unfortunately). 

Ju52Test.zip

Koziolek
Posted (edited)
11 hours ago, Aapje said:

In the campaign you get one of the planes that the unit has. If the unit has both planes and you want to choose which one to get, you can start the campaign as commander.

 

True for a career, but in PWCG you can change an aircraft even with a lower rank. Just click on your aircraft in an Assigned Pilots tab. Of course there must be other planes available in your unit

Just a quick example

image.png.0af740b7a2d0b3bd1a924435861ad452.png

 

 

 

Edited by Koziolek
  • 2 weeks later...
SE.VH_DARK-BR
Posted

Hey everyone, I wanted to know if it would be possible in the future for PWCG to include the aircraft and campaigns of Leningrad and Odessa. I'd really like to know, or will it only focus on bug fixes? (Sorry about my English, I'm not very good at it and I'm not very up-to-date on PWCG or the latest news about this IL-2 app/mod)

AcesDarthBubu
Posted
18 hours ago, SE.VH_DARK-BR said:

Hey everyone, I wanted to know if it would be possible in the future for PWCG to include the aircraft and campaigns of Leningrad and Odessa. I'd really like to know, or will it only focus on bug fixes? (Sorry about my English, I'm not very good at it and I'm not very up-to-date on PWCG or the latest news about this IL-2 app/mod)

the main author for the mod is no longer actively maintaining it. So chances are slim, unless he is actively develop the mod again. 

  • Upvote 1
elephant
Posted (edited)

I've been absent for a long long time, is there a form to assign skins to Aces in PWCGFC?

I'm playing a Jasta 16b Campaign, testing my latest Albatros' skins and wanted to add the famous Otto Kissenberth's Edelweiss. 

I tried adding this text in the correspondent data file in the Aces folder but after the input, PWCGFC does not open.

This is the text I added: 

  "name": "Otto Kissenberth",
  "serialNumber": 101139,
  "rank": "",
  "picName": "",
  "pilotActiveStatus": 0,
  "country": "GERMANY",
  "missionFlown": 0,
  "aggressiveness": 0,
  "aiSkillLevel": "ACE",
  "skill": 4,
  "commonSense": 0,
  "skins": [
                 {
            "skinName": "AD5_J16b_May17_Kissenberth",
            "planeType": "albatrosd5",
            "archTypes": [],
            "startDate": "19170601",
            "endDate": "19171015",
            "squadId": 401016,
            "country": "Germany",
            "category": "Squadron",
            "definedInGame": false,
            "winter": false,
            "useTacticalCodes": false,
            "tacticalCodeType": "CODE_POSITION_ONE",
            "tacticalCodeColor": "BLACK"
        },
        {
            "skinName": "AD5_J16b_Oct17_Kissenberth",
            "planeType": "albatrosd5",
            "archTypes": [],
            "startDate": "19171001",
            "endDate": "19180405",
            "squadId": 401016,
            "country": "Germany",
            "category": "Squadron",
            "definedInGame": false,
            "winter": false,
            "useTacticalCodes": false,
            "tacticalCodeType": "CODE_POSITION_ONE",
            "tacticalCodeColor": "BLACK"
        },
         Any suggestions?

Edited by elephant
Kukulo
Posted

Try AI. I tried with Codex add 310. Czechoslovak squadron to PWCG and it worked. Codex added skins too. With free Codex version. 

AeroCrab
Posted

@elephant You don't have the whole thing shown, so it is a bit hard to say but that final comma after the brace is a problem if that really is the last skin being defined. With the comma in place, the code expects another one.

elephant
Posted

Thanks AeroCrab, but the comma was already there, I just added the skin text taken from the Jasta 16b data file, in the Squadron folder.

Here is the original text:

  "name": "Otto Kissenberth",
  "serialNumber": 101139,
  "rank": "",
  "picName": "",
  "pilotActiveStatus": 0,
  "country": "GERMANY",
  "missionFlown": 0,
  "aggressiveness": 0,
  "aiSkillLevel": "ACE",
  "skill": 4,
  "commonSense": 0,
  "skins": [],
  "victories": [
    {
      "date": "19161012",
      "location": "",
      "crashedInSight": false,
      "victim": {
        "airOrGround": 1,
        "name": "",
        "type": "Farman",
        "squadronName": "",
        "pilotSerialNumber": 0,
        "pilotName": "Unknown",
        "pilotStatus": 0,
        "isGunner": false
      },

elephant
Posted (edited)

Could it be the wrong category?

The entry,  "category": "Squadron", should be  "category": "Aces", 

 

PS I tried the above edit,  with the same results, unfortunately, PWCGFC does not open.

Opens when I restore the original file.

 

Edited by elephant
AeroCrab
Posted (edited)
7 hours ago, elephant said:

            "tacticalCodeType": "CODE_POSITION_ONE",
            "tacticalCodeColor": "BLACK"
        },  <== This one

I meant the above comma, not the one at the end of '"skins":[],'

For whatever it is worth, I copy-pasted your two skin designations (minus the trailing comma) into my local ace file and everything started up without an issue. If that still doesn't work for you and you want to post your version of the file, I can have a look at it.

<edit> As far as I can tell, the category field is only used for a bit of skin-selection UI stuff. The actually important field is "squadId" - for personal skins like this one, that should be -1. See Hermann Graf's file for an example of how things should be.

 

Edited by AeroCrab
  • Like 1
elephant
Posted

I'll try it, thank you! 😁

Posted

Hello,

I'm playing PWCG with Flying Circus 1, III in January 1916. I'm getting the following error when trying to generate a mission:

 

Quote

Mon May 25 10:57:37 EDT 2026
pwcg.core.exception.PWCGException: No definition found for request Country = GERMANY     Date = 19161207     Class = Tank
    at pwcg.mission.ground.vehicle.VehicleDefinitionManager.getVehicleDefinitionForRequest(VehicleDefinitionManager.java:125)
    at pwcg.mission.ground.vehicle.VehicleFactory.createVehicle(VehicleFactory.java:17)
    at pwcg.mission.ground.unittypes.GroundUnitSpawningVehicleBuilder.createVehicleToSpawn(GroundUnitSpawningVehicleBuilder.java:26)
    at pwcg.mission.ground.org.GroundUnit.createVehicles(GroundUnit.java:302)
    at pwcg.mission.ground.unittypes.infantry.GroundAssaultTankUnit.createGroundUnit(GroundAssaultTankUnit.java:27)
    at pwcg.mission.ground.unittypes.infantry.AssaultGroundUnitFactory.createAssaultTankUnit(AssaultGroundUnitFactory.java:30)
    at pwcg.mission.ground.builder.AssaultSegmentBuilder.defendingTanks(AssaultSegmentBuilder.java:243)
    at pwcg.mission.ground.builder.AssaultSegmentBuilder.defendingATCapability(AssaultSegmentBuilder.java:224)
    at pwcg.mission.ground.builder.AssaultSegmentBuilder.createDefenders(AssaultSegmentBuilder.java:186)
    at pwcg.mission.ground.builder.AssaultSegmentBuilder.generateAssaultSegment(AssaultSegmentBuilder.java:53)
    at pwcg.mission.ground.builder.AssaultBuilder.generateAssault(AssaultBuilder.java:38)
    at pwcg.mission.ground.MissionBattleBuilder.generateAssaultsAtLocations(MissionBattleBuilder.java:75)
    at pwcg.mission.ground.MissionBattleBuilder.generateLandBattles(MissionBattleBuilder.java:54)
    at pwcg.mission.ground.MissionBattleBuilder.generateBattle(MissionBattleBuilder.java:42)
    at pwcg.mission.ground.MissionGroundUnitBuilder.generateBattle(MissionGroundUnitBuilder.java:85)
    at pwcg.mission.ground.MissionGroundUnitBuilder.generateGroundUnitsForMission(MissionGroundUnitBuilder.java:55)
    at pwcg.mission.Mission.createGroundUnits(Mission.java:178)
    at pwcg.mission.Mission.generate(Mission.java:103)
    at pwcg.mission.MissionGenerator.buildMission(MissionGenerator.java:144)
    at pwcg.mission.MissionGenerator.makeMission(MissionGenerator.java:48)
    at pwcg.gui.campaign.home.GuiMissionInitiator.makeMission(GuiMissionInitiator.java:38)
    at pwcg.gui.campaign.mission.MissionGeneratorHelper.showBriefingMap(MissionGeneratorHelper.java:28)
    at pwcg.gui.campaign.mission.CampaignMissionScreen.generateMission(CampaignMissionScreen.java:181)
    at pwcg.gui.campaign.mission.CampaignMissionScreen.createSinglePlayerMission(CampaignMissionScreen.java:156)
    at pwcg.gui.campaign.mission.CampaignMissionScreen.actionPerformed(CampaignMissionScreen.java:128)
    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
    at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
    at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.desktop/java.awt.Component.processEvent(Unknown Source)
    at java.desktop/java.awt.Container.processEvent(Unknown Source)
    at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Unknown Source)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
    at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Unknown Source)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
 

 

Varibraun
Posted

@sc275 The short answer is that I don't know, and the developer Pat Wilson told us a while back that he needed to focus on RL and hasn't been around to answer these types of questions.  There are others who understand the code who may give you a better answer, but below is AI's (Gemini) answer (I hope it is of some help to you):

To correct this error, you need to update your version of the Pat Wilson Campaign Generator (PWCG). [1]
Why This Error Happens
The error code PWCGException: No definition found for request Country = GERMANY Date = 19161207 Class = Tank is a database mismatch bug. PWCG is attempting to spawn an active front-line German land battle (assault) for your Flying Circus campaign on December 7, 1916, but the generator's internal configuration files do not have any German tank units defined for that early in the war (as historical German tank development did not field vehicles until later). [1]
How to Fix It
  1. Update PWCG to the Latest Version
    This database issue—where PWCG accidentally triggers tank battles or tank-related victories prior to late 1917—was officially patched by the developer. Download and install the latest version from the Official IL-2 Sturmovik Forum PWCG Thread.
  2. Temporarily Bypass the Battle (If you cannot update)
    If you want to rescue your current campaign turn immediately without updating, you can temporarily disable ground battles in your campaign configuration so the generator stops looking for 1916 German tanks:
    • Open the PWCG user interface.
    • Go to Advanced Configuration -> Campaign Config.
    • Locate the settings for ground battle intensity or ground unit spawning.
    • Turn Ground Density or Battle Intensity down to 0 or None.
    • Generate your mission (it should now pass the December 1916 date safely).
    • Once your campaign date advances past the missing data window, you can turn ground battles back on.
  3. Scrub and Regenerate the Mission
    If the campaign screen is frozen or stuck on the briefing generation:
    • Click Scrub Mission on the campaign home screen.
    • Apply the update or configuration change noted above.
    • Click Generate Mission again. [1, 2, 3]
If you are already on the latest version, let me know which version number you are running and if you are using any custom mods or data files.
  • Like 1
AeroCrab
Posted

@sc275 This is a bug in the assault generation where the code mistakenly tries to create a defensive tank when none exist in the timeframe - the bug is mostly just a swap of assaulting and defending in a critical spot, so it goes "ah, I see that we have British tanks so I will now try to create German ones". So far as I am aware, I don't believe Pat patched that, but I could be wrong and the advice to make sure you are on the latest version is good. Beyond that, there are two things you can do:

1) Just generate a new mission. There is a 20% chance of "defender tank" so the odds are not bad that you'll miss the bug the next time around.

2) Break from history and extend the timeframe of the A7V (the German tank) to include all start dates available to Allied tanks.

In the Gemini stuff above, I don't think the bit about the ground density config is true - I believe the code always generates a battle no matter what this setting is. Even if it were true, though, that would be a good long wait - the A7V doesn't (as installed) appear until March of 1918.

If you want to go with option #2, go to PWCGFC\FCData\Input\Vehicles\a7v.json, open it in any text editor and you'll see a line:

 "startDate": "19180301",
 

Change that to:

  "startDate": "19161001",
 

which corresponds to the earliest Allied tank. Note that I've never actually done this myself, so it is possible that this will cause other problems - I recommend keeping a backup of a7v.json just in case.

  • Like 2
Posted

Thanks for the answers @Varibraun @AeroCrab ! Makes sense why it went away when I hit the Mission button a second time. 

Posted
On 5/24/2026 at 11:26 PM, AeroCrab said:

I meant the above comma, not the one at the end of '"skins":[],'

For whatever it is worth, I copy-pasted your two skin designations (minus the trailing comma) into my local ace file and everything started up without an issue. If that still doesn't work for you and you want to post your version of the file, I can have a look at it.

<edit> As far as I can tell, the category field is only used for a bit of skin-selection UI stuff. The actually important field is "squadId" - for personal skins like this one, that should be -1. See Hermann Graf's file for an example of how things should be.

 

I tried the Hermann Graf example for Otto Kissenberth at FC,  still the skin does not show up...

What am I doing wrong this time?

I checked the dates, the spelling of the skin's name they are all correct.

Spoiler

DesktopScreenshot2026_05.27-00_55_13_15.jpeg.cfaa030dec911edb2712c4c439154320.jpeg

 

Posted

But it did start up, right?

I think the answer to your question is "nothing," but the change isn't taking effect in your active campaign - if you were to start a new campaign, I think it would work. In an active campaign, there is a file called "CampaignAces.json" (in the "user/Campaigns/<campaign name>" folder, if I remember correctly) that has the active campaign's version of this info. I think you'd need to find Otto's information there and add the exact same skin entries. 

Unfortunately (for this discussion) my version of PWCG doesn't do any of this anymore so I can't directly verify that, but I'm pretty sure it is the case. 

Oh, you'll also need to change "definedInGame" for both skins to false - that field means "comes with the game" and you are adding those skins yourself. I should have mentioned that when I referenced the Hermann Graf stuff - his skins actually are in the game. I don't think this would actually affect anything other than the skin analyzer, but it is probably best to have it right anyway.

Posted (edited)

Thank you, for everything!

Yes that comma was blocking PWCGFC from openning, it works now.

I'll try with the suggested changes in a new Campaign and see what happens...

<edit> Nothing happened, the custom ace skin doesn't show...

Edited by elephant
Posted

I've been away for awhile. My version of PWCG is 17.1.1. Is that the latest? If not what is the latest, and how do I download the current version?

Thanks for any help.

Posted

Hi! Pretty new to PWCG and IL-2 in general, but was wondering if anyone knows how to change your squadron in USAAF campaigns? When I create the campaign I can choose my Fighter Group, but I don't see any way to change my squadron or squadron codes. I was doing a 352nd FG campaign and wanted to do 487th FS with the squadron code of "HO", but seem to be stuck with the 486tg FS and code of "PZ" on my aircraft. Is there a way I can change the specific squadron or even just the squadron codes for my whole unit? Thanks!!

image (2) (14).png

Posted
9 hours ago, jlan5031 said:

I've been away for awhile. My version of PWCG is 17.1.1. Is that the latest? If not what is the latest, and how do I download the current version?

Thanks for any help.

Yes, that's the latest one...

Pat Wilson Campaign Generator (PWCG)

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