Giter VIP home page Giter VIP logo

skynet-iads's People

Contributors

balebaron avatar walder avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

skynet-iads's Issues

Finalise Release

add skynet-compiled to demo mission, stress test demo mission, hightdigitmod, moose a2adispatcher missions.
write release notes based on 3.0.0-develop release

doc errors:
If identified as a HARM the IADS will shut down radars 30 degrees left and -> 15 degrees
figher -> fighter

As of April 2022 I have only been able to get the SA-15 and the SA-10 to engage HARMS. -> add Patriot and NASAMS

Awacs can do EW's jobs in IADS?

Bcz EW's range too short,So can I add a Awacs instead of ground EWs let the SAM sites which out of EW range can connect to IADS.

BUG: Killing node and powersupply have no effect against SA-3 and SA-11 site

BUG
Build: Timestamp: Timestamp: 04.03.2020 23:12:30.82
Missionfile: https://www.dropbox.com/s/yaojrfw31ufmrrb/Neck_Skynet_test_v4.miz?dl=0

Was testing some new SAM sites, and I realized that after I destroyed powersupply to both my 2 SAM sites (1x SA-11 site and 1x SA-3 site), they still show as they have power, see screenshot below:

bilde

Here I have killed both node and powersupply for my SAM site, but it shows still as they have both power and node:
bilde

And same result after all powersupply and nodes are taken out for the second SAM site aswell:
bilde

Improve Point Defence reaction

This part of the code should check if pd is in range of shooting down the HARM:

currently it activates the PD 20 NM out, this is a bit far out.

could check max shooting distance + 15% for example.

