Jump to content

Recommended Posts

Posted (edited)
5 minutes ago, cfrag said:

This is usually a sign that your server is running out of memory (too many units, etc.). It seems a common issue with large missions like Pretense. If it happens on your Fox3 mission, perhaps ask Luck if he can give you some server diagnostics, I seem to recall that they have installed a memory watchdog on most servers.

 

Hi,

It happens on my server as well and it has 64GB of memory.  Whe the desync occurs, the utilised RAM is only 80%

I dont think its a memory issue.  Ive played maps with many many more units than this.

Edited by Chad Vader
Posted
12 hours ago, Chad Vader said:

the utilised RAM is only 80%

I dont think its a memory issue.

Well, those two statements seem contradictory to me. In any event, it seems that you are describing symptoms of an app undergoing pagination (swapping in and out memory from virtual memory space). It's exceedingly unlikely that those issues are DML-related; DML is a collection of lightweight invocations with little to no memory demands and no central process of its own; the symptoms you describe seem to point to a process buckling under load, perhaps a memory issue or non-returning tasks (DCS's unit pathing has a spotty reputation in this regard). This may be acerbated by the fact that DCS server isn't multi-threaded (yet). Unfortunately (among many other things missing) DCS has no means to profile its processes or we could track this issue quickly. 

Posted

Here is the response from fox 3

image.png?ex=661c708a&is=6609fb8a&hm=d20

image.png?ex=661c708a&is=6609fb8a&hm=d20

RAM was pegged at 100% and they posted this snippet of log.  Any clues?  I think im going to break my mission into 2 separate maps.

I just dont understand whats hitting the server, maps like pretense have waaaaay more units than my map.

Posted
1 hour ago, Chad Vader said:

I just dont understand whats hitting the server, maps like pretense have waaaaay more units than my map.

There are often multiple contributors. Pretense hits hard with the number of units, although Pretense Caucasus isn't nearly as susceptible as Pretense Syria - so the mission's units count AND the map have an impact. You mission, as great as it looks, runs on Sinai - another great map that is untested wrt memory demand, but I'd be surprised if it hit less hard than Syria.

 

Posted
2 minutes ago, cfrag said:

There are often multiple contributors. Pretense hits hard with the number of units, although Pretense Caucasus isn't nearly as susceptible as Pretense Syria - so the mission's units count AND the map have an impact. You mission, as great as it looks, runs on Sinai - another great map that is untested wrt memory demand, but I'd be surprised if it hit less hard than Syria.

 

Ok thanks for the advice cfrag.  Im going to split the map into three theatres (north center south) and run them at different times.

Posted
6 hours ago, diego999 said:

Is there a way for the CSAR mission to be carried by an ai helicopter?

I honestly never thought about that. To me, sending an AI helicopter to rescue an AI unit leaves no element for the player, so it never crossed my mind to write such a mission. In case you want to set up an escort mission I think you can get that much easier by creating sich a mission directly, it would not require DML. But I'm likely missing something. How would an AI/AI csar mission look from a player's perspective? What would they do in such a mission?

Posted
22 hours ago, cfrag said:

There are often multiple contributors. Pretense hits hard with the number of units, although Pretense Caucasus isn't nearly as susceptible as Pretense Syria - so the mission's units count AND the map have an impact. You mission, as great as it looks, runs on Sinai - another great map that is untested wrt memory demand, but I'd be surprised if it hit less hard than Syria.

 

We have been flying a version of Foothold on the Sinai Map... It is indeed very demanding, though I don't know if it is the number of units or the terrain itself. The server we ran Foothold Caucasus (and SYRIA, IIRC) on has 24 GB RAM, and it ran fine with that map, but SINAI brought it to its knees. Hosting on a client machine with 32-64 GB seemed to work fine.

9 hours ago, diego999 said:

Is there a way for the CSAR mission to be carried by an ai helicopter? Or human-piloted only?

 

There are ways to set up AI helos to pick up troops in the Mission Editor, but it all has to be orchestrated specifically and I would guess it requires more Scripting to add any dynamic aspects to it.  

The aspect I can see that makes sense is to dispatch an AI helo to pick up a downed pilot at a certain location...especially if no humans fly any helos in a mission.

Posted
7 hours ago, cfrag said:

