#perf_prof_branch

1 messages · Page 26 of 1

fallow sky
#

Just sent it in dm

smoky ridge
#

second

whole cloud
#

A single server having an error in their server.cfg is messing up my graph 😄

heady plinth
#

add backdoor into a3 so you get access to their server and secretly fix it

silk pewter
#

reminds me of these white hat hackers who enter old routers to update the firmware and fix security breaches ^^

autumn timber
#

Reminds me of these white hat hackers who enter old routers to update the firmware and fix security breaches so that only their backdoor runs on that machine.
Fixed that for you.
Wait... I think the color wasn't really white 🤔

silk pewter
#

I was only aware of the good ones 😄

whole cloud
whole cloud
glass lagoon
#

apologies for the kind of question, if there is anything i could rely upon to approximate, preparing comparative analysis, on what engine thinks frametime is?

#

if i'd try RT kernel for lulz, to see something within context of it

idle wren
# whole cloud

Can confirm this has fixed connectivity issues on Linux servers.

fallow sky
#

And I can confirm this didn't fix the launching time
Dunno if it was supposed to, but it didn't

whole cloud
#

I still don't know whats up with the launching time

dusky spire
#

Reverting to stable had no effect on the launching time for some reason.
Confusing

hard vault
static briar
#

Is this problem caused by the new Linux compiler?
Reverting to v21 fixes the launching load time issue and everything works fine for me too.

whole cloud
#

If the launch time on windows is caused by the new linux compiler? I doubt it..

static briar
#

That's certainly true. I don't want to believe that a Linux compiler would have any impact on Windows.
Could it be that team accidentally modified the code for compiling on Windows as well?

static briar
inland dew
#

nobody will be able to complain about devs removing a3 32 bit support hmmyes

patent sky
#

We waited long enough for steam to do it for us hmmyes

whole cloud
#

I will try to repro it tomorrow

whole cloud
#

Performance binaries, my unit's default modpack

v21 First 58s, Second 46s
v23 First 72s, Second 47s
Stable First 68s, Second 47s

blobdoggoshruggoogly

whole cloud
#

More mods
Stable 2m58s, 2m11s
v21 1m35s, 1m17s
v23 2m49s, 2m04s

Ok I see now.
Seems something is slow on the config merge step

whole cloud
#

Huh, I can already see a bad slowdown in a build from 10 days ago. One day before v21.
1m42s though so matches v21.

CPU time is 88s, out of which 18s are spent spinning because the async RPT logging is backed up and needs to increase the buffer size.
This is a bit stupid anyway, I wanted to avoid memory allocations from RPT logging. But in kind of a stupid way. Should just replace it with a pool allocator and get rid of half of that stuff.

This is only bad if loading has lots of RPT logging.
Which you only get if you load large broken modpacks, which I've seen in Jay's logs. And which explains why my units main modpack is barely affected

static briar
#

Yeah, it seems that using mods with "malformed" class inheritance config causes an unusually long delay when the game logs the config file changes "Updating base class" to the rpt file.
This long loading time problem did not occur with mods that simply had large file sizes with out not complex configs.

unborn urchin
#

would be nice if people stop ignoring those errors it's the cause of 'when I load x mod y mod stops working'

whole cloud
#

I just don't know why this issue is new..
There aren't any changes in this (except yesterday)

Though I did find a problem.
The RPT thread only checks for new messages every 500ms and sleeps most of the time.
It is supposed to be forcefully woken up if the buffers are full, but that wake up is commented out and has been for years and I don't know why.
So if the buffers are full of RPT spam, it just hangs up for almost half a second until it happens to wake up.
And buffer size is only increased if its been full 64 times.

heady plinth
#

maybe some message could be shown in the main menu if you detect a huge amount of rpt spam?

#

i dont mean popup. more like a small text somewhere on the side

#

i guess most modders never look at those logs, so they arent even aware

fair ore
#

big red message that says "please fix your mod lmao"

whole cloud
silk pewter
#

even better than v21

whole cloud
#

The second load time could be 1.5 seconds faster if mods were using sqfc

#

Another 1 second for non-binarized stringtables
Another 2 seconds for non-binarized configs 🙁

silk pewter
#

can't mod modders ¯_(ツ)_/¯

whole cloud
#

CRISPR disagrees

ancient smelt
# whole cloud CRISPR disagrees

With the latest version, I started noticing more often that if you're in Zeus, when you're hosting an event for players, the server can "kick" you and not let you in anymore, maybe something is known about this? What kind of data is needed?

whole cloud
#

what kinda kick

#

what message

ancient smelt
whole cloud
#

At the kick i mean

#

not after the kick

ancient smelt
#

And you can log in only after the server restarts.

#

One moment

ancient smelt
# whole cloud At the kick i mean
14:42:20 Ref to nonnetwork object 1846356: shell.p3d 3AS_82mm_HE_Mortar
14:42:20 Ref to nonnetwork object 1846359: shell.p3d 3AS_82mm_HE_Mortar
whole cloud
#

nope not it

ancient smelt
#
14:42:03 Client: Network message 190add (update info 1f934677438) is pending
14:42:08 Client: Network message 190fa2 (update info 1f934677438) is pending
whole cloud
#

Sir. The kick message.

#

Not random log lines

ancient smelt
#

How do I get it? (Just a notification popped up and I closed it...)

ancient smelt
whole cloud
ancient smelt
whole cloud
#

The server cfg yes

ancient smelt
whole cloud
#

AntiFlood

ancient smelt
whole cloud
#

Then its off and what you posted is not the kick reason

ancient smelt
whole cloud
#

Yup. That would be it

#

maxDesync is a server.cfg entry.

ancient smelt
#

The problem is that I have a good Internet connection, like other players, it happens, but rarely and very unpleasant.
Do you propose to bet more? Raise it to 300? (as far as I've read, this can lead to problems on the server)

ancient smelt
whole cloud
#

It says it was 243/90 so
I have no proposals

ancient smelt
whole cloud
#

Yes

ancient smelt
# whole cloud Yes

I'm using a translator, and he didn't translate it quite correctly. What should I do in this situation? Why can it jump so high?

whole cloud
heavy vortex
#

I don't think we ever had a description of what the desync numbers mean.

whole cloud
#

I did describe it once

#

but short, magic value.

heavy vortex
#

IME the more obfuscated a mechanic is in Arma, the more likely it's been bugged for two decades.

whole cloud
#

We like bugs

ancient smelt
# whole cloud I did describe it once

I wanted to express my gratitude for the help, thank you. Also, do you know if there is any way to force Arma 3 to use more memory than it does on its own?

#

Roughly speaking, I have 32 GB of RAM, but Arma 3 consumes 2.5-3 GB.

heavy vortex
#

A3 will happily use more memory if it has a need for it.

#

Fly around the map a bit or load a ton of models and you'll see it rise by 2GB or so.

whole cloud
autumn timber
#

Also, sanity check: you're using the 64bit binary, are you?

fiery crescent
#

Since we have more RAM / CPU to waste these days how about stop AI to see through vegetation foliage 😁

heavy vortex
#

We don't have that much CPU to waste.

carmine stump
autumn timber
obsidian condor
#

Or Steam removing support for 32 bit systems in general next year depending on which happens first 🙃

silk summit
#

Perhaps an extra check that detects if they are inside another model so they are moved in the correct not occupied position while also disabling their ability to shoot while in that intermediate state

#

Whatever Enfusion did to fix that issue really

#

Devs have been so effective and consistent at targeting and fixing issues (sound issues, Ai landing and Ai Driving through rivers were some of the latest most recent remarkable fixes/achievements) that eventually only the bigger legacy issues will remain:

#

a) Ai Collision
b) Ai visibility
c) Inventory Rewrite

obsidian condor
#

Would be so nice if the AI (especially in my case agents) did not walk through walls and doors

heavy vortex
#

Isn't that a workaround for pathfinding failure cases anyway?

#

I'd rather it had more of those, not fewer. AIs failing to get from A to B is far more of a problem for me than them occasionally cheating.

silk summit
empty goblet
#

so you end now with 3 different problems