if ( #self:getPointDefences() > 0 and self:pointDefencesGoLive() == true and self.iads:getDebugSettings().harmDefence ) then
     self.iads:printOutputToLog("POINT DEFENCES GOING LIVE FOR: "..self:getDCSName().." | TTI: "..secondsToImpact)
end

FEATURE REQUEST: Add AWACS as EW Radar

Would it be possible to add an Airborne AWACS (A-50 in red side) as a participant to the IADS, similar to EW Radar?

That way, this could be used as a high value target, and will drive tactic, as the AWACS will have a lock down ability to aid the EW radars.

Advanced HARM defence tactics

Advanced HARM reaction for point defences, when saturation point is reached:
if harms have sufficient spacing between each other keep SAM on, because it can pick one HARM at a time, if there is enough distance between HARMS.

One would have to check how this defence tactic could be used in game, there would only be a short time window when this tactic would be active. Maybe it is not really so usefull

Refactor buildRadarCoverageForAbstractRadarElement

investigate potential bug where adding a sam site after iads:activate() is called causes the site to be autonomous even if it is under cover of an ew radar.

Also Handle:
if there is only one SAM in IADS with setActAsEW(true) it shuts down.

Radar Coverage Tests need to be reworked in test-skynet-iads.lua

Issue with mist schedule function

One thing I did notice, tho was I kept getting the same error over and over in the logs. It didn't seem to affect the script, tho:

[CODE]2020-02-25 00:13:58.136 ERROR SCRIPTING: MIST|doScheduledFunctions|1019: Error in scheduled function: $1[string "F:/Data/Under Development/IADS/skynet-iads-compiled.lua"]:1665: attempt to get length of field 'iadsContacts' (a nil value)

FYI - cannot use "CP SKP-11 ATC Mobile Command Post" as Command Center

i tried to create a mission using skynet and added a "CP SKP-11 ATC Mobile Command Post" to the mission and added the name of that group to the script as being the command Center:

commandCenter = StaticObject.getByName('Command-Center') redIADS:addCommandCenter(commandCenter)

but i didn't get the IADS info messages in the mission and in the log file got an error:

ERROR SCRIPTING: MIST|doScheduledFunctions|1019: Error in scheduled function: $1[string "C:\Users\ladis\AppData\Local\Temp\DCS.openbeta-ME\/~mis000012CF.lua"]:1335: attempt to index a nil value

which then referred to:

function SkynetIADSAbstractElement:isDestroyed()
return self:getDCSRepresentation():isExist() == false
end

changing the vehicle to a static object of the type command center seemed to have fixed the issue
not sure if it is by design, if it is maybe a warning in the docs might be a good idea; i didn't see it mentioned

BUG: Error when node gets destroyed (static object ground vehicle vs static object structures)

BUG
Build: Timestamp: Timestamp: 04.03.2020 23:12:30.82
Missionfile: https://www.dropbox.com/s/near828hhn50a90/Neck_Skynet_test_v3.miz?dl=0
Linked issues: Issue #6

In SAM group 1, I made the powersupply and node to a static object: Ground vehicles
and for SAM ground 2 powersupply and node to static object: Structures
With the latest build, I can destroy one unit as the screenshot shows
bilde

But when I attack unit number 2 or 3 I get the following error:

bilde

bilde

bilde

However, when I make both SAM groups to use powersupply and node to static object: Structures
Then I do not get any errors when they are destroyed.

bilde

bilde

Demomission

You make a demomission to show how your scripts work and how they need to be setup in the editor, nice.
BUT you are using a payed DLC map for it?!!!
Kidding me?

Jammer: LOS calculation

The line of sight calculation does not always work, especially in an urban environment with surrounding objects.

Possible solutions:
lift the object position 7m to 10m to that calculation will work.

Might remove LOS check completely since I learnt that jammers don't need LOS to work..

FEATURE REQUEST: Close protection SAM

FEATURE REQUEST:

Would it be possible to connect another component to the IADS, specificly an option similar to node and powersupply to each specific site.
I am thinking about a close protection SAM (SA-15/SA-19) connected to the larger SAMs and if a HARM is shot against the site, then the close protection SAM comes online to shoot down the HARM.

Rationale: The larger SAMs such as SA-2 and SA-3 are likely more static, and are of higher value, and need protection to increase survivability.

SAMs not connected to IADS ,need HARM detection

Autonomous SAM sites, need to run their own Harm detection. It should be activated when a SAM site becomes autonomous and be deactivated once a SAM site is added to the IADS network.

Autonomous SAM sites currently don't react to incoming HARMs.

Add TALD detection

The IADS should be able to detect TALDS. Implementation approach could be similar to HARM detection.
Once detected TALDs could be set to invisible, so SAM sites don't go live to fire on them

This video has some info on the flight profile of a TALD:
https://www.youtube.com/watch?v=oihBk9stK-8

Think of adding logic so that talds flying close to each other would all be discovered if one TALD triggers TALD detection

BUG: Error when node gets destroyed

BUG:
Build: Timestamp: 03.03.2020 21:35:37.55
Missionfile: https://www.dropbox.com/s/cvybqk8yxwr728i/Neck_Skynet_test.miz?dl=0

I was testing the script now , and encountered a bug. As a node gets destroyed I get the following error:

bilde

.miz file here:
https://www.dropbox.com/s/cvybqk8yxwr728i/Neck_Skynet_test.miz?dl=0

Mission is setup with a commandcenter
2 x SAM sites, both with a node and a powersupply
2x EW , both with a node and a powersupply

The bug happens both when I destroy the node for the EW and SAM. If I destroy the powersupply it works.

CODE:

_do
iranIADS = SkynetIADS:create()

---debug settings remove from here on if you do not wan't any output on what the IADS is doing
local iadsDebug = iranIADS:getDebugSettings()
iadsDebug.IADSStatus = true
iadsDebug.samWentDark = true
iadsDebug.contacts = true
iadsDebug.radarWentLive = true
iadsDebug.noWorkingCommmandCenter = true
iadsDebug.ewRadarNoConnection = true
iadsDebug.samNoConnection = true
iadsDebug.jammerProbability = true
iadsDebug.addedEWRadar = true
iadsDebug.hasNoPower = true
---end remove debug ---

iranIADS:addEarlyWarningRadarsByPrefix('EW')
iranIADS:addSamSitesByPrefix('SAM')
iranIADS:activate()

-- Command Center 1
local commandCenter = StaticObject.getByName("CommandCenter1")
local comPowerSource = StaticObject.getByName("CommandCenter1_power")
iranIADS:addCommandCenter(commandCenter, comPowerSource)

-- SAM Site 2
local powerSource = StaticObject.getByName('SAM_POWER1')
local connectionNode = StaticObject.getByName('SAM_NODE1')
iranIADS:setOptionsForSamSite('SAM-SA-6', powerSource, connectionNode)

-- SAM Site 1
local powerSource = StaticObject.getByName('SAM_POWER2')
local connectionNode = StaticObject.getByName('SAM_NODE2')
iranIADS:setOptionsForSamSite('SAM-SA-6_2', powerSource, connectionNode)

-- Early Warning Radar 1
local powerSource = StaticObject.getByName('EW_POWER1')
local connectionNode = StaticObject.getByName('EW_NODE1')
iranIADS:setOptionsForEarlyWarningRadar('EW-1', powerSource , connectionNode)

-- Early Warning Radar 2
local powerSource = StaticObject.getByName('EW_POWER2')
local connectionNode = StaticObject.getByName('EW_NODE2')
iranIADS:setOptionsForEarlyWarningRadar('EW-2', powerSource , connectionNode)
end_

REQUEST: SAMs beeing able to launch without own radar

Would it be possible to add the following features:

  • Allowing SAMs to fire on targeting data from other radars in the IADS network? (Sneaky SAM/ambush tactic)

  • A SAM site can also fire on a target after its radar have been destroyed, as long as connection node to the IADS network is present, and another SAM site have aquired the target its radar (tracking radar)

Jammer distance Issue

function SkynetIADSJammer:setMaximumEffectiveDistance(distance)
self.setMaximumEffectiveDistance = distance
end

Var name should be:
maximumEffectiveDistanceNM

IADS doesn't detect targets when late activation is used in the Mission Editor

DCS Mission LUA code is here: https://paste.ofcode.org/c22keLj5z7RQFHnXHLYMPp

This work perfectly if the EW and SAM sites are NOT spawned in the mission code.
I tested this with EW being EWR 1L13, EWR 55G6 and an A-50 AWACS.
SAMs were SA-2 and SA-11, manually added to ensure object was was the SR.

However, if the same code is executed after late activated spawns of the EW and SAM no detection occurs.

DCS.LOG extract here: https://paste.ofcode.org/35evyrAw6rFW4LULubWjqJD

SAMs not going dark if HARM detected inbound

2021-12-06 18:10:09.565 INFO SCRIPTING: SKYNET: ACTIVE: true | AUTONOMOUS: false | IS ACTING AS EW: false | DETECTED TARGETS: 1 | DEFENDING HARM: false | MISSILES IN FLIGHT: 1
MIST 4.4.90 or 4.5.98
Moose 2.7.7.1
SKYNET VERSION: 2.4.0
SAM not reacting to HARM correctly even in skynet-test-persian-gulf.miz with SA-6 test with lines included in its script:
--this SA-6 site will always react to a HARM being fired at it:
redIADS:getSAMSiteByGroupName('SAM-SA-6'):setHARMDetectionChance(100)

Node script

the connection node script to add a node for EWR is unclear??

local connectionNode = Unit.getByName("EW connection node")
ewRadar:addConnectionNode(connectionNode)

I don't understand how to add the EW name? where? I have tried to install NODES to my EWR in a
test game but keep getting errors like this

[string .......... 788a.I..."]:38:'='expected near'-'

can you clarify?

No an issue, install questions

Hello. Im starting to build campaigns, and I was looking something like your scripts. They look awesome!
Im not really skilled in scripting so Im sorry if my questions are a little bumb .

To use your scritps:
.- where Im suposed to put all the contects I download from here, in wich DCS folder should I put the files?
.- when loading the script as your instructios say, in the example the file skynet-iads-setup-persian-gulf.lua is loaded. This file has to be created from scractch for every mission file or at leat I have to create a new one and use that as templete. I can put thiis lua file anywhere and just pint it in the path in the DCS trigger screen? What about the skynet-iads-compiled.lua, what it is used for and where should I place it? Do I need to change anything in this file or it is suposed to be used without any changes?
.- To run the example mission file and I have opend the mision in the mission editor and looked for the lua files so the correct path is there. But when loading the mision, The sim just stays there trying to load the file (I have the persion gulf map, and I have the su-33 mod). What Im doing wrong?
.- May be my problem is with the MIST installation, I dont know where to place those files either, I guess I have to ask them about this but if you can tell me, THANKS

Thanks in advance for the help

REQUEST: Delay SAM activation when command center disconnect

REQUEST:
Build: Timestamp: 03.03.2020 21:35:37.55
Missionfile: https://www.dropbox.com/s/cvybqk8yxwr728i/Neck_Skynet_test.miz?dl=0

In the current version , the SAMs go live immediately after the Commandcenter is disconnected from the IADS (Either by blowing up the Commandcenter or by destroying the powersource)

Would it be possible to add in a delay before the SAMs go live, as it would be more realistic with some delay from an action where the IADS central node is taken out until the SAMs go live.

FEATURE: Engagement range polygons

International and maritime borders often define when a SAM engages rather than a certain lethality distance. It's especially difficult to handle coastal SAM's that are engaging beyond the 12nm maritime range. I'd like to see a polygon zone as an overall engagement zone first, then the sam lethal range after.

SkynetIADS:addEarlyWarningRadar not working

I used the following script in my sample mission:

do
    IADSRed = SkynetIADS:create('IADSRed')

    local IADSRedDebug = IADSRed:getDebugSettings()
    IADSRedDebug.IADSStatus = true
    IADSRedDebug.radarWentDark = true
    IADSRedDebug.contacts = true
    IADSRedDebug.radarWentLive = true
    IADSRedDebug.noWorkingCommmandCenter = false
    IADSRedDebug.ewRadarNoConnection = false
    IADSRedDebug.samNoConnection = false
    IADSRedDebug.jammerProbability = true
    IADSRedDebug.addedEWRadar = false
    IADSRedDebug.hasNoPower = false
    IADSRedDebug.harmDefence = true
    IADSRedDebug.samSiteStatusEnvOutput = true
    IADSRedDebug.earlyWarningRadarStatusEnvOutput = true
    IADSRedDebug.commandCenterStatusEnvOutput = true

    IADSRed:addEarlyWarningRadar('SA-11 3')
    IADSRed:addSAMSite('SA-11 1')
    IADSRed:addSAMSite('SA-11 2')

    IADSRed:activate()
end

The debug output shows both sams but no early warning radar. If I exchange addEarlyWarningRadar with addEarlyWarningRadarsByPrefix it shows up. I can also add it as SAM without problems. Just started with Lua, so I am not able to fix it myself and open a PR :(

Misleading name: addSAMSitesByPrefix

Even though it is documented that the function clears the samsites the name is misleading because it SETS the samsites instead of ADDing them. Please rename it to setSAMSitesByPrefix and consider adding a new function addSAMSitesByPrefix which really adds them.

I once was struggling with it and now I ran into the same issue again just because I forgot about it.
In my case I wanted to add all "red sa" and all "red aaa" and so I called the function twice resulting in only aaa controlled by skynet...

self point defense for mixed SAM groups?

https://github.com/walder/Skynet-IADS#point-defence-1

Is it feasible for skynet to enable the point defense behaviors for a group if the group contains point defense types? We're looking in to enabling point defense behavior for Liberation, and it'd be simpler if we could add SA-15s to our SA-10 groups rather than needing to work out which randomly generated group is the point defense for another. Not at all impossible for us, but seems like it'd be a helpful feature for other skynet users too assuming it's feasible.

AMMO## Static object work around

Noticing script call can use
local commandCenter = StaticObject.getByName("Command Center2")
local comPowerSource = StaticObject.getByName("Command Center2 Power Source")
iranianIADS:addCommandCenter(commandCenter, comPowerSource)

This is used for a command center and its associated power source, however with the recent ME bug with renaming all static objects to AMMO##

Is it possible to use regular units and call on them instead of a static object in the mission editor ?

for example
local commandCenter = Unit.getByName("Command Center2")

Would this work ? sorry i am very weak on my lua skills

this will get around the DCS Bug in the meantime ?

SA-10 in autonomous mode turns off and never back on

skynet bugreport.miz is a mission containing one SA-10 site (search radar is the first unit, has two SRs, two TRs, a CP, and 7 launchers). There are no EWRs and this site is expected to operate in autonomous mode.

An AI F-16 will overfly the SAM.

The site briefly turns on because of iads:setupSAMSitesAndThenActivate(), but then turns off and never turns back on (using activate() does not fix the problem). https://github.com/walder/Skynet-IADS#autonomous-mode-options says that SAM sites should remain on by default when going into autonomous mode.

This is using the latest version of skynet and mist from the skynet release.

Skynet configured using:

iads = SkynetIADS:create("IADS")
local iadsDebug = iads:getDebugSettings()
iadsDebug.IADSStatus = true
iadsDebug.samWentDark = true
iadsDebug.contacts = true
iadsDebug.radarWentLive = true
iadsDebug.noWorkingCommmandCenter = true
iadsDebug.ewRadarNoConnection = true
iadsDebug.samNoConnection = true
iadsDebug.jammerProbability = true
iadsDebug.addedEWRadar = true
iadsDebug.hasNoPower = true
iadsDebug.harmDefence = true
iadsDebug.samSiteStatusEnvOutput = true
iadsDebug.earlyWarningRadarStatusEnvOutput = true

iads:addEarlyWarningRadarsByPrefix("RED|EWR|")
iads:addSAMSitesByPrefix("RED|SAM|")
iads:addRadioMenu()
iads:setupSAMSitesAndThenActivate()

Tacview-20201221-212106-DCS-skynet bugreport.zip.acmi

Check that radars tracking HARM need to be connected to IADS.

There currently no check to see if a Radar tracking a HARM is connected to the IADS. Though implicitly this is the case with the first detection cycle. Since a HARM is only in the air for a short amount of time this is currently no big issue.

Feature request: make mobile SAMs change their position when detecting HARMs

When mobile SAMs, like the SA-15, detects an incoming missiles, it would be nice to have it change position while (or instead of) switching off its radar.

  • SAM detects HARM
  • Unit picks a random direction and distance, which create a new waypoint
  • Unit travels to the waypoint at high speed
  • options to temporarily disable the radar are unaffected by this algorithm

For modern, mobile units, it may be sensible to make this behaviour the default.

Can't type "Tbilisi" to the code?

image.png
image.png
Now I will got a error:
40: attempt to index a nil value
If I remove Tbilisi or change the name to another word,it working.I don't know why?

BUG: If a AC is within the SAM zone, and not detected by radar , will not zeroize

I think I may have seen a bug.

When an aircraft is detcted by a SAM or EW, it will stay in even when it is not detected by radar as long as it stays withing the SAM WEZ.

Examples shown below:
Setup:
One EW , 2 SAM sites, and one AC:
bilde

F-16 in a valley without beeing detected by any radar, but it will not be forgotten until it is outside the SAM WEZ.
bilde

Now outside the SAM WEZ, and it starts the counter:
bilde

This creates a challenge, as it is not enough to avoid radar detection to be forgotten by the IADS, the pilot also need to fly outside the WEZ and not get detected by any radar

Debug menu on or off Command while Miz is running

Greetings

Is there a way to turn on/off in game the Debug menu ?

Have tried with triggers running script with

for DEBUG ONI have been using your provided debug
do
iranIADS = SkynetIADS:create()

---debug settings remove from here on if you do not wan't any output on what the IADS is doing
local iadsDebug = iranIADS:getDebugSettings()
iadsDebug.IADSStatus = true
iadsDebug.samWentDark = true
iadsDebug.contacts = true
iadsDebug.radarWentLive = true
iadsDebug.noWorkingCommmandCenter = true
iadsDebug.ewRadarNoConnection = true
iadsDebug.samNoConnection = false
iadsDebug.jammerProbability = true
iadsDebug.addedEWRadar = false
iadsDebug.hasNoPower = false
---end remove debug ---

For DEBUG OFF i created another script to run on a trigger however it doesnt work or shut off the notification in the top right corner

iranIADS:addEarlyWarningRadarsByPrefix('EW')
iranIADS:addSamSitesByPrefix('SAM')

local iadsDebug = iranIADS:getDebugSettings()
iadsDebug.IADSStatus = false
iranIADS:activate()


Do you know of a way i can shut the debug off while the mission is live and running to turn it off or on again ?

thanks

QUESTION/REQUEST: SAM Traps

First of all, thank you for your great work.

I have a question or request. When working on our missions in the 132nd Virtual Wing, we have been looking into ways to make SAMs and networks smarter.

Would the following be possible in Skynet-IADS, or would it be possible to implement it in some way?

In the mission there will be various groups, for example:
Air Defence Revolutionary Guard Battalion (ADRGB)

Mission:
Supporting Armor Regiment, Frontline forces

  • 4x SA-15
  • 4x SA-8
  • 1x Dog Ear Radar

Would it be possible to script it so that only the Dog Ear radar is on, and once any blue aircraft is within range of one of the 1 SA-15, all of the SAM's turn on. Furthermore, if the Dog Ear Radar is targeted (HARM's), all SAM's go active.

Also for this request, can this be added to the script using just a prefix or specific text that goes into the groups name in the ME?

Of course, turning on the SAM's only if the Dog Ear Radar detects anything (so if a aircraft is flying low-level and is masked from the Dog Ear radar, it will not turn on the SAM's as they do not know a aircraft is in the area.

Intention is to create a smarter and more dangerous Integrated Air Defence System, where they try to lure pilots into their trap, and then open up with all they have.
So staying on friendly side of the FLOT now makes a lot more sense

Link:
132nd-vWing/OPBR-Brief#9

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.