I honestly never thought about that. To me, sending an AI helicopter to rescue an AI unit leaves no element for the player, so it never crossed my mind to write such a mission. In case you want to set up an escort mission I think you can get that much easier by creating sich a mission directly, it would not require DML. But I'm likely missing something. How would an AI/AI csar mission look from a player's perspective? What would they do in such a mission?

 

I wanted to set up a mission where the player's plane suffers a failure at some point, ejects and has to be rescued by an AI helicopter.

Tried the Moose CSAR module and, while I could make it work, it has many variables I didn't know how to configure as my scripting skills are very limited.

Reading the DML CSAR documentation I realize the groundwork is already there, so I was wondering if you could make it work for AI rescue helicopters.

I know it's kinda stupid, but it's an old itch I have.

Posted
13 minutes ago, diego999 said:

 

I wanted to set up a mission where the player's plane suffers a failure at some point, ejects and has to be rescued by an AI helicopter.

Tried the Moose CSAR module and, while I could make it work, it has many variables I didn't know how to configure as my scripting skills are very limited.

Reading the DML CSAR documentation I realize the groundwork is already there, so I was wondering if you could make it work for AI rescue helicopters.

I know it's kinda stupid, but it's an old itch I have.

Do you have to actually complete the CSAR?  Can you not just add a zone and if the helo lands in the zone, despawn the unit, then fly it home then respawn the unit at the base?

Posted
33 minutes ago, diego999 said:

I wanted to set up a mission where the player's plane suffers a failure at some point, ejects and has to be rescued by an AI helicopter.

I'm probably a bit slow on the uptakes (happens after a sensational Easter meal 🙂 ) - so what is the players role in this mission? They get downed, wait for the Helo, and then get carried back to base? I don't think picking up players is currently supported in DCS.

Posted (edited)

HI CFrag, can I ask a question please?  With the persistence module and the saveFlags attribute, does this only save flags that are used outside of DML?  Do DML flags persist as a matter of course or do I need to add them into this attribute? 

Thanks for any advice you can give.

Edited by Chad Vader
Posted
36 minutes ago, Chad Vader said:

With the persistence module and the saveFlags attribute, does this only save flags that are used outside of DML? 

It allows you to save additional flags that you are using outside of DML, yes. Those modules that use persistence usually save their input and output states. If a flag gives you trouble saving, though, please let me know and I'll investigate. My Goldfish Brain may have forgotten something.

  • Like 1
Posted
1 hour ago, cfrag said:

I'm probably a bit slow on the uptakes (happens after a sensational Easter meal 🙂 ) 

Easter claimed many victims around here as well 😄 .

 

1 hour ago, cfrag said:

what is the players role in this mission? They get downed, wait for the Helo, and then get carried back to base? I don't think picking up players is currently supported in DCS.

Yes, exactly that. I think picking up the actual pilot is not possible, but he can be replaced by a generic infantry unit and that it what the helo would pick up. "Pick up" as in "despawn when the helo lands near, spawn it again when the helo lands in a base".

I know unit's coordinates on the map can be passed around with scripting, but it's way out of my habilities.

 

1 hour ago, Chad Vader said:

Do you have to actually complete the CSAR?  Can you not just add a zone and if the helo lands in the zone, despawn the unit, then fly it home then respawn the unit at the base?

That is precisely the difficult part. Landing the helicopter near enough the downed pilot. I can't figure it out.

The failure I want to simulate is not a catastrophic explosion in the air at a precise point, but a hidraulic failure where, depending on the altitude, you continue flying for a minute or so until forced to eject. That makes the landing zone pretty big.  

Posted
1 hour ago, diego999 said:

The failure I want to simulate is not a catastrophic explosion in the air at a precise point, but a hidraulic failure where, depending on the altitude, you continue flying for a minute or so until forced to eject. That makes the landing zone pretty big.

