-
Notifications
You must be signed in to change notification settings - Fork 185
Custom Factions
Frustrated that your home country is not a possible choice in DCS Liberation, or annoyed that an aircraft is missing in your favorite faction? Good news, you can now mod factions in liberation!
And these custom factions can be created easily with a text editor as a json file.
You can put your own factions configuration json files in the folder .\resources\factions or modify existing ones. Also you may place new faction files in your DCS Saved Games folder. C:\users\<your username>\Saved Games\DCS\Liberation\Factions folder will have to be created as it is not created when setting up liberation. This is the same location that you point Liberation too when setting it up for the first time.
Then restart DCS Liberation to have the faction loaded.
If there is no error, your custom faction will appear in the New Game Wizard. Please note that factions saved in your DCS saved games folder will appear at the bottom of the list and not in alphabetical order.
If there is an error with the file it will not appear, please check the content of the console output, it might contain hints about the error. First, please verify the json syntax is valid.
This json file should contain a json object, with the following parameters :
- country : The country to be used in DCS. Careful, if it is not a valid country name in DCS, the mission generation will not work.
- name : Name of the faction in DCS Liberation UI
- aircrafts : List of Aircrafts available to this faction
- awacs : List of AWACS planes available to this faction
- tankers : List of Tankers planes available to this faction
- frontline_units : List of units that will fight on the frontline
- artillery_units : List of artillery that will fight on the frontline
- infantry_units : List of infantry units that will fight on the frontline
- logistics_units : List of units used for logistics (unused for now)
- air_defenses : List of generators used for air defense groups (See the list of possible air defenses generators in annex)
- ewrs : List of ewr generators to be used for the IADS (See the list of possible ewr generators in annex)
- missiles : List of missiles generators used for missiles groups
- requirements : List of required mods for this faction to work
- aircraft_carrier : List of aircraft carriers available
- helicopter_carrier : List of helicopter carriers available
- carrier_names : List of possible name for carriers (will be picked randomly if there is more than one)
- helicopter_carrier_names : List of possible name for helicopter carriers (will be picked randomly if there is more than one)
- navy_generators : List of generators used for navy groups (See the Sam Generator possible choice at the end of this guide)
- destroyers : List of destroyers available (Will be picked randomly and used as escort for carriers)
- cruisers : List of cruisers available (unused for now)
- navy_group_count : Number of navy group to generate per control point
- missiles_group_count : Number of missiles group to generate per control point
- has_jtac : Whether this faction has access to jtac
- jtac_unit : Type of unit to use as JTAC.
- doctrine : Either "modern" for modern doctrine, "coldwar" for coldwar doctrine, or "ww2" for WW2 doctrine. Doctrine controls the altitude of flights and other flight planner AI parameters.
- building_set : Either "default" for default set, "ww2ally" for WW2 ally buildings, "ww2germany" for WW2 german building or "ww2free" for a ww2 building set that does not require the WW2 asset pack.
- liveries_overrides : List of aircraft and liveries to set. It is possible to have multiple liveries for aircraft, and Liberation will pick one out of the list randomly. The livery must be available to the country set in order to appear. If the livery doesn't show up in Mission Editor for that country, it won't show up in your Liberation mission either.
Note :
I highly recommend you look at the default files provided in DCS Liberation for examples. All parameters have default values, so you do not have to set them all up necessarily.
When changing a livery, if an aircraft is a Core DCS aircraft or module such as the MiG-19P, the livery must be in the Modules Liveries section and not your Saved Games folder.
It is recommended, that your faction has access to all unit types, e.g. at least one tank, one IFV, one APC and so on in order for the auto purchase option for the player and the AI to work.
New in DCS Liberation 4.0
Ground and air units are now named by the name of the unit in Liberation rather than the name in DCS. This was done so DCS updates no longer break custom factions. Previously, if ED improved the name of a unit in DCS it would require an update to custom factions. Instead the faction files now use the Liberation names so we can prevent breakages from occurring.
The names used are taken from the variants
section of the unit info files in the resources/units
directory. For example, units/aircraft/FA-18C_hornet.yaml
contains the following:
variants:
CF-188 Hornet: {}
EF-18A+ Hornet: {}
F/A-18C Hornet (Lot 20): {}
In this example, there are three variants of the DCS F/A-18C Hornet unit. These "variants" are name only. The DCS unit type will be the F/A-18C module, but the name in the Liberation UI will be whichever variant is named in the faction file. This allows a Spain faction to pretend that an EF-18A+ is available in DCS.
Ground units use the same format, but are located in resources/units/ground_units
.
Note that this currently does not apply to ships or any section that names a generator like navy groups, SAMs, EWRs, missiles, or coastal defenses. Ships will be migrated in a future release.
Below is an example of a factions file :
{
"country": "USAF Aggressors",
"name": "USAF Aggressors",
"authors": "Khopa",
"description": "<p>USAF aggresors.</p>",
"locales": [
"en_US"
],
"aircrafts": [
"A-10A Thunderbolt II",
"A-10C Thunderbolt II (Suite 3)",
"AH-64D Apache Longbow",
"AV-8B Harrier II Night Attack",
"B-1B Lancer",
"B-52H Stratofortress",
"F-117A Nighthawk",
"F-14B Tomcat",
"F-15C Eagle",
"F-15E Strike Eagle",
"F-16CM Fighting Falcon (Block 50)",
"F/A-18C Hornet (Lot 20)",
"Ka-50 Hokum",
"SH-60B Seahawk",
"Su-27 Flanker-B",
"UH-1H Iroquois"
],
"awacs": [
"E-2C Hawkeye",
"E-3A"
],
"tankers": [
"KC-130",
"KC-135 Stratotanker",
"KC-135 Stratotanker MPRS",
"S-3B Tanker"
],
"frontline_units": [
"LAV-25",
"Leopard 2A4",
"M1043 HMMWV (M2 HMG)",
"M1097 Heavy HMMWV Avenger",
"M1134 Stryker ATGM (BGM-71 TOW)",
"M1A2 Abrams",
"M2A2 Bradley"
],
"artillery_units": [
"M109A6 Paladin",
"M270 Multiple Launch Rocket System"
],
"logistics_units": [
"Truck M818 6x6"
],
"infantry_units": [
"Infantry M249",
"Infantry M4"
],
"air_defenses": [
"AvengerGenerator",
"HawkGenerator",
"PatriotGenerator"
],
"ewrs": [
"PatriotEwrGenerator"
],
"requirements": {},
"navy_generators": [
"OliverHazardPerryGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "MQ-9 Reaper",
"liveries_overrides": {
"F/A-18C Hornet (Lot 20)": [
"NAWDC black",
"NSAWC brown splinter",
"VFC-12"
],
"F-15C Eagle": [
"65th Aggressor SQN (WA) MiG",
"65th Aggressor SQN (WA) MiG",
"65th Aggressor SQN (WA) SUPER_Flanker"
],
"F-16CM Fighting Falcon (Block 50)": [
"64th_aggressor_squadron_ghost",
"usaf 64th aggressor sqn - shark",
"usaf 64th aggressor sqn-splinter"
],
"F-14B Tomcat": [
"vf-74 adversary"
]
}
}
- HawkGenerator
- ZU23Generator
- ZU23UralGenerator
- ZU23UralInsurgentGenerator
- ZU23InsurgentGenerator
- ZSU23Generator
- VulcanGenerator
- LinebackerGenerator
- RapierGenerator
- AvengerGenerator
- GepardGenerator
- RolandGenerator
- PatriotGenerator
- ChaparralGenerator
- BoforsGenerator
- FlakGenerator
- SA2Generator
- SA3Generator
- SA6Generator
- SA8Generator
- SA9Generator
- SA10Generator
- SA11Generator
- SA13Generator
- SA15Generator
- SA19Generator
- HQ7Generator
- Flak18Generator
- ColdWarFlakGenerator
- EarlyColdWarFlakGenerator
- FreyaGenerator
- AllyWW2FlakGenerator
- ZSU57Generator
- KS19Generator (Requires High Digit Sam Mode)
- SA10BGenerator (Requires High Digit Sam Mode)
- SA12Generator (Requires High Digit Sam Mode)
- SA17Generator (Requires High Digit Sam Mode)
- SA20Generator (Requires High Digit Sam Mode)
- SA20BGenerator (Requires High Digit Sam Mode)
- SA23Generator (Requires High Digit Sam Mode)
- SchnellbootGroupGenerator
- WW2LSTGroupGenerator
- UBoatGroupGenerator
- OliverHazardPerryGroupGenerator
- ArleighBurkeGroupGenerator
- RussianNavyGroupGenerator
- ChineseNavyGroupGenerator
- GrishaGroupGenerator
- MolniyaGroupGenerator
- KiloSubGroupGenerator
- TangoSubGroupGenerator
- Type54GroupGenerator
- LaCombattanteIIGroupGenerator
- BoxSpringGenerator
- TallRackGenerator
- DogEarGenerator
- RolandEwrGenerator
- FlatFaceGenerator
- PatriotEwrGenerator
- BigBirdGenerator
- SnowDriftGenerator
- StraightFlushGenerator
- HawkEwrGenerator