Jump to content

Recommended Posts

I need expert help from the Arma dev experts here to understand a fundamental behavior difference between hosted/editor and dedi-MP.

* Nutshell: ObjectX (not a vehicle, has no brain) was placed in the editor at Position 1. The sole player in the mission starts near Position 1 but is teleported *very far* away (>10km) to Position 999. The player takes action that tells the server to perform a REMOTEEXEC target=0 SETPOSASL command on ObjectX to move it 100m to Position 2.


* Expectation: ObjectX should be at Position 2 on both the server and the client.


* Actuality: In hosted/editor runs ObjectX is at Position 2 on both the server and the client even when the player is at Position 999, but on dedi-MP ObjectX is at Position 2 only on the server but remains at Position 1 on the client, regardless of what the mission scripting does with information age commands ON THE CLIENT (setTargetAge, Reveal, disabling dynamicsimulation).
I've confirmed in dedi-MP that ObjectX on the server has moved to Position 2 by executing a 'localize' command to dump a getpos ObjectX to the server .rpt file. I've confirmed using Debug Console on the client that ObjectX on the client remains at Position 1.


* Confusion: Even with the dynamic simulation system disabled entirely this still happens. Since the player is at Position 999 very far away, information age issues are expected, but they should be controlled by setTargetAge and Reveal commands.


* My guess: Maybe dedicated servers are by default configured to override a mission's control over information age? I don't see a setting in dedi server .cfg that could change that. What the frakkin frak is going on???


<<edited 5/31:  ObjectX has dynamic simulation DISabled, by the way. But I suspect the game is applying dynamic simulation anyway at long distances>>

<<edited 5/31, pt2:  To be clear, when the player is near ObjectX, sending the command to the server to have the server move ObjectX via that remoteexec call works just fine. But when the player is very far from ObjectX that's when that same process simply does not move ObjectX on the client. (even with dynamic simulation disabled for that object and disabled via enableDynamicSimulationSystem false, even after setting "prop" setDynamicSimulationDistance 60000;.   (Also, as an aside, the reason this is an issue is because I'm trying to attach a camera object to ObjectX to use from afar, sort of like a UAV but not a UAV.)>>


<<edited 6/2, pt3:  Is it possible that static objects are *always* treated on dedicated server similarly to dynamically simulated objects, but separately from the dynamicSimulation system?  (I could see it being like that, since normally static objects are always just that, static.)  If that's true, it could explain everything I'm seeing.  If so, any idea if there's a workaround aside from making a descendant class as a mod and altering whatever property(ies) cause this?


<<edited 6/2, pt 4:  I'm going to have to conclude that on dedicated server, dynamic simulation is always enabled beyond a certain distance, regardless of mission settings. Dealing with that will require some radical re-thinking of my approach, but I do have some ideas.  Admins, you can retire/delete this post if you like.>>

Edited by stick_hogue
more info

Share this post

Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in

Sign In Now