Sorry, I still don't get it. Let's assume you can fail your aircraft as intended (this is a single-player mission, right? I'm not sure that you can target and fail aircraft in MP), and the player ejects. And then? Most players would re-slot at this moment, or re-start the mission. Say you simply wait as player and you float down to ground (can take a few minutes). You can get the pilot's location by script by trapping the relevant event (31) and getting the location of the initiator. That's the easy part. You can then spawn and send a helo there. Now comes that part that I don't understand: you (the player) just stand there and wait for the helo to arrive, right? That would mean that after waiting a couple of minutes watching the earth come closer; wait to float down from say angels-10, you then sit around and wait another couple of minutes (say the helo is within 20 miles, so you wait 10 minutes for it to arrive), only to be force-de-spawned when the helo, getting close, despawns your pilot unit to replace it with a normal soldier unit, and you (the player) are sent to look at the slot board, never seeing the (now AI) units being "picked up" and brought home. Wouldn't it be more fun to watch paint dry? Not to knock doing that, I have some crazy paint. But still, I have the feeling that something in this scenario is escaping my addled brain. Should lay off the paint, I guess. 

Posted
2 hours ago, cfrag said:

Sorry, I still don't get it. Let's assume you can fail your aircraft as intended (this is a single-player mission, right? I'm not sure that you can target and fail aircraft in MP), and the player ejects. And then? Most players would re-slot at this moment, or re-start the mission. Say you simply wait as player and you float down to ground (can take a few minutes). You can get the pilot's location by script by trapping the relevant event (31) and getting the location of the initiator. That's the easy part. You can then spawn and send a helo there. Now comes that part that I don't understand: you (the player) just stand there and wait for the helo to arrive, right? That would mean that after waiting a couple of minutes watching the earth come closer; wait to float down from say angels-10, you then sit around and wait another couple of minutes (say the helo is within 20 miles, so you wait 10 minutes for it to arrive), only to be force-de-spawned when the helo, getting close, despawns your pilot unit to replace it with a normal soldier unit, and you (the player) are sent to look at the slot board, never seeing the (now AI) units being "picked up" and brought home. Wouldn't it be more fun to watch paint dry? Not to knock doing that, I have some crazy paint. But still, I have the feeling that something in this scenario is escaping my addled brain. Should lay off the paint, I guess. 

 

Exactly that.

Yes. It's as stupid as it sounds.

A friend of mine just tested the mission, his conclusion was the same as yours: it doesn't make any sense.

Time to rethink my approach I guess.

Thank you for the illumination 😅

 

Posted

Can the Factory be tied either to a static or a building that is already part of the map so that if it's destroyed, the factory no longer can produce or can't produce until it's repaired? Trying to grasp the different areas of DML but I can't puzzle this one out.

 

Thanks in advance.

Posted (edited)
13 hours ago, Bingo911 said:

Can the Factory be tied either to a static or a building that is already part of the map so that if it's destroyed, the factory no longer can produce

The parts of DML can easily be re-arranged, just like LEGO blocks can be to build something bigger. So, if we take your example from above and split it along functionality, we can arrive at this:

  • Q: Can a Factory be made to stop and start production on demand (say, a signal)? A: yes, that is what the "pause?" and "activate?" inputs are for. 
  • Q: Can DML (or, in a broader sense, DCS) detect if a static object was destroyed and send a signal? A: Yes. DML can even detect if a map object is destroyed and generate a signal

Taking both abilities together you can "wire up" a factory that stops production (is paused by sending a signal into "pause?") when a building is destroyed. A little bit of work will go into adding the ability of resuming work when something is 'repaired', but as soon as you work out what that repair constitutes (often a cloner cloning something), you already know what to wire into "activate?" 🙂 

In whole, what you'd probably do is clone the static at mission start, and start production. Then, when the clone is destroyed, the cloner sends its 'empty!' output which stops the factory, and starts a timer. When the timer runs down, it clones a new building and resumes the factory. Easy as that 🙂 

 

Edited by cfrag
  • Like 2
Posted
27 minutes ago, cfrag said:

The parts of DML can easily be re-arranged, just like LEGO blocks can be to build something bigger. So, if we take your example from above and split it along functionality, we can arrive at this:

  • Q: Can a Factory be made to stop and start production on demand (say, a signal)? A: yes, that is what the "pause?" and "activate?" inputs are for. 
  • Q: Can DML (or, in a broader sense, DCS) detect if a static object was destroyed and send a signal? A: Yes. DML can even detect if a map object is destroyed and generate a signal

Taking both abilities together you can "wire up" a factory that stops production (is paused by sending a signal into "pause?") when a building is destroyed. A little bit of work will go into adding the ability of resuming work when something is 'repaired', but as soon as you work out what that repair constitutes (often a cloner cloning something), you already know what to wire into "activate?" 🙂 

In whole, what you'd probably do is clone the static at mission start, and start production. Then, when the clone is destroyed, the cloner sends its 'empty!' output which stops the factory, and starts a timer. When the timer runs down, it clones a new building and resumes the factory. Easy as that 🙂 

 

 

Show off! 😉 ❤️

Posted

Version 2.2.1 - 20240404: Maintenance Update

I've spent the past weeks putting finishing touches on some (DML-based) SAR and CSAR missions, and DML reflects those changes: the CSAR-centric modules have received tweaks: there are few better ways to stress-test a framework than having a moderately popular mission, and many of you have chipped in to test - and provide feedback - on these mission, so thank you so much!

image.png

Over Easter week-end (and, admittedly, a couple of very good bottles that shipped from the Ribera Del Duero region) during a greatly meandering discourse, a good friend of mine (who regularly flies missions with me, especially those that I write) bought up the idea of a COIN missions. That idea struck; yet I have nothing to announce in this regards, except to announce that I may announce some support for this kind of missions later. 
But those who let their curiosity get the better of them and delve deeper into DML will find that there are now multiple 'mystery' modules that eventually, when they are sufficiently tested and documented, find their way into 'official' DML. At this point, however, I'm still grappling with the concept. So, if a module isn't documented in the 'Shock Block', it's entirely your risk.

Changes in Detail:
Manual
    Main 
        - csarManager new 'inBuiltup' opion 
        - various corrections 
    
    Quick Ref
        - various correction 
        
Demos 
    - boom boom: Update (flares with explosion)

Modules 
    - cfxZones 4.3.1
        - QOL additions 
        
    - clients (experimental, undocumented)
    
    - commander 1.1.4
        - low level bug fixing for rare issues 
        
    - csarManager 3.2.6
        - inBuiltUp option to place units in cities 
        
    - dcsCommon 3.0.5 
        - low-level hardening of code 
        - new QOL functions 
        
    - groundExplosion 1.1.0
        - new ability to also launch flares with an explosion 
          to better mimic real explosions
    
    - groundTroops 2.0.0
        - jtac callbacks, prep work for later 
        
    - jtacGrpGUI 2.0.0 (undocumented)
    
    - milHelo (experimental, undocumented)
    
    - unGrief 2.0.0 
        - better handling of griefers, still not good enough.
 

Enjoy,

-ch

  • Like 1
  • Thanks 1
Posted

Is it possible,  and if so which modules should I be looking at, to monitor in game events and output a sound file based on a clients agl. Scenarios I'm thinking of player x has taken off and once height above x feet a soundfile for wheels up or creating a hard deck for acm, player x has gone below x feet and sound file for knock it off. I'm also thinking about other events such as hit, shot etc. Can they be monitored and utilised?. Thanks in advance.

Posted (edited)
17 hours ago, Iceviper said:

monitor in game events

That rather depends on what you are trying to do. In general, many (if not most) DML modules look for certain events. Since DML does this transparently for mission designers, that will probably not help you.

17 hours ago, Iceviper said:

output a sound file based on a clients agl.

DML currently does not have modules to do that. I know that people have requested that and similar features (track min, max or minmax altitude, distance, speed, heading. change in altitude, change in speed, change in bearing, change in distance), and while it would not be that difficult to create a module for each one of these, they quickly add up, and people would want to combine one with the other (e.g. trigger when a player's planer is inside altitude range and inside speed range). Combine this with a good way to choose which planes to monitor, and we are looking at UX hell. I could not come up with a good interface for such a combined module.

17 hours ago, Iceviper said:

I'm also thinking about other events such as hit, shot etc. Can they be monitored and utilised?

Yes, by trapping those events in a script. In the context of DML, which tries to provide fully-fledged solutions, not so much, I'm afraid. DML excels at placing ready made solutions on the map, and placing 'sensors' that can trigger solutions when certain conditions are met. DML is not (or rather: no longer) a tool for mission scripting. It's self-contained and does no longer have any serviceable parts inside nor provide an API for scripting.

Edited by cfrag
  • Thanks 1
Posted

Thank you for the quick reply. I'm only just dipping my toes into DML and it's very impressive so thank you for creating such a great system. The manual is substantial and I am busy working my way through it, I just wanted to check if the things I mentioned where available in some way. I can continue to do it the way I've done it in the past and DML still helps to vastly speed up my mission creation. Thanks.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...