#
  1. badly configured model (for some reason the object is transparent (if the volume is missing the collision / total object volume is used instead), wrong shape (blocking volume != visible volume)
#
  1. AI awareness (information sharing from another AI and memory (already seen you and remembers you position)
#
  1. possible AI bug (shall not see thru correctly configured blocking volume object or similar) or on step 2. (too much info shared / remembered / over reaction to events (ie bug where using detonator instantly revealed your location to all AI nearby)
heavy vortex
#

It's usually just a view model vs rendering mismatch.

#

AIs don't see the same as players see.

#

There's a fair amount of variance. CamLaoNam for example feels a lot more player-friendly than Tanoa.

opal hound
#

There's a fairly popular mod that tries to address it, but you're definitely right that a lot of people just don't understand how the AI functions

empty goblet
#

ofc i will repeat my lament of missing better shadows (till horizon) and lighting (to fix lightsource leaking thru objects etc.)

silk summit
#

Dynamic Lights on light sources (other than the sun) would be so cool thou

#

Extended Multithreading certainly openned up so many possibilities now but I don't think the devs have that much time on their hands

autumn timber
obsidian condor
heavy vortex
#

It's preferable to refusing to enter the building.

obsidian condor
#

I disagree tbh... you know if you hear a door open, when they walk through a door without opening it you lose situational awareness

#

And if you are looking at the time, it is unimmersive

#

Really is the only thing I really dislike about the AI/agent AI tbh though

heavy vortex
#

..

obsidian condor
#

Apart from them not seeing shadows... ... ... Hurry up. Going to bed soon 😉

heavy vortex
#

Nah, if that's the only thing you really dislike about Arma AI then we simply don't have enough in common to debate :P

#

Offtopic unless Dedmen decides to fix anything related anyway.

obsidian condor
#

I did say really dislike and did not say that I did not tweak AI 😛 But yeah, OT and Dedmen has said no AI changes - don't think anyone knows how to modify RV engine AI stuff and Enfusion's AI is not good enough for ARMA 3 yet

#

I'd rather have a new renderer in ARMA 3 than AI changes at this point though

empty goblet
real creek
leaden relic
#

It's not well implemented, last time I looked at least

odd granite
#

Sooooo my milsim just went to this branch and now all of my xbox controller binds are WACK (I use it to fly helicopters) and idk what to do, arma doesn't even show my controller as being detected, but I can still bind stuff with it. When I try to bind stuff with it, for example, my xbox Y button gets bound to my keyboards F key for whatever reason. Please help

analog acorn
#

You might want to check your controller settings in Steam

odd granite
#

You're my favorite person

knotty plinth
fiery crescent
#

Is this expected behavior? 12 gen i5, dedicated server utilizes 2 cores to about CPU 0 -90%, CPU 2 -100% during heaviest loads. The rest of the cores hover around 5%.

fiery crescent
#

Perhaps it is due to the processor type. Just checked and it has 2 Performance cores:
Intel® Core™ i5-1235U
CPU Specifications
Total Cores
10
of Performance-cores
2
of Efficient-cores
8
Total Threads
12

heavy vortex
#

What are the "heaviest loads"?

fiery crescent
#

200 +/- AI and 10 players.

#

This is in Escape Missions.

heavy vortex
#

I'd expect a bit more load on the e-cores then. You're not using any weird command-line parameters?

#

And cpuCount in the RPT is 10?

fiery crescent
#

no weird config. It is default config, MaxMsgSend 128. All network settings default. Tried with HT enabled and disabled seems the same.

#

let me check RPT

#

Allocator: C:\Arma 3 Server\Dll\tbb4malloc_bi_x64.dll [2017.0.0.0] [2017.0.0.0]
PhysMem: 32 GiB, VirtMem : 131072 GiB, AvailPhys : 28 GiB, AvailVirt : 131068 GiB, AvailPage : 33 GiB, PageSize : 4.0 KiB/2.0 MiB/HasLockMemory, CPUCount : 12
CPU: 12th Gen Intel(R) Core(TM) i5-1235U
OS: 10.0.19045 (1)

#

looks like it is seeing 12 cores

#

I'm still on Version: 2.20.153169

fiery crescent
#

Since CPU has 10 cores how is the count 12? Is it Threads? Perhaps because I left HT enabled or 10 Performance cores + 2 Efficient cores.

heavy vortex
#

Count 12 should only happen if you used -enableHT or forced -cpuCount=12

#

Do not use -enableHT.

fiery crescent
#

Yes, turned the HT ON during troubleshooting.

#

Without HT:
Allocator: C:\Arma 3 Server\Dll\tbb4malloc_bi_x64.dll [2017.0.0.0] [2017.0.0.0]
PhysMem: 32 GiB, VirtMem : 131072 GiB, AvailPhys : 28 GiB, AvailVirt : 131068 GiB, AvailPage : 33 GiB, PageSize : 4.0 KiB/2.0 MiB/HasLockMemory, CPUCount : 10
CPU: 12th Gen Intel(R) Core(TM) i5-1235U
OS: 10.0.19045 (1)

#

Well I guess it will only utilize 2 cores.

void badger
#

Bro is running server on a laptop

#

I was gonna say desktop i5s shouldn't have E-cores but that would explain it

fiery crescent
heavy vortex
#

In theory that thread director thing might force threads onto the two perf cores. That would be bad though.

latent socket
void badger
#

I'm just using v21 on my Linux VM dawg

#

I'm getting ready to stress test it with Zombies and ChemWar this week but it's been rock solid so if it ain't broke

jagged swan
#

Recently, some changes were made to the pylons on the prof branch and after that looks like something start working not as it should be.
Its about getAllPylonsInfo command. On the vanilla Mi-48 Kajman if every pylon is assigned to driver it returns [-1] for Assigned turret value in Singleplayer but in **Dedicated **with the same heli and pylons assigned to driver it returns [0] for Assigned turret value

Executed command:

getAllPylonsInfo objectParent player

Different result of executing command depends on is it singleplayer or dedicated (comman executed locally on player machine)
Singleplayer:

[[1,"PylonLeft1",[-1],"PylonRack_4Rnd_LG_scalpel",4,"0:10000347",[[2.50423,-0.214772,-1.37952],[-0,-0.997732,-0.0673187],[-0,-0.0673187,0.997732]]],[2,"PylonLeft2",[-1],"PylonRack_19Rnd_Rocket_Skyfire",19,"0:10000349",[[1.8108,-0.15553,-1.32298],[-0,-0.997732,-0.0673187],[-0,-0.0673187,0.997732]]],[3,"PylonRight2",[-1],"PylonRack_19Rnd_Rocket_Skyfire",19,"0:10000350",[[-1.81321,-0.15553,-1.32298],[-0,-0.997732,-0.0673187],[-0,-0.0673187,0.997732]]],[4,"PylonRight1",[-1],"PylonRack_4Rnd_LG_scalpel",4,"0:10000351",[[-2.50664,-0.214772,-1.37952],[-0,-0.997732,-0.0673187],[-0,-0.0673187,0.997732]]]]

Dedicated:

[[1,"PylonLeft1",[0],"PylonRack_4Rnd_LG_scalpel",4,"2:10000347",[[2.50423,-0.214772,-1.37952],[-0,-0.997732,-0.0673187],[-0,-0.0673187,0.997732]]],[2,"PylonLeft2",[0],"PylonRack_19Rnd_Rocket_Skyfire",19,"2:10000349",[[1.8108,-0.15553,-1.32298],[-0,-0.997732,-0.0673187],[-0,-0.0673187,0.997732]]],[3,"PylonRight2",[0],"PylonRack_19Rnd_Rocket_Skyfire",19,"2:10000350",[[-1.81321,-0.15553,-1.32298],[-0,-0.997732,-0.0673187],[-0,-0.0673187,0.997732]]],[4,"PylonRight1",[0],"PylonRack_4Rnd_LG_scalpel",4,"2:10000351",[[-2.50664,-0.214772,-1.37952],[-0,-0.997732,-0.0673187],[-0,-0.0673187,0.997732]]]]
#

If player is pilot in this heli so his turretPath is equal to [-1] and if all pylons is assigned to pilot then **getAllPylonsInfo ** should return [-1] value for Assigned turret. It works well in singleplayer but in dedicated - not

heavy vortex
#

At which locality did you do the pylon assignment?

jagged swan
whole cloud
whole cloud
whole cloud
whole cloud
magic onyx
fallow sky
#

Great work. The game starts way faster now! Thanks

whole cloud
drowsy fern
#

Good morning, seems the new prof may have an issue. I have tested with 2 scenarios, and stable branch. Issue didn't appear in stable. After playing for a few minutes on perf the game will freeze with this error:
7:41:57 No alive in 10000 ms, exceeded timeout of 10000 ms

#

It produced frozen dumps, but I wasn't sure if those got sent automatically

whole cloud
#

Thats the kinda thing that "no noticeable changes expected" means 😄

whole cloud
eternal kraken
#

have the same issue, send you 3 dumps 🙂

whole cloud
#

yeah I see it, on it

#

The freeze is in custom implementation of a synchronization thing, that Windows actually has natively included, but we couldn't use because its Win8+
Would certainly be nice to switch that over.
But also it can't be the issue because it worked before :harold:
And for extra fun, the thing that broke now was actually not touched by the refactoring notlikemeow

whole cloud
#

Ah yes. Replacing a 1 with a 0 fixed it, two YAAB runs with no problems.
Changing it back, the first YAAB run doesn't even make it half way.

That's good to know, but I don't know why 🤣

#

Gosh darned be it nootlikethis

#

I changed 14 thousand lines, and THIS 2/3 character bad copy-paste is the mistake that makes the game freeze.
If only someone would bother to write unit tests meowtrash

eternal kraken
#

no freeze anymore with the latest update(10 minutes ago)

whole cloud
#

We reverted, new one in ~60m

uncut linden
#

🤔 Should I send it here or in some other channel?

xx:47:57 Error in expression <_pivot","_a","_b"];

private _radius = (_a max _b) * 1.42;
private _objects = []>
xx:47:57   Error position: <_a max _b) * 1.42;
private _objects = []>
xx:47:57   Error Undefined variable in expression: _a
xx:47:57 File A3\Modules_F\Environment\HideTerrainObjects\init.sqf..., line 58
whole cloud
proud cape
#

v0?

whole cloud
whole cloud
whole cloud
jagged swan
whole cloud
jagged swan
void badger
#

68 seconds to load on v25 blobcloseenjoy

acoustic lynx
#

Anyone else experiencing AI tracked amphib vehicles driving squiggly curving paths in water instead of a straight line?

latent socket
whole cloud
whole cloud
#

Check that your CPU count is set correctly (or not at all)

empty goblet
oblique hearth
#

Hey, i did host a dedicated server via the ticking the "server" option in the arma launcher. Then I wanted to use some profiling commands and realized the server commands did not work (after renaming the exe files accordingly).
Interestingly, Task Manager reported two instances of arma3_x64.exe running, so it seems the server doesnt use arma3server_x64.exe. Now my question would be, how to run e.g. #captureFrame on such a server?

whole cloud
#

The Arma Launcher, indeed starts the client executable

#

If you rename that one though to swap it with the profiling one, profiling would work there too

oblique hearth
#

But from my understanding, there's separate profiling commands for client and server. I tried the client commands and they worked client side, but serverside nothing happened.

#

Maybe the output is redirected somewhere where i cant see it?

#

wait, I'm just going to try again.

#

Also one more question: Are there any negative side-effects of the arma3 executable being used for the server, or is it still a fully functional dedicated server? I love the convenience for some small coop-play, but if it causes issues somewhere else, i could also start the server executable directly. I know hosting a server from the ingame menu can cause issues, that's why i'm asking about the launcher one too.

oblique hearth
obtuse bramble
#

I run my arma through an NVME m.2, no launch paramaters except show static and skip logos, no pause, no pause audio.
i9 13900K, V21 gave me (identical mods) 22.5 seconds launch time, logging off/on didn't matter.
V25* is still about 2-3 minutes for me, hard to really say if anything* between 22-25.

whole cloud
oblique hearth
whole cloud
#

Decoy logfiles to keep you on your toes!

whole cloud
unborn urchin
#
  • Fixed: setDamage 0 would not properly reset the "alive" state of most Entities
    does this actually heal vehicles
#

like go from destroyed to alive

opal hound
#

When you say report, reports it to you?

whole cloud
unborn urchin
whole cloud
#

I suspected it might be related but I don't know if it is

#

If it breaks it we'll revert it, just make noise

opal hound
#

Hm not as many of those in my RPTs as I thought, mostly
Client: Object X:YYYY (type Type_ZZZ) not found and Setting invalid pitch 0.0000 for <unit> REMOTE
I can turn it on anyway

latent socket
empty goblet
knotty wraith
ashen helm
#

Do they do so in vanilla?

unborn urchin
whole cloud
fair ore
#

resurrection would be hilarious

unborn urchin
#

its quite clean with it too, gets rid of destruction effects etc

#

but yeah its gonna badly break spearheads tank destruction stuff

analog acorn
unborn urchin
#

didnt try it on units

#

one sec

#

probably funky on players but ill try it on an AI

#

uh, seems to work?

analog acorn
#

That might be handy for some purposes

whole cloud
#

What? it can revive dead AI too?

unborn urchin
#

yeah

whole cloud
#

Oh lord

unborn urchin
#

I dont know how functioning they were

#

as i didnt try very hard i just plopped one down, killed it, brought it back

#

didnt try giving it waypoints or anything

whole cloud
#

I have seen both Animal and Man types have specific code to handle being revived.
Even though it wasn't possible (something broke it between 2003 and 2006)

fiery crescent
#

I hope it doesn't break revive in Escape missions, remember exactly 1 year (maybe 2) ago we dealt with a revive bug after A3 update.

analog acorn
#

Also if you look at what the change actually is (setDamage can restore units from 1 damage to life) there's no reason it would break the revive system anyway.

fiery crescent
#

It just reminded me hours of trying to fix the revive system. Someone eventually did it or Dedmen fixed it. Don't remember now.

whole cloud
#

Revive system sounds like something KK would've fixed

analog acorn
#

The revive system doesn't operate on dead units at all.
Depending on whether the revive system has handling for it, it might "break" it in the sense that the revive system won't start working again on a unit that has been returned to life, but I don't trust that this works properly on players anyway.
This change doesn't really have any potential to break existing use of the revive system. Especially if it's converted to an alt syntax rather than a default behaviour, as proposed.

unborn urchin
#

yeah all this breaks is doing funky stuff like making a dead unit/vehicle look alive

#

because now its gonna be actually alive

#

revive you never die in the first place

whole cloud
#

I do prefer the vehicle being able to revive though. I usually use that when I accidentally crashed the car into a wall and exploded it, trying to fix it before anyone notices

heavy vortex
#

I guess this fixes the issue we have where after doing setDamage 0 on a building it looks fine but the killed event handlers won't fire if it's destroyed again?

#

Well, Killed EH fires but with objNull. EntityKilled doesn't fire.

whole cloud
heavy vortex
#

I'm gonna laugh if you fixed everything except the one issue that we had :P

real crypt
#

is anyone else getting weird sound bugs since the last prof update?

#

getting sounds playing from places they shouldn't

#

i.e we hear people opening their packs like 200m away as if it's next to us

#

Can't find anything else that's changed on my end

molten berry
#

Cant wait to script Jesus to get resurrected after 3 ingame days

empty goblet
empty goblet
empty goblet
#

changelog needs change :

  • Added Reanimate dead spell
  • Added Pristine object state spell
latent socket
whole cloud
#

CPU count 2, with all extra threads (which expects CPU count of 4 or above) with enable HT (which is blocked by CPU count) is nonsense.

#

Also CPU count 2????

rose moth
#

I always enjoy when a low priority fix to Firing Drill steel plate targets, ends up adding resurrection spells to the entire game 🧟
Let's revert the current change, and then pick your next poison:

  1. New setAlive command
  2. New setDamage alias with optional parameter to also set alive
  3. Reintroduce setDammage and make only it resurrect
  4. Let me fix the FD issue by script instead
worldly badge
#

obj setDamage [0, false] revives it? (I didn't red the entire context)

unborn urchin
#

it does yeah

ripe willow
# empty goblet undead are back

I had hole D&D missions in Arma 3 and NGL arma could do that all it needs is just good melee system and magic system.
(NOT MY PICTURE)

quaint flame
#

I vote for setDammage, just because I can.😄

whole cloud
#

Its also perfect for backwards compatibility.
Because you can tell anyone who was using it "Well you've been doing it wrong, that's what you get"

#

There is also a 5th solution as alternative to 3, use the setArmor command

heady plinth
#

ah, setDam-Mage, as in, magical

rose moth
whole cloud
#
   msg._who = who;
-  msg._dammage = dammage;
-  msg._immidiateEffect = imidateEffect;
+  msg._damage = pars.damage;
+  msg._immediateEffect = pars.immediateEffect;
+  msg._allowResurrection = pars.allowResurrection;

coolfrog

opal hound
#

I turned on Ref to nonnetwork reporting yesterday and triggered a few, did those come through properly?

whole cloud
#

No, I got zero so far 😰

opal hound
#

oof

#

not sure what happened then

whole cloud
#

There is crashreporter.log in RPT folder

#

maybe that.... oh wait

opal hound
#

There's no dates in it but the times don't line up anyway

whole cloud
#

Yeah nah should be fine. Until yesterday the crash reporter was missing because we accidentally deleted it

#

Could be that crashreporter.exe is not in game folder?

opal hound
#

it's there

whole cloud
#

Welp blobdoggoshruggoogly

whole cloud
#

On the slow loading times. I still didn't find THE issue, but I found an issue.

For every class that has a base-class, it iterates through all classes in the parent to find the base-class AND then again to find itself.
It tries to find its own index, even though two levels up we know the index and could just pass it as parameter 😄

If the base class is not in the parent class, but instead higher up, it will not find it.
And if it doesn't find it, then it doesn't even need its own index at all, so all the time searching it is wasted.

Looking at profiling, 99.98% of the time for setting the base class, is the class trying to find its own index.

So just pass the index along and use it directly.

Modset 1
Before: 43s
After: 41s :harold:

But the CPU load!

#

Mh also the 10s spike moved around, it shouldn't.

After second testrun: 41s still. :U

#

Duh the scale of the first is different 🤣 I didn't notice that

empty goblet
analog acorn
#

I wasn't aware equipment could take damage in A3

heady plinth
#

if you wanted to position weapons etc. in the world as scenery, you'd place it, disable simulation and then setdamage 0, so it cant be interacted with. always has been

empty goblet
knotty wraith
latent socket
obsidian condor
silk pewter
#

we strive for regular performance

whole cloud
heavy galleon
#

That is useful in exactly 1 way

#

(knowing it is not useful)

unborn urchin
#

lol

whole cloud
#

Found a handful of things today for game start time.
But they only reduced the CPU load and didn't improve the actual end result time notlikemeow

heavy vortex
#

Is there any known modset to replicate the issue that isn't 300GB of banned mods?

whole cloud
#

So far I haven't seen one

ashen helm
heavy galleon
#

Ok listen, how about Damnage?

#

(cuz only old af people play arma 3 at this point)

cunning cradle
#

I keep getting crashes after an hour cosistantly. Always "GPU Hangs", Access violations.

So many people with the same problem and I can't find a fix...

heavy vortex
#

Is that even the right Arma?

knotty plinth
#

About that dammage stuff, is it possible to set/make a global value for it and also for armor values? As example building has 1000 armor and cannon has 100 dammage = you need 10 shots to kill the building.. disabled caliber, speed, distance, penetration, component count(FireGeo) etc.. just simple values

whole cloud
#

no

whole cloud
#

Incoming, being able to profile the game start time yourself 🫂

silk pewter
#

feels like returning the issue to the sender: "hey my game takes ages to load - it takes… 30 min to load terribly-coded mods"
yeeeeees hmmyes 😄

whole cloud
#

Oh right we need to blame mods, time to add per-mod seperation to the config and stringtable loading 😄

silk pewter
#

genuinely, this will help

whole cloud
#

I also figured out why sometimes captures get completely corrupted and show negative times.

We store the time since start of frame, in a signed 32bit int. Even though our input start/end times are unsigned 64bit.
So they just get truncated. It could only handle a couple seconds of time

#

I'm increasing the memory usage for profiling from 2MB to 64MB. (Might even go higher)
More precision, more detail.

whole cloud
#

moar data. Still not enough meowsweats

fair ore
whole cloud
#

That moment when floating point precision is so bad, that scopes are merged together even though they should be after one-another

silk pewter
#

just turn the whole engine 64b, ez

whole cloud
#

There we go.
Hid some scopes. Increased timing precision more, int64 instead of 32, double instead of float.
Now you can finally follow almost all disk reads through the startup.

So you can zoom in and be annoyed at why vanilla doesn't use binarized stringtables

quaint flame
#

Time to binarize them😄

whole cloud
#

861ms for stringtable loading total.
If I enable the cache.. 134ms

The world is saved, I shaved off half a second of your game start time.
Rejoice!
(No I'll leave that disabled because I feel bad about writing that cache file to SSDs)
Although thats only ACE+CBA on a 11s game start..

#

The question should rather be. What are these 800ms doing nothing frogthinking

fiery crescent
#

I enjoy following your logic flow Dedmen. 👍

whole cloud
#

Okey so while the initial terrain load is happening, loading the CfgWorlds/DefaultWorld, we would have enough time and space to run Vehicle preloading.

But then also the question, why is loading a empty default world (doesn't even have a wrp file) taking so long 🤔

Loading essentially nothing, is taking 1 second out of my 11 seconds game start time

#

Ahh.. SimulWeather initialization. Its loading its config, initializing/allocating its textures. And we just wait.
I'm not a fan of waiting..

whole cloud
#

Ugh, vehicle preload reads config entries which can execute scripts.
And weather init reads config entries which can execute scripts.

Both happen together and womp womp

#

Or I just slap a lock around all config script evaluation......
That will make them super-mega-slightly slower, but I can run config loads in parallel then (probably) meowsweats

#

Why did I not have this idea before..
That would also allow me to parallelize the parseConfigs step (1.4 seconds of 11).

But its possible that I did have that idea before, but there is some other problem with it
RPT logging would be a bit woozy with different configs throwing errors in between eachother.
But then make your mod without config errors darn it!

oblique hearth
#

But to make a mod without errors, i need to read rpt hidethepain

#

also need to check if weather init etc. do not implicitly assume lock around the entire operation, not just config access, so as to not disturb the global state of affairs

whole cloud
#

Almost everything assumes a implicit lock, by being in main thread only

#

Ugh annoying.
ConfigParsing all references the global script state. So cannot parse files in parallel because they lock themselves a scope for variables. Sad.

Mods with unbinarized configs and __EVAL statements, could be reading variables from other mod configs that were loaded before them (Even though that order is NOT given by requiredAddons, and instead follows the -mod= parameter order so they have no control and cannot rely on that ever working)

quaint flame
#

Looks like a lot of work for a faster startup timenotlikemeow

whole cloud
#

Worth it though 🤣

#

What are the chances any mod used and depends on that feature that I'm sure is not documented anywhere and that anyone with a binarized config can't use anyway

#

Although, no, nevermind.
Variables are separated anyway.
Why does it use the global state then 😠

oblique hearth
whole cloud
#

Waste of time. I'll just change it, publish it and see if anyones mod breaks

elder adder
#

Another days problem

whole cloud
#

I think I can fix it by not the whole config file locking a script scope, but instead every __EVAL statement locking its own.
That makes __EVAL (which barely anyone uses, and binarized configs don't have at all) a bit slower, but lets me run all the rest in parallel

whole cloud
#

Mh.
No crashes, not even any asserts.

Vehicle preload now runs parallel to terrain and simulWeather init
Mildly surprising, but neat

whole cloud
#

Config parsing in parallel also doesn't work because it uses the same unsafe pool allocator as scripts variables do.
But luckily, since I last looked at this, I implemented a new threadsafe variant that I can just drop in there.
It doesn't work on 32 bit, but to hell with 32 bit 😄

#

Yeah well... Uh.
😄

quaint flame
#

Worth it lol

whole cloud
#

I moved the vehicle preload into a separate thread to run in parallel.
And parallelized all config parsing.
And the load time went from 11 seconds down to.. 11 seconds!

quaint flame
#

At lest config parsing is 0.1 seconds faster

whole cloud
#

Gotta see what it does with bigger modpack.
But likely will run into I/O limit

whole cloud
#

The major drag is that all config strings are de-duplicated.
And that has a lock on it. So every string read from there, runs into the lock.
But I can turn it into a read/write lock and hope that the majority of strings are actually duplicates that are already in there

#

Excuse me sir. Please.

#

Down to 10 seconds load time hmmyes

#

Still most of it is in the string deduplication and the rest is I/O.

#

If we had enough ram to not worry about duplicate strings though :harold:

#

If I move the TexHeaders loading later, to run at the merge step where we have no conflicting I/O though 🤔 Mh.

whole cloud
#

TexHeaders parallel with parseConfigs
Configs 779ms, texHeaders 1s65ms

TexHeaders parallel with cfgMerge
Configs 682ms, texHeaders 395ms

👍

#

Sadly ACE raining in my parade
I have the tools now with the script handle stuff to make htmlLoad suspend in scheduled and run async. But thats unscheduled script

#

That's maybe a interesting idea. The engine can now internally create a script handle and waitUntil on it, without you ever noticing. To turn some long-time script commands into async over multiple frames.
But I cannot think of much more than htmlLoad to benefit from it. callExtension I guess?

whole cloud
#

yo that works

#

Big modpack
10 second faster launch
58.5 -> 49.5 (49.0 with stringtable cache but I said I'd leave that off)

parseConfigs 6.1s -> 2.4s
vehicle preload only cut off 1s by running it parallel to the SimulWeather init

Technically I can probably run parts of vehicle preload in parallel because we can now MT config reading.
But there are so many hidden dependencies (I saw only with modded loading that Car types depended on the terrain which I was loading it in parallel to :D)

But the veh preload is 8 seconds so might be worth it.
Right now I also wait for it to finish before continuing, I might be able to run it in parallel with the world init script, but if the script creates a vehicle class, might be bad. No more time today.

Mh... The start part where it loads the PBO..
In parallel to loading PBO, it also hashes all script files, which it needs later for multiplayer.
Maybe I can move that to run parallel to the preStart script, get rid of 4 seconds of hard I/O load while we are I/O bottlenecked for the pbo loading..
Have to try that tomorrow

#

Thank you for attending todays live dev-diary

silk pewter
whole cloud
#

So that last idea, yeah it works.

lBankAddon from 4.1s to 2.5s
BankHashes/DataIntegrity threads from 4.5s to 0.8s
TexHeaders from 1.4s to 2.1s (But the cfgMerge takes 1.9s anyway, we only waste 200ms with that)
addonLoad 10.3s to 8.8s

So, by just moving when in the startup sequence one thing happens, everything gets faster.

#

Now if I can move that big block, over there, I can win 6 more seconds :u
Oh wait I can't because it needs the terrain 🤔
But I'm sure I can load that just before the preStart script and be fine 🤔

Its all just tetris.

stark falcon
empty goblet
empty goblet
empty goblet
#

Players being killed and coming back to life
anyone got this with 153281 ?

analog acorn
fair ore
uneven bluff
analog acorn
#

setDamage being able to bring back dead units is a known change (it's in the change log) and it will be changed again soon to not be the default behaviour

shrewd frost
# whole cloud Now if I can move that big block, over there, I can win 6 more seconds :u Oh wai...

Maintaining and modifying an engine alone is incredibly demanding. Seriously, I think you should sit down with whoever is in charge at BI and have a thoughtful discussion about open-sourcing Arma 3—either fully or partially(for example by opening up interfaces that would allow the replacement of legacy systems such as lighting, particle effects, or skeletal animation)—at the right time. Many well-known engines (Unreal, CryEngine, Source Engine, etc.) have opened their code. I don’t believe open-sourcing would significantly impact revenue; after all, their marketing teams aren’t naive. It would be a shame to let such a well‑built game like Arma 3 slowly fade away over time.

proud cape
#

now while unreal cry and source have their engine source available keep in mind that those engines are products of their developers (as in licensed as prebaked engines)

#

and thats why the developers of those engines have an interest in making their source available

#

i dont imagine RV4 being specific to arma and still (from what i can understand from lurking this channel for a few months) having code from OFP would make a selling point

#

while it certainly would be great to have community support for engine improvements i dont think that what you're stating as precedent would make a reason

#

still i've got a lot of respect for maintaining the game while arma 4 is most certainly being developed

void badger
#

Considering a lot of that code is in VBS sadly it'll probably never happen

spiral pond
#

Partial open sourcing would already have various benefits like:

  • understanding the engine better (ie AI, physics, etc)
  • better and more precise documentation
  • at least to some extent community could debug/narrow down issues better
  • people could submit fixes (for somewhat simple things - otherwise more manpower would be needed as Dedmen's time is spent elsewhere in more meaningful ways)

IMHO a full open sourcing is unrealistic for various reasons. Yet even "just" the ability to build a non MP version would allow way more community development possibilities, enhanced dev tools use/integration, etc. I'd imagine it would require to encapsulate 3rd party code to dlls with obfuscation or such to avoid IP/license issues.

obsidian condor
#

I say "most" because VBS4 has a new engine but still uses SQF afaik?

#

Mondkalb would know better though

heavy galleon
#

Daddy dedy, have you been touching projectiles locality recently?
I got some people complaining about things stopping working frogthinking

heavy vortex
#

what things :/

heavy galleon
#

My addons that do shenanigans with projectiles like replacing them with different type as I can't load mixed magazine

opal hound
#

How do reload tracer mags work then?

heavy vortex
#

Special-purpose config parameter.

opal hound
#

Fair

heavy galleon
opal hound
#

Yea I think some locality may have been touched though 😆

heavy vortex
#

The impression I got was that projectile locality didn't change but it no longer incorrectly spammed network messages for local projectiles.

heavy galleon
#

monkaHmm I would hate to go back in the spaghetticode I wrote year ago and redo it KEKW
But I will if I really have to

heavy vortex
#

But maybe that means that some local projectiles were actually global projectiles that were cloned on every client?

opal hound
#

Ooh yeah I just read that better, hm

heavy galleon
#

in my case the issue is that I need to replace a shot projectile with a different type, as you can create mixed magazines with any combination of he, smoke, ilum and penetration
and based on the mag configuration I replace the projectiles while in flight, as it just shoot HE by default. (and the combination in magazines are done by players)
But it got reported that people see HE even when they loaded smoke sadCat

opal hound
#

Globally?

heavy galleon
#

I think I am assuming that the "real" projectile that is cloned by others is the one on the machine of whoever has the vehicle local

heavy vortex
#

or turret local :P

heavy galleon
#

well, it has only one slot dogeKek

#

if you are in, you are in the turret

heavy vortex
#

Static weapon?

#

I'm not sure how those work. Normally vehicle locality is based on the driver, so it's possible that vehicle and turret locality could still be different for single-turret statics.

heavy galleon
#

yeah static, mortar

heavy vortex
#

I checked a couple and the vehicle locality does change with the turret.

heavy vortex
#

Hmm, had a couple of weird in-game freezes on the latest perf.

heavy vortex
#

Are either of the FROZEN mdmps useful in that case or do you need to force a dump in task manager?

empty goblet
whole cloud
heavy galleon
#

And can we get changed that would make it easier?

whole cloud
whole cloud
whole cloud
stark dragon
#

Any updates on the significantly slower load times since last update?

whole cloud
stark dragon
#

Thanks bud.
I know a lot of people think it's too many GB of shady mods but my load times have doubled to ~20min even with just ACE/ACE-X and CBA.

shrewd frost
analog acorn
whole cloud
# shrewd frost Please share your thoughts on open source. We all know that your views do not re...

I don't think fully open source is viable, atleast not in the next few years. Once Arma 3 goes fully EOL we could consider it.
But if we look at older games, like operation flashpoint/Arma 2, we also didn't do open source these yet, even though its fully EOL. I don't know why that is, it could be licensing reasons, but Arma 3 still contains a majority of that old code too, so if its licensing reasons then they would apply to A3 too.

But we already prepared infrastructure for more open external contributions and code access.

analog acorn
whole cloud
#

That could apply to Arma 2 OA yes, but not the older stuff than that.
Multiplayer security is massively different. Old bugs that might have been there and could be abused, have long been fixed.

shrewd frost
# whole cloud I don't think fully open source is viable, atleast not in the next few years. On...

I also believe that partial open-sourcing is the most practical path, even if it’s just a small portion. As a MODer, I’d love to bring dynamic lighting effects into the game’s particle system. Designing a new particle system with OpenGL is straightforward—I’d only need BI to provide the RV4 interface so I can replace the outdated system.

Gradually opening up different interfaces feels like the simplest approach, and it wouldn’t require a massive team to review every line of code. That way, you can keep focusing on what excites you (like your long-standing interest in reducing the granularity of engine multithreading locks 🔧🧵) while others chase their own passions.

Man, the possibilities are endless ✨🚀—just thinking about it gets me fired up! 🔥

patent sky
#

What in the AI did I just read

shrewd frost
quaint flame
#

"Designing ... in OpenGL is straightforward"

You need to hire him

empty goblet
silk pewter
#

OpenAL used, OpenGL denied… OpenRV wen?

quaint flame
#

Me waiting for open sourced functions library

whole cloud
silk pewter
shrewd frost
# empty goblet OpenGL denied, only Vulkan

DirectX, Vulkan, or anything else—it doesn’t really matter. As long as I have the drive, I can learn it. Honestly, what are your hiring requirements? Do you expect a detailed understanding of computer graphics? A deep knowledge of engine architecture? (I might not meet those requirements, I’m just curious.)

obsidian relic
shrewd frost
# silk pewter https://careers.bohemia.net/position/engine-render-programmer-praguebrno 😊

No, I’m just curious. I actually looked at your job requirements before, but relocating internationally involves too many complications. I really think you should consider remote work. Also, I’m not ready to dive into Reforger yet, since I’ve already invested so much time in Arma 3. And as far as I know, Enfusion’s particle limit is 10,240—roughly half of what Arma 3 allows—which further dampens my enthusiasm.

silk pewter
quaint flame
quaint flame
shrewd frost
shrewd frost
shrewd frost
empty goblet
shrewd frost
quartz rampart
#

same what Steam/Proton uses for the steam deck

patent sky
# shrewd frost I believe RV4 is based on DirectX 11, right? Then why is it compatible with Linu...

Its not directly compatible with Linux, only with Proton and that uses DXVK to translate DirectX11 to Vulkan

In the meantime, while you’re preparing to open up the interfaces, do you have any suggestions for what I could work on?
There is no "preparing to open up the interfaces" We have prepared some stuff for potentially more open external collaboration in the future like dedmen said.
and even in that case you would need very in-depth knowledge of the DX11 processing stack and engine code

shrewd frost
spiral pond
#

From what i recall Marek and Ondra/Suma did contemplate to open source OFP or A1/A2/OA.
Aside from potential licensing reasons, or potential VBS complications, most likely the reason as usual was lack of time/other prios.

Open sourcing such a complex engine is not a simple process by any means. ie you have to check for potential 3rd party license/IP issues, consider impact on the existing products, clean-up the code to some extent, prepare the whole thing from the legal side, documentation/presentation, public communication and probably a bunch more topics.

There have been a few botched open sourcing of game engines/games after all.
Probably a staged approach would help, yet still involves most these topics and bunch of prep time.

Anyhow possible to share any more info on the startup profiling already?

proud cape
#

i would strongly advise to temper any expectations of source availability

shrewd frost
# patent sky Its not directly compatible with Linux, only with Proton and that uses DXVK to t...

Alright, let’s take a step back. What I want is for Arma 3 particles to achieve the effect shown in the image. Can you or Dedman arrange this? This is an Unreal Engine 5 effect, where particles can use an emissive texture so that specific parts of the particle glow, with both emissive and halo effects, and the light can actually illuminate the environment. (I believe Enfusion already has this capability.) This is not the same as Arma 3’s emissive, which is more of a cold glow effect.

real creek
#

This is getting quite offtop for this channel

fair ore
real creek
fair ore
minor epoch
#

Its John GPT and arma is its first game, we have reached gamer AI before AGI suffer

silk summit
#

I just want to remark that I had nothing to do with any of this!

silk pewter
#

that's precisely what an AI would say… I know, I am one

whole cloud
whole cloud
#

For the people that have slow game start, please use that parameter.
It will dump two capture files into RPT folder, send them to me

silk pewter
#

is that param temporary or planned to stay?

uneven bluff
#

Updated and now the game hangs when I attempt to join a server through the server browser. Starting the profiling exe seems to work and I can host a local server.

#

(Downgraded my exe to the last version and everything works again.)

whole cloud
#

Reverting Prof due to hang on MP connect.

#

Google drive will stay, and you can still grab the exe to do that startup profiling

fallow sky
#

Seems like there is an issue where I can't join a server since last update and the game just crashes

opal hound
#

read the messages above yours

#

Anyway, for some reason that parameter didn't create any files for me. Not sure if startup was under some limit?

opal hound
#

I am dumb. thanks

#

Yeah that's also why those non-network ref reports didn't send, I just can't read 🤦‍♂️

empty goblet
# whole cloud

was the new command name decided yet ? i vote for magicDamage 🙂

uneven bluff
#

setTransientDamage

#

setMagicDamage

spiral pond
#

@empty goblet @silk pewter seems no longer possible to create threads in the channel - is that (change) intentional?

[weird it works via the top menu - but not via the channel list on the left]

whole cloud
opal hound
#
  • Added: -reportNonNetworkObject command line parameter that automatically reports "Ref to nonnetwork object" errors (Windows profiling binary only)
#

will run tonight and see what happens

spiral pond
#

profileGameStart observations

patent sky
knotty wraith
#

... Known Issues:
Freeze when joining MP session...
Waiting for a fix? or do we set it up and help fix it?

whole cloud
#

I'll fix it tomorrow

real crypt
#

i've just spent so long trying to figure out which mod in my modlist is fucked from last night just to find dedmen has broken my arma install 😢

patent sky
whole cloud
#

Freeze reproduced.
I actually saw this noted before. Thought if I should note it in changelog, but I couldn't find any freezes while testing so thought its probably been fixed in the last decade that this feature had been disabled.
Apparently not!

whole cloud
#

About the -reportNonNetworkObject parameter.
Do you see "refNNObj" dumps in RPT folder?

If they are there then the engine part is working, just the crash reporter part isn't 🤔

opal hound
#

Didn't manage to catch any yesterday, there weren't many vehicles though which is what I usually see cause it

whole cloud
#

But its been a week now

#

So there should be some

opal hound
#

I wasn't properly running the profiling binary until yesterday

whole cloud
#

That doesn't need profiling binary

#

OH

#

It does

#

its not supposed to
Too late for v28 though

opal hound
#

yea it's fine I'll keep running it

#

Will the server binary also report it? I have seen a few on that side too but may have been before the fixes

whole cloud
#

Yes

latent socket
whole cloud
#

Yeah but the dump creation atleast was there, even if the sending away didn't work

whole cloud
#

(Windows profiling binary only)
Oh I guess its really supposed to only be profiling binary. Mh.
I don't remember why, but if I wanted it that way I probably had a reason, I'll leave that then

whole cloud
whole cloud
obtuse bramble
static briar
static briar
# static briar That mod has truly "crazy" and "malformed" config. so it's not works anymore and...

Restrictions:

  • No reuploads on Steam allowed! No not never!
  • Montarization in any means is definately not allowed!
  • Use on monetarized servers is not allowed.
  • If you want to rip/change/host these files to include them in your local clan-repos, thats ok for us.
  • If you want to change or implement something, talk to us, maybe we can make an improvement in the official version together.

maybe we can make an improvement in the official version together.
no he is closed the comment section. never.

obtuse bramble
#

I believe you, yet it only stopped working completely due to the latest branch update so that's all I'm reporting.

#

Main build still works, previous also. That is all. notlikemeow

obtuse bramble
static briar
slender lagoon
#

Is it just me or when clicking on scenarios the game freezes

#

im on v28 btw

violet knot
#

Ai VTOL with "Land" Advanced waypoint not working correctly for Ai controlled VTOL vehicles.
They either try to slow down and crash without Vectoring or Vectoring is not recognized.
Launch without mods/cDLC, Repro in VR with Blackflish and standard helipad with "Land" WP on helipad.
Normal branch, no issues.

deft oak
#

Still getting reports of the resurrection bug today:

"There is currently a bug, where sometimes if you die, you can still walk around, shoot, pick up your gun, yada yada. This all happens while the bleed out countdown is on your screen. It happened to me earlier and I just stood there since I was bugged another player shot me and got 3 kill messages, I fell over and my character immediately stood up again. No way to get out of it unless a teammate kills you and starts the revive before you stand up again. Once you are revived it fixes the bug."

heavy vortex
#

vanilla revive?

analog acorn
deft oak
#

Sorry, should've clarified. This is from an Exile server. You get "downed" but it actually means you're dead and available for a revive for 5 minutes.

#

DB has a video of this on their Exile servers as well but not sure if it ever got to Dedmen.

heavy vortex
#

If you're revivable then you're not dead. It'll be using setUnconscious or similar.

#

You'd need an Exile person to check what their downed state actually does.

#

Haven't had any issues reported with Antistasi or ACE revive lately, although if it's specific to perf branch servers (also not specified in the report) then that might not have been tested much.

analog acorn
heavy vortex
#

Yeah that's also possible. Makes it even more important to know how Exile is handling it.

obsidian condor
#

Pretty sure you are dead and respawned. Does the same in Epoch if enabled on a server - thus have been watching this conversation

#

Both mod's systems were implemented over a decade ago now...

deft oak
#

you do indeed die

#

and then get cloned/replaced if you get revived

heavy vortex
#

How does it block the automatic respawn/death logic?

latent socket
trim ether
#

We're experiencing severe login issues with the latest perf build when deployed to a server. Clients either hang when connecting and do not get to the roster, or once on the roster are unable to select a role. Occasionally they are able to push through, only to not see any other player, regardless of that player being spawned at the same location. The same mission worked correctly with perf v26

whole cloud
whole cloud
whole cloud
trim ether
whole cloud
whole cloud
#

If you remind me tomorrow or next week, I could look at why that broken mod worked in the past. But for now I won't put a priority on something that is clearly obviously blatantly broken, being broken.

trim ether
whole cloud
whole cloud
whole cloud
# whole cloud Reproduced and fixed, thanks.

Who would've thought that Read/Write locking could be so hard.
Though tbf it really only is because the old implementation was just so bad.

We need to protect one array. Instead of putting a lock around it, it was decided that every caller should grab a lock on their own, before calling any method in the class that manages the array.
And made it impossible to access it without holding a lock.

Then we also duct-taped callbacks into the class.

So to add a PBO, you need to get a write lock, then call Add. Add internally fires a callback.
If you want to access the PBO list in your callback (which you have to, because the callback only gives you an index into the list, not a reference to the PBO that was added. And you want the PBO out of the list) you need to get a read lock.

Now the Add is wrapped in a write lock, and inside the callback which is inside the Add you want a read lock, which you cannot get because its already locked for writing.
The Add could unlock the write lock before calling the callback (which is dangerous because the index might change and be invalid), but it can't do that because the Add doesn't even see the log as it was done outside by the caller.

I sense another big refactoring coming up.. But fixed for now.. "Trust me, I know I already have a lock, just let me bypass all the safeties and access it anyways, thank you"

silk pewter
#

smeels like an added bool trustMeBro = false param! 😆

whole cloud
indigo anvil
whole cloud
#

Yeah I smothered it with comments. But the main point is that the problematic stuff is done for a bad reason and anyway is risky/unreliable.
Instead of passing around the PBO itself. We pass around and store the index, and grab it from the list every time we need it.
But if a PBO is removed from the list, the index will change. And suddenly you access the wrong PBO. And all the extra code to access the list every time and try to find the PBO, when you could also just store the PBO directly instead of the index to it. Can make code so much simpler and safer and easier to use..

whole cloud
plain trout
#

I had an issue yesterday that I wouldn’t see the OK button after I returned to the lobby of the MP game. Dedicated Linux vanilla server and me on latest prof. Logging in/out of admin didn’t fix it. Reconnecting did

whole cloud
whole cloud
#

Thank you discord for just not accepting my edit and not giving me my text either

#

If you logged in admin try to force start while not all players have selected role, the button will disappear but you will be readied up, server will wait for all players to be readied before starting

I assume, the display stays open in background, so when you after that, return to the lobby, it'll still be hidden?
If thats it then I need FT ticket with repro steps

plain trout
#

Not existent

#

The server was already started. Will do later then

fiery crescent
fair ore
#

I wonder if it's broken in 2.18

whole cloud
#

There were changes to helipads in December and june @feral harness
#perf_prof_branch message

All of which are also in stable, the June ones were merged last-minute.
June:
"helicopter would not land on a helipad placed on an object"
"land command made compatible with VTOL and waiting on elevated helipad"
#arma3_feedback_tracker message

December:
"Helicopter would not respond to change of helipad during landing"

whole cloud
whole cloud
uneven bluff
#

All this sophisticated autopilot, I'd just want the helo/jet to do nothing and keep its thrust and direction the same when I lose focus or switch seats 😛

silk pewter
#

ez make it a gameplay option in settings

fair ore
#

yes very good

charred pagoda
#

how to clear mod cache?
my friend's game doesn't start, just stuck on loading

#

upd: even without mods game stucks on "loading addons"

#

works on stable branch

#

ok, i have same issue, lol

#

game doesn't start at all on latest profiling 2.20.153303

whole cloud
#

:panik:

#

Should create a freeze dump in RPT folder?

#

If not you can create one manually in task manager and send it to me

#

What the heck, I can reproduce.
But only he profiling branch build, not my own build

#

Luckily I just finished ripping out all this mess that caused the freezes.
But I didn't test it enough yet meowsweats

#

yeah wtf.
Profiling exe from steam == freeze.
Profiling exe self built from same code and in same configuration == starts fine.
🤣

slender lagoon
#

yeah same stuck at loading addons

charred pagoda
#

There is not crash dumps. Task manager generates empty dump

charred pagoda
#

Do you still need it?

whole cloud
#

Probably not

latent socket
whole cloud
#

Profiling exe is a separate executable, not enabled by default.

latent socket
#

Yes, arma3_x64profiling.exe or however it is

whole cloud
#

yep

#

meowfacepalm Yeah I see the freeze.
Onto another try then.
But weird that I don't get it locally, but it seems to be a bit random, and the more pbos (and the slower) the more bad

latent socket
#

I will quadruple check later that's what im running. I see no reason it would have changed on me, but 🤷‍♂️ shit happens

whole cloud
latent socket
#

My desktop icon for A3 was for the profiling executable

uneven bluff
#

My profiling executable is hanging too.

latent socket
#

Like I said, I'll check again. I'm almost certain that's what I've been running. Will report back that either I'm a dumbo or it's another issue

whole cloud
#

Fixed, ETA 50 minutes 🗞️

#

Someday we'll be back to stable and less chaos

patent sky
tropic thunder
leaden relic
#

coming up soon dedmen
-# Thought it was a mod issue since I was doing dev work

whole cloud
#

:harold:

#

We're reverting back to v26, last build is also bad.
Retrying on monday

stable wasp
#

when i use profiling branch it gets stuck at loading addons and never opens

whole cloud
#

Revert is done

stable wasp
whole cloud
#

None of the dev branch versions. dev-branch doesn't work online on normal servers no

stable wasp
#

oh mb i meant performance branch

whole cloud
#

If you mean profiling branch, then the current one on steam, which is now v26

stable wasp
#

the v26 in pins yeah?

#

from google drive

whole cloud
#

Its on steam. You don't need google drive

stable wasp
#

so just get the perf branch rn? from betas

whole cloud
#

yes

stable wasp
#

sorry im new tho so kinda confused

#

i got it few mins ago and it didnt work

whole cloud
#

Yes we're a bit chaotic currently

opal hound
#

What are you looking for in terms of better performance?

stable wasp
#

notlikemeow ill re try. i was confused cuz i saw lower specs than me get better performance

stable wasp
#

i did change params from launcher and refresh rate from config

#

notlikemeow but the fps seems to be unbothered even tho it shows 70-100 fps in settings

#

wait the profiling branch is working rn lol

opal hound
#

idk if there are really any major performance improvers on this branch currently, mostly just crash fixes and minor features

#

I would probably focus on settings and your own system first

latent socket
#

@whole cloud Should I still run the profilegamestart parameter?

stable wasp
#

using the prof branch fixed my performance

#

frogthinking lets keep it this way gang

deft oak
obsidian condor
# heavy vortex How does it block the automatic respawn/death logic?

For Epoch, you get a death screen and extended (10 mins) wait before auto-respawn happens if you can be revived. Can just manually select respawn there if you want. Some behind the scenes code deals with the revive from death action by another player and creating the new player object with your inventory and modified health stats then uses selectPlayer to move you into the new player object, with the old player object having been hidden...

#

I'd assume Exile is similar given many of the devs came from the Epoch community originally

obsidian condor
#

Yeah, was just talking to Dave and he mentioned the Hunger/Thirst system too... Will affect Epoch too, will work on a fix. Probably other systems that do a setdamage to 0 will be affected too...

deft oak
#

yes, that's the video I was referring to

opal hound
#

Some Ref to nonnetwork object reports should have been sent through

#

Seen them sending in the crashreport.log, if you need the refObjNN mdmps let me know

analog acorn
#

Reminder that the setDamage change is going to be changed again, so that bringing back dead units is no longer the default behaviour, but is available by an alt syntax or separate command instead. This is mentioned in the changelogs. It was already reverted in a prof update, in fact, but that update was temporarily rolled back for unrelated reasons.

deft oak
deft oak
# obsidian condor He shared this video too (believe Dwarden and Dedmen have this)

Just a heads up, after watching the video again and reviewing how the infistar spectator determines the "dead but still watching message" it seems that this also breaks the alive command once a player is resurrected with setDamage. The condition for that message is alive player equals false so an alive check likely won't fix it. I'll confirm all of this when I have a tester later and report back with something more definitive.

deft oak
#

With a quick test it looks like alive does still work after "reviving" someone with setDamage 0 so should be safe to use as a check.

warm sedge
#

Hello All: can someone give me a link to the Take EventHandler

#

i can't seem to find it

warm sedge
#

oh cool thx man

empty goblet
warm sedge
#

oh shit sorry dam

#

what the hell em i doing in here lol

#

sorry

whole cloud
whole cloud
#

No the code is correct, once its available

uneven bluff
#

Just curious about the performance of a script command: why do deleteMarker and deleteMarkerLocal perform so slowly compared to creation?
createMarker ["testmarker123", getPosATL player];
Takes 0.00051606 ms.
But

deleteMarker "testmarker123";```
Takes 0.17836 ms.
(The reason for the two-liner is because deleting a non-existent marker is fast too.)
quaint flame
#

Probably because createMarker just appends to the array where deleteMarker needs to update the indices.

whole cloud
# obtuse bramble It looks like ARPI objects + ACE cause the game to crash on the latest build* b...

The more I look at it, the worse it becomes.

  1. It tries to define ACE_Actions class twice in the same place, that is not valid and never was.
  2. It does inheritance wrong
  3. Even if it did inheritance right, it would STILL be wrong, because the ACE_Actions class its trying to inherit, doesn't even exist. That radio inherits from Items_base_F, which doesn't have ACE_Actions, and the radio doesn't either.

In the code that finds base class, we specifically have code for this case for when you inherit from a class named the same.
When that happens, it specifically ignores that it found itself, and goes into the base class to find it.
But as I wrote above, Land_FMRadio_F does not have ACE_Actions to inherit, so it obviously doesn't find it.

You can fix this with a extra mod, if you add ACE_Actions class into CfgVehicles itself (probably bad idea), or into Land_FMRadio_F.
But you need your PBO to be loaded before the items mod. And while requiredAddons most likely will generally sort it that you would be before, there is no guarantee for that. But I think it'd work.

Now why did this work before?
I made a performance optimization for finding the base class, which accidentally fixed a bug.

In code its supposed to find itself, but, it was bugged and instead found the first class with same name. Which due to the broken double-defining of class which shouldn't even be allowed, found the empty first ACE_Actions class.
So while finding itself, it did NOT actually find itself, very broken.

But because of finding the first ACE_Actions, it thinks it inherits from itself, which is not possible.
So to fix that, the code early on considers that invalid, and instead tries to find a different base class in the base/parent. It fails to find it.
This causes the base class to actually be null, so the inheritance is silently deleted.

This is just a huge tub full of shit that you just plonked down at my front door.

#

Do I undo this performance improvement and engine bug fix, to appease your completely messed up mod? I don't want to.

patent sky
quaint flame
#

yay I was right 😄

uneven bluff
patent sky
uneven bluff
#

It actually takes a lot longer in my game than the codePerformance measuring thing implies, probably for that reason you just said.

whole cloud
#

We can optimize it if you delete the last marker from the end. But probably not worth it because you're most likely not doing that

quaint flame
#

I always wondered it if wouldn't be more efficient to have deleteMarker <array> and delete a whole range in engine at once?

uneven bluff
#

I can but it's not a big deal enough for me. It's just for drawing debug spawn locations on the map.

quaint flame
#

But deleting a lot of markers is an edge case kinda

uneven bluff
#

Definitely.

#

Was just curious how it worked behind the scenes.

#

To my mild surprise, markers in general aren't that much more performant than drawIcons, especially if they're supposed to represent moving icons.

whole cloud
# whole cloud Do I undo this performance improvement and engine bug fix, to appease your compl...

Two options. I undo the performance fix, but only in stable, and keep it broken on profiling branch so that you stop using broken mods.
Or, I turn the "missing base class" error, into a warning popup. Which doesn't kill the game.

What the game currently does is basically pretend as if the class didn't inherit from anything, silently, without ever telling you about your mistake.
So I'll just do the same, but loudly and annoy you with popups till you stop using that broken mod.

quaint flame
#

PopUp

obtuse bramble
# whole cloud Do I undo this performance improvement and engine bug fix, to appease your compl...

Well, thank you for the tldr (jk) and after discussing this with other members in my community, we had the same sort of idea you proposed but were waiting on what you were going to say. So that being said, we'll see if we can jerry-rig it to prevent anymore work for you in the future.

Lastly, I'm just reporting an issue - I didn't see or get this error before for reasons you explained. At what point are we expected to break open every mod every uploaded to the workshop and break workshop policy, while also being pointed out to be the one using ''broken'' mods. This mod was likely fine for many years as ACE didn't change much either, till it did so perhaps that's what's now being exposed.

My point is. I'm ok with breaking and entering pbos of supposed broken things as opposed to bother a BI* developer to fix it for me, unfortunately the policies that could save you the stress are also the ones that can punish me for trying to help.

obtuse bramble
patent sky
#

My point is. I'm ok with breaking and entering pbos of supposed broken things as opposed to bother a developer to fix it for me
has anyone tried contacting the developer? that would be the first step

obtuse bramble
#

I meant BI developer, not the mod dev. Sorry

#

I know Dedmen does his best to work around issues or reprogram things so they don't remain issues, with modders however.. They tend to completely ignore requests even if you already fixed it for them.

patent sky
#

The issue is that the more broken stuff we "allow/tolerate" to just work the worse the problem becomes because people will look to this mod for examples on how to do stuff > make the same mistake and probably even worse > repeat
A popup to warn of a broken mod sounds fair in this case

obtuse bramble
#

Right but I'm trying to find where that line is. If BI only wants to keep it a popup, then I'm all for it. I'm just trying to understand when and where it'd be applicable to create my own fork of a mod, just to prevent even the work to make the popup happen. If that makes any sense.

whole cloud
#

I'll just make it better for everyone.
"Cannot find base class" errors will now be just a warning.
The game will just throw away the inheritance and load the class as if it didn't inherit anything.

That will make bunch of broken mods usable.

patent sky
#

when and where it'd be applicable to create my own fork of a mod
but nobody has even tried contacting the dev yet, and the mod clearly states no workshop reuploads. so that should be the first step

whole cloud
obtuse bramble
#

Thank you both regardless.

normal kettle
#

Actually his suggestion doesn't even need to reupload the file.

whole cloud
#

If you have a local repo anyway (not workshop) then just edit the pbo and be done with it. Thats the fastest and easiest solution

obtuse bramble
whole cloud
patent sky
#

where the line is for the workshop policy
The license states no reuploads to workshop = no reuploads to workshop, no matter if its broken.

obtuse bramble
#

Fair enough, thanks guys.

fiery crescent
#

Workshop should prevent broken mods from being uploaded or mark them with some sort of number of errors on the main mod page or have two sections of mods, broken and clean for those who download them to be informed of what they are getting. This would most likely encourage devs to fix the mod in the first place. Just a thought on my part.

quaint flame
#

Just that there is no way to check if a mod is broken except manually

normal kettle
#

Yeah the only option would be that modders need to change like a version number somewhere in the config after every game update, so the Workshop checks that it has been updated to the latest game build and then some tag like [OUTDATED] is removed from the Workshop

quaint flame
#

That makes 0 sense

fair ore
#

What R3vo is getting at is that you usually need a human to decide whether something is actually broken

normal kettle
#

I think some game do/did it like that. Might just be enough that update was made in the Workshop no matter what it's

#

Doesn't actually check if something is actually broken

quaint flame
#

Just because the game updated doesnt mean that the mod is outdated. On the otherhand if the mod relies on a different mod that had a major update it might be outdated

obtuse bramble
quaint flame
#

Likely

fiery crescent
quaint flame
#

No they can't

worldly badge
#

Who/How does someone can tell a Mod is working intentionally

#

Nobody can. No human can. No author can

fair ore
#

I think an author can tell if it's working intentionally but uhm

#

who's gonna admit it ain't

empty goblet
quaint flame
#

Only if it's full screen with a white background 😁

#

You gotta burn it into the retina to have any effect.

empty goblet
quaint flame
#

Followed by a few "Are you sure?" prompts

fiery crescent
#

And count down to FORMAT C:

proud cape
#

i would be the kinda guy that returns errors to sender so people are force not to use hopelessly broken mods, but thats from an architectural/maintainability standpoint

fiery crescent
#

I'm keep getting weird simulation freezes on server V25. It happened a second time during the past 2 weeks. When it happens the simulation freezes until mission or server restarts. Players can move around. VON is working. Interaction with objects not working. AI stops moving. No server crash. This is in Escape missions. Not sure in which perf ver it started. I jumped from v18 to V25 and don't recall it in V18. Since there is no crash log I don't know how to report this. I sent the RPT to Dedmen after it happened the first time.

fiery crescent
light cargo
fiery crescent
#

Got it. Steam downloaded vs Google drive for V25 in my case. Oh no test different versions from Google drive gosh

static briar
#

official escape mission with no headless and no mods?

#

did you try v26 (latest prof build on steam) and v21 (I think it better than v26)

fiery crescent
# static briar official escape mission with no headless and no mods?

Escape with CUP RHS LAMBS.No headless. Latest official GitHub Escape not Workshop. Just previous server
versions than v18 and jumped to v25. Will give it shot. Just don't want this to slip into stable eventually assuming that it is a dev build issue which seems like it to me since nothing except server version changed in my server setup.

void badger
#

I feel like there might be a known issue where if a player has some... network issue connecting, they're blocked from seeing the lobby screen, and block any others from connecting as well until they Alt F4?

#

Experienced that this evening with a player who normally connects fine, validated files and nothing was broken

whole cloud
#

I've seen it too, but couldn't reproduce it enough to get usable logging out of it

uncut wagon
#

Hey there, why is this chat so chaotic? Is the branch going wild?

#

Dedmen, have you added textures from extensions yet?

static briar
# fiery crescent Escape with CUP RHS LAMBS.No headless. Latest official GitHub Escape not Worksho...

For reference, this happened to me occasionally with a previous stable version (around 2.14).
I determined that the cause was the network configuration and a large number of error logs on that time.
I was also using LAMBS, but I was using a lot of mods and a large scenario like KP Liberation, so I don't think there was a direct connection.
Even then, there were no error logs or dumps that clearly indicated the exact cause, so I wasn't able to completely identify it.

uncut wagon
#

Question is, setobjecttextureglobal will just broadcast the texture to all clients right?

whole cloud
whole cloud
uncut wagon
#

I guess that for it to be seen by everybody, everybody should have the extension

#

Broadcasting textures wouldn't be a good idea now that I think about it 😅

#

Aight sorry for these questions lol I'm not really locked in yet

rain moth
whole cloud
#

Same as warning messages already do

#

linux I think they just write log message.
Server probably pop up

rain moth
#

that will be fun for hosting providers 😆

whole cloud
#

Why?

rain moth
#

"my server doesn't start"

whole cloud
#

I turned a game force-killing popup message box, into a non-force-killing popup message box

#

nothing changed about the popup message box being there

rain moth
#

at least people will still have to stop using broken mods

#

no objection, just curious 🙂

heavy vortex
#

We've had a lot of perf-branch clients (server is stable) in the last few days with intermittent mission startup issues. Symptoms are apparently the display flickering between black & 3d view after clicking continue on the role selection screen, and no progress.

#

Most players just switched back to stable once they had problems so I'm not sure whether it's been fixed already.

fiery crescent
#

How do I check if the server crash dump has been auto submitted?
Fault time: 2025/10/05 02:57:24
Fault address: 8000B0A3 01:0000A0A3ll C:\Arma 3 Server\Dll\tbb4malloc_bi_x64.dll

whole cloud
#

CrashReporter.log

fiery crescent
violet knot
# whole cloud I can even reproduce it on profiling v0 and 2.20 stable. The VTOL just flies ove...

Sorry I was away for the weekend and couldn't respond right off.

Observed the problem as we use MV-22 on our server's scenario as a mobile respawn and as transit between points of interest on the map (Altis). Players started observing the MV-22 was crashing or getting hung up.

Later tested using no mods and with Blackfish and no mods or Creator DLC and followed the steps below 👇
Using profiling version from Steam, used VR map in editor, put down basic helipad, place Blackfish to flying height about 500m+ away from helipad, set all crew to non-playable/non-player, gave group waypoint to "Land" on helipad. Play.
Blackfish tried slowing down to land but never Vectors from watching it

Inversely, reverted back to standard binaries on Steam, repeat steps above in editor, Blackfish lands gracefully.

I run the profiling/performance binaries (off Steam) on our servers and personally use it on my client.

Reverted Server binaries to standard and now MV-22 operates normally with AI crew.

If this has been fixed, I have not checked as I was away for the weekend and will be on my PC tomorrow evening.

Thanks for your attention to this.

It might have been broken for a while and no one noticed on the server till recently. Not sure when it stopped working accurately. It had to be a few weeks instead of months though, as I was riding in it during some testing and landed as expected. Think either late August to early September and was pretty diligent on checking for updates via Steam update for profiling.

whole cloud
# violet knot Sorry I was away for the weekend and couldn't respond right off. Observed the ...

Using profiling version from Steam, used VR map in editor, put down basic helipad, place Blackfish to flying height about 500m+ away from helipad, set all crew to non-playable/non-player, gave group waypoint to "Land" on helipad. Play.
Blackfish tried slowing down to land but never Vectors from watching it
Yeah I tried same repro. Not sure what "Basic helipad" means, I used the square one but shouldn't matter.
Mine never really slowed down much, it just ended up flying circles, also never vectoring.
I also tried it starting out as flying or starting out as landed and taking off, same result.
But exact same behavior in 2.20 stable. I even retested it again right now

I suspect the autopilot changes. There was one that could activate while AI piloted, I fixed that in v30 coming today.
Please check then if that fixes it.

if thats not it, then the only other thing I can think of are the Helipad changes, they caused issues before and were fixed multiple times already. But still that would mean the issue is in 2.20 stable.

whole cloud
whole cloud
#

I think with 2.22 I'll stop forwarding the changelogs to here

eternal kraken
#

hey dedmen, the third link in your post direct me to another ticket(one of mine T193138) instead of the autopilot ticket.

whole cloud
#

Ah oops. Yeah

whole cloud
heavy vortex
#

First batch of problem reports was ~6pm October 1st, so probably v28? I can't guarantee that they were running the latest perf branch version though.

stark dragon
#

Does this mean we're good to run the command line prompt again to try and diagnose the long start times?

opal hound
#

Received by automatic reporter or do you want these?

whole cloud
opal hound
#

wicked

whole cloud
#

Actually it did work last thursday and friday. I got two batches.
maybe it still works 🤞

opal hound
#

yea haven't run a session since

heavy galleon
#

This is the Dedmen praise channel, where is Crumble praise channel?

heavy galleon
#

Only took over a year for the task to be assigned blobcloseenjoy
Crumble deserves to be praised

patent sky
heavy galleon
silk pewter
#

long live Crumble! (but not as much as Dedmen because he just copy-pastes) *runs away tailorswiftly*

fiery crescent
#

@whole cloud Have you had a chance to look at the DMP I sent you on Sunday? I don't know why the auto reporter did not work.

whole cloud
#

No. The reporter didn't work because it was deleted, probably

fiery crescent
#

Interesting, I see reporter exe there

whole cloud
#

yes now because we updated it yesterday

whole cloud
whole cloud
#

We'll get back to stable eventually

eternal kraken
#

"Cleaning up MPMissionsCache folder (If above 1GiB, deleting oldest files that are over 50MiB except the 5 newest)" i dont like and dont want this

acoustic lynx
#

Can we disable that?

whole cloud
eternal kraken
#

biggest is domi by xeno, none pbo with 50mb

whole cloud
knotty wraith
#

мне кажется, есть повод переживать, что будут удалены уникальные миссии, которые через некоторое время можно будет найти только в кеше...

it seems to me that there is a reason to worry that unique missions will be deleted, which after a while can only be found in the cache...

whole cloud
#

Yup I had the same worry. Which is why the restrictions are as they are.
Only big files are deleted, which basically no-one would do before the HTTP mission file downloads was introduced.

Its a cache, not a backup. If you want a backup, make a backup

empty goblet
# whole cloud

@whole cloud this is wrong, i used often the mpmission cache often to check old missions / variants etc., i suggest to move or rename files to not be used

whole cloud
empty goblet
whole cloud
#

Then if you want a backup, make a backup

#

MPMissionsCache is a cache, not a backup

empty goblet
#

it was always persistent cache, so give control over the cache, in era of multi TB SSD with 5GB/s speeds that problem is less relevant than 20 years ago

#

if the problem is size or version, you can link key it to version of game ie \2.22\ subfolder in the mpmission cache

whole cloud
#

The problem is files accumulating there and filling up space.
Making subfolders or moving files around doesn't delete files

empty goblet
#

then expose it into RPT file and into UI ... make it warning , e.g.```
%drive%:\Users%username%\AppData\Local\Arma 3\MPMissionsCache
exceeds 1GB of space, please clean up old cached missions to prevent game slowdowns
or / and (for the other case of problems)
exceeds 50% of free space on %drive%, please make sure you clean ol missions
or / and
offer the cleanup as backup (the files will be moved into /old/ sub-directory

#

another thing to consider is option to define the total threshold ... some may want it to be 100MB another one it to be 1TB and the 'large mission' size too (some may consider it 25MB another one 100 etc.)

#

tons of old missions were already >20MB and that was like ... pre 2020

#

and lot of mission makers don't listen to 'optimize the size' argument anyway

uneven bluff
#

Can put a button in the launcher, maybe?
It would be nice to have a way to manually trigger clean up. We've had problems in the past where the cached mission was the wrong version and that causes the player to be disconnected from our test server.

empty goblet
empty goblet
#

plus it needs to be in both ... because not everyone uses launcher for those things, so in the end it needs to be at least in the ingame

uneven bluff
#

A launch parameter called -makeMyGameFaster. Once all the youtubers make videos breathlessly explaining how to speed up your game catch onto it, it's game over.

empty goblet
#

and i would prefer the ingame to slap me into face that i have cache bloat to clean up (be it manually or by the game but no files 'deleted' suddenly)

#

but then maybe it's just me who finds useful to be able look at cache folder and find there obscure mission from 2016 or older which got lost and the author is full of joy someone has backup 😉

#

today's world is more about 'have it now, fast, instant and forget it before midnight'

uneven bluff
#

I wonder what's the average large mission pbo size. People used to complain that Warlords Redux used to be 6-8mb and I had to cut down all the big textures.

whole cloud
uneven bluff
#

Like Altis Life etc those should be at least 10-20 mb right?

empty goblet
#

i have even some koth and wasteland missions in the history cache which were over 25mB

patent sky
#

not 50 tho

empty goblet
#

i have some life missions with 300mb+ size

whole cloud
#

Well the limit is 50. Not 25

uneven bluff
#

Jeeeeez. That's a lot of download on the server.

patent sky
empty goblet
#

don't ask, someone though it's great to slap in some pictures with 4k resolution w/o compression and then show them in 50 or 25% size and pack that all into mission file

uneven bluff
#

Cut like 2MB from that alone

knotty wraith
#

v.30 -no one can log in to the server

whole cloud
empty goblet
#

another extreme cases were sound files, some missions had thousands of them and some with huge sizes (like 1M> sized oggs)

uneven bluff
empty goblet
knotty wraith
# whole cloud I just tested v30 and v31 on my own server. Mine works fine
18:42:40 glen uses modified data file
18:42:43 Player glen connecting.
18:43:52 Player glen disconnected.
18:51:23 glen uses modified data file
18:51:25 Player glen connecting.
18:51:57 [ANVIL] Fanat uses modified data file
18:51:57 Player [ANVIL] Fanat connecting.
18:52:20 Player glen disconnected.
18:53:19 Player [ANVIL] Fanat disconnected.
18:53:26 Negrbl uses modified data file
18:53:27 Player Negrbl connecting.
whole cloud
#

Yes the size is the problem.
If you want to use it as a backup, then back up the files

empty goblet
whole cloud
empty goblet
#

also what happens if someone plays on rp server which has 1.1 GB sized mission ?

#

yes, absurd example, so what about 4 servers with 255MB sized missions each ...

#

it defy the point of persisting cache folder because you picked arbitrary value

whole cloud
whole cloud
empty goblet
#

so it needs to be 6 files over 50mb which are in total over 1GB limit ? then he loses the oldest ?

whole cloud
#

yes

uneven bluff
#

Prompt: Your mission cache folder is getting large and slowing your game down, would you like to clean up all but your last 5 mission pbos?
Yes, No, Don't Ask Again.

whole cloud
#

Maybe for the "I constantly rotate between 6 servers that all have above 50MiB mission files) scenario I also need to add a minimum file age limit. Only files older than a week

empty goblet
#

also the slowdown were there in past (unless the code got cleanup since), ie on slooow 5400rpm drive with lot of missions in the cache

whole cloud
#

We don't read the missions in the cache, only the one we need (matching name, of which there can only be one)

knotty wraith
# whole cloud I had that once, but then I restarted the server and it didn't happen again

Rpt ...
SQF 17:19:15 ["warrespawn1"] 17:19:15 CUP_I_WILDCAT_GREEN_AAF: M681_ROT - Неизвестный источник анимации M681_ROT 17:19:15 cup_i_wildcat_green_aaf: m681_hide - Неизвестный источник анимации m681_hide 17:19:15 ["warrespawn1"] 17:19:15 ["warrespawn1"] ???? 19:02:05 Сервер: SetServerstate никто 19:02:05 Релиз менеджера EPE (0 | 11 | 0) ``
RPT ничего не печатал в течение 2 часов ...

RPT...
```sqf
17:19:15 ["vehRespawn1"]
17:19:15 CUP_I_Wildcat_Green_AAF: m681_rot - unknown animation source m681_rot
17:19:15 CUP_I_Wildcat_Green_AAF: m681_hide - unknown animation source m681_hide
17:19:15 ["vehRespawn1"]
17:19:15 ["vehRespawn1"]
*???? *
19:02:05 Server: SetServerState to NONE
19:02:05 EPE manager release (0|11|0)
````
rpt didn't print anything for 2 hours...

whole cloud
empty goblet
whole cloud
#

Anything UI is too much effort for this

empty goblet
#

just setting arma3.cfg would do ... ie tripleBuffering isn't exposed in in-game UI too (tho it should be in the launcher)

whole cloud
#

Average player should be protected from their disk being bloated with endless mission files they won't ever look at again.
Yes there are people who want to keep old missions as back up. If you want to keep a backup, make a backup.

knotty wraith
empty goblet
#

so maybe turn it into one time event 'in the future the mpmissioncache' gets cleaned, make sure you backup what you need or it's gone

whole cloud
#

I have had that bug a couple times now where a player would get stuck in "connecting". Even multiple players getting stuck there together.
Then some player disconnects or timeouts, and suddenly all players that were stuck make it through all at once.

There is some very weird timeout code in player connection that doesn't seem to make sense.
Something about time outing the first connection, and then rotating the queue so that "others can connect too".
That sounds like the first player could block others if they are slow. But every player in the queue is checked every frame. The first one cannot block anyone else, I don't know why that is there.
Either leftover from old times and I can delete it, or it actually does serve a purpose and I need to delete it and implement something better.

I'm adding server.cfg option for logging of the connect process so we can see where they get stuck.
But if v31 is stable then only next week

empty goblet
whole cloud
#

BattlEye. Notnthis

violet knot
#

Where can we see logging on this? In the connect logs?
I've witnessed this before too and thought it was related to "deform" terrain data. Regenerated the mission PBO and it went away.
Would this cause this too?

#

AI VTOL Issue
Also as far as the testing you asked for with the Ai pilot in VTOL craft landing, still haven't seen it working after switching back to profiling on Steam. (Should I manually update binaries?)

Still works in normal release (standard, non-profiling) despite circle and square civil helipad. All versions of Blackfish as well with no player control of the vehicle.

If you still want videos or repro steps let me know.

whole cloud
violet knot
#

Where do you want that posted? Unable to post here.

latent socket
# whole cloud

One of the mission makers in my group says It now takes over 5 minutes to save a mission file. The game freezes for around 4-5 minutes. Doesn't matter how you save the mission, it will freeze every time

whole cloud
#

I just tested saving for that map screen fix and didn't observe any slowness.
Where are you saving?

latent socket
#

Missions folder

empty goblet
#

also another reason to not cull MPmissionsCache, what about people with metered download who play still on same server same large mission for months or years (plus w/e reason it goes over the 1GB and over 5x50MB )
at max would bother with MPmissionCache culling based on % of free space (when it's VERY low like 5% or 3% and less) on the drive (and before doing that made check if the MPmissionCache isn't junction at different drive)

knotty wraith
foggy vine
#

Scheduled Steam maintenance every Tuesday

analog acorn
vagrant otter
#

does perf branch ever causes crash when the game is overloaded by AI or assets?

patent sky
#

or automatically on prof server

vagrant otter
patent sky
#

well without crash reports we dont know about it

vagrant otter
#

its fine tho, just wanted to share that experience just incase someone is having the same issues, could also be my potato laptop so no worries

patent sky
#

well most prof changes are coming to stable when the next update releases, so it might start crashing then

whole cloud
whole cloud
whole cloud
vagrant otter
#

its a matter of gamble, but i'll try to recreate it tho

whole cloud
#

Didn't say you're complaining.
I'm just sad that someone has issues and that I don't know what it is and can't fix it.
And worried at what other issues were missing out on.

vagrant otter
#

ah okay sorry, it was a miss interpretation by me then lol, dw i'll try to get the crash report, though sometimes it would crash WITHOUT a crash report..? idk about that issue

static briar
#

Loading time issue since v22 hasn't been fixed yet for me.
"Updating base class" is too long. (also creating cache are not faster)
My friends and I have been using v21 for a while, but because we use a tons of mods, the load times are almost 10x faster than v31.

(start time is rpt title time, ends to "MovesType CfgMovesMaleSdr load time" shows in log, with 100+mods)
v31: 16.8min (launching section are 10min)
stable: 16.3min (8.9min)
v21: 2.2min (0.6min, wow!)

I check the rpt, stable and v31 has almost same "launching" section load time...

Will this loading time eventually go back to like v21?
Or will it become stable with these slow load/launch times?

(yeah I know those mods are bad but v21 is gold...)

patent sky
static briar
patent sky
#

I thought it was just for displaying logs for investigation.
yes to investigate it we need to know why yours is so slow

whole cloud
patent sky
#

is the argument prof only or also perf?

whole cloud
#

Its profiling the start, so prof only

static briar
#

Um, this is a stupid question, but is the prof beta version in the steam version prof or perf? if it's prof, I need download v31 from gdrive.

whole cloud
#

Steam has both files in game folder.
arma3_x64.exe (the default) is perf. But there is also arma3profiling_x64.exe that is prof

#

you can swap them out by renaming

static briar
#

Ah, thanks. So the result from before is perf. I'll switch to prof and take a log. Thanks.

whole cloud
#

prof should have about the same timing. But with the start parameter it will write a log that says exactly which step took how long

static briar
#

Ok... Thank you for your kindness. I'll measure it later when I have time.

whole cloud
# opal hound Some `Ref to nonnetwork object` reports should have been sent through

Jup got them thanks! Going through now..

allowCrewInImmobile script command, on a local-only vehicle is missing safety check.

But.. That seems very suspicious.
Ref to nonnetwork object 23c0cb35800# 3369452: uk3cb_mtlb_pkt.p3d UK3CB_AAF_O_MTLB_PKT REMOTE
So the log knows its a REMOTE vehicle, thus it inherently must be a network object.
But its still saying its a non-network one... meowsweats

Oh no notlikemeow
It IS a remote object, the network message to spawn it just came in, but the init script of the vehicle, runs and tries to run that command (Which says its local arg, so it should never be called for remote vehicles. That's a bug in 3CB script, assuming its them setting the init eventhandler)

Or actually, is it ACE maybe?
https://github.com/acemod/ACE3/blob/ffb80c148178724619660354496d2c995be8efa9/addons/vehicle_damage/functions/fnc_addEventHandler.sqf#L29

It is ACE!
https://github.com/acemod/ACE3/blob/ffb80c148178724619660354496d2c995be8efa9/addons/vehicle_damage/XEH_postInit.sqf#L56

ACE is running allowCrewInImmobile (a local-arg) command, on remote vehicles.
And its doing it so early, before the network ID is even assigned properly (Thats a engine bug, I'll take a look at that).
If ACE adds the proper local check to not run that command, that problem goes away.
(Can someone make a ACE PR? You can use it for Hacktoberfest points)

#

Any init script that would send a network message will fail here.
Because the network ID is only assigned after the Init script.

"local _vehicle" check will work though, that is set before the init script.

#

Uhm actually allowCrewInImmobile is not local arg.
Specifically has code that if vehicle is remote, it'll send a message and tell the owner to do it.

Still bad to be doing that in an init script that runs on every remote player though

whole cloud
#

Ref to nonnetwork object 43712: tracer_white.p3d CUP_B_9x19_Ball

setShotParents, called on a bullet. Bullets are local-only.
I remember having a conversation about this before somewhere. That someone needed/wanted it...

#

I'll add a -debug warning for it
Also actually, the script context printing should work for this
The report I received though doesn't have the full RPT, and seems to also not be running -debug on server.

#

Or no warning.
setShotParents will still have local effect 🤔
But also only on the server side, because the command is server-only.
But the bullet hitting someone will probably not be happening on the server? meowsweats

whole cloud
#

Ah! Indeed 😢

eternal kraken
#

i have a new observation, when i am playing on the server "HUD Arma3 DK #1 Domination" with perf build i will get the message "You were kicked of the game" or "Session lost" within 30 minutes every time i join (sometimes 5 min sometimes 15 sometimes 25) but when i go back to stable i get no kick/lost. i can reproduce that behaviour. anything i can do to gather information what could be the reason?

spiral pond
#

would it be feasible to cache the merged config as file?
and load if the same hash of the whole modset gets loaded again (dunno when the engine computes that - probably before going by the rpt header tho)

whole cloud
whole cloud
eternal kraken
whole cloud
#

The server would know 🤷

eternal kraken
#

when i try to rejoin instant the server tells me how it is configured i need to wait 90 sec

#

but after that i can rejoin and play again but with perf build i get kicked within 30 min

#

with stable i dont have this issue

whole cloud
#

Its up for the server to decide to kick you. It could literally be anything

#

Maybe they check that you are on profiling branch, and script kick you after 30 seconds 🤷

eternal kraken
#

that would be evil

#

no the kicks are random

#

maybe something like an network message send overload

#

but i only speculate i dont know

#

atm i play on stable to be sure and proof this is an perf build problem at my machine

whole cloud
#

But the engine kicks, afaik all have kick messages

eternal kraken
#

last rpt entries

#

i will send you rpt with PM

#

look yourself you know better

whole cloud
#

The unhandled message and data is the key. Some netcode change slipped through.
v27 contained a one-byte netcode change that wasn't supposed to be in there

Explains the session lost, but not the kick message 🤔

heavy vortex
#

Server RPT never had kick messages, did it?

#

players just... disappear

#

I think some of them you get in the server console instead but I don't usually get to see that.

whole cloud
#

If kicks are not properly logged we gotta fix that

heavy vortex
#

would certainly help. Networking issues are pretty damn opaque at the moment.

#

You usually have to ask the client what messages they got. And they're not always very observant.

empty goblet
#

that got my attention 😁

spiral pond
whole cloud
#

But what is causing it.
So this profiling won't work for it, I need actual profiling like vTune to see what its doing there.
And I cannot repro it myself

static briar
#

Yeah, to be honest, I know the my mod presets are a nightmare, but they still work fine in v21 and the loading speeds are the fastest they've ever been.
I'm just wondering why they're so slow in v23 and later version though...

severe prairie
#

yesterday our community had a very weird incident, upon a cruise missile exploding, all players running the profiling branch were booted back to the lobby screen, the players running stable remained in the server normally

of the players that were booted to lobby, no one crashed, or was disconnected, just booted to lobby with no error message, server console showed nothing of note at the time of the incident, the cruise missile was the vanilla launcher from the destroyer ship

our modlist is quite extensive, so i dont know what mods modify that cruise missile

does anyone know of anything that could cause this, or has had something similar happen?

whole cloud
whole cloud
whole cloud
violet knot
#

@whole cloud Just tested v32 on the mission file I sent you. Ai piloted VTOL still flies over "Land" WP, but able to go back to standard (non-profiling) release 2.20.152984 and it works.
Not sure if you saw my PM

whole cloud
#

PM is still on unread, for probably tomorrow

violet knot
#

No rush, working for now on std, posting for awareness

whole cloud
#

Also seem to have found the game loading slow issue. But weird that it was reported since v23, when the code that I undid to fix the issue was only introduced in v27

stark dragon
knotty wraith
#

- Добавлено: server.cfg/AdvancedOptions/logPlayerConnectionStates для регистрации прогресса "подключения" игрока
что именно мне следует прописать в server.cfg?

- Added: server.cfg/AdvancedOptions/logPlayerConnectionStates to log player "connecting" progress
what exactly should I register in the server.cfg ?

opal hound
#
  logPlayerConnectionStates = true;
};

Probably

uneven bluff
#

Changes to thermals seem to not play well with the spectrum device secondary. Other handguns work fine.

whole cloud
#

The lag spikes? That's not changes to thermals, that's something else

whole cloud
#

Why does my spectrum device look different than yours?

#

What am I missing in the repro

weak panther
whole cloud
#

I do. If I switch over to contact campaign, it works

quaint flame
#

Seems like he's running the scripts to make it work in the editor

static briar
#

I don't think so. His editor doesn't show folder names (see top right), so I don't think it's loading description.ext or sqf.

quartz rampart
static briar
#

yeah I know but that is looks not with any script. I did and can repro it.

#

wait a min I'll upload the vid

whole cloud
#

Oh the game isn't freezing, just the image/rendering is stuttering but the game is otherwise running high fps?

static briar
#

yeah it's not freezing. unit still can operate with key. only happening while moving forward

#

for ref: vid setting is ultra

#

stop moving forward, bugged screen is return to normal

#

update: it's now happening with combat pace

#

also, stamina bar is still looks fine even screen is bugged

whole cloud
#

It looks like rendering is not writing to backbuffer. It flips back and forth between the last 2 frames, they are not overwritten.
UI is later put on top thats why that isn't affected

knotty wraith
#

in v.32, addEventHandler "HandleDamage" is broken (ACE mod is present)