Page MenuHomeFeedback Tracker

Weather desync issues [PRIMARY REPORT]
Assigned, WishlistPublic

Description

Build 1.15.116387

Rain on server will not sync for JIP

Rain value for client and server before and after JIP:

[19:15:18] Server Start
[19:15:23] Player Connected (1.3674e+009 xxxxxxxxxxxxxxxxx KK)
[19:15:23] Player Connected (2 SERVER)
[19:15:23] Server: 0 Client: 0 Diff 0
[19:15:29] Server: 0.99638 Client: 0.758757 Diff 0.237623 [diff >= 0.1]
[19:15:34] Server: 0.993608 Client: 0.946978 Diff 0.0466295
[19:15:39] Server: 0.990836 Client: 0.990244 Diff 0.000592053
[19:15:45] Server: 0.987961 Client: 0.987472 Diff 0.000489116
[19:15:48] Player Disconnected (1.3674e+009 xxxxxxxxxxxxxxxxx KK)
[19:15:53] Player Connected (1.3674e+009 xxxxxxxxxxxxxxxxx KK)
[19:15:53] Server: 0.983097 Client: 0 Diff 0.983097 [diff >= 0.1]
[19:15:54] Server: 0.982744 Client: 0 Diff 0.982744 [diff >= 0.1]
[19:15:59] Server: 0.979805 Client: 0 Diff 0.979805 [diff >= 0.1]
[19:16:04] Server: 0.977032 Client: 0 Diff 0.977032 [diff >= 0.1]
[19:16:09] Server: 0.974271 Client: 0 Diff 0.974271 [diff >= 0.1]

Details

Legacy ID
4037303701
Severity
None
Resolution
Open
Reproducibility
Always
Category
Engine
Steps To Reproduce

start dedicated server
run on server

0 setOvercast 1;
0 setRain 1;
forceWeatherChange;

observer full blown rain on client

disconnect
reconnect

Hello sunshine!

Additional Information

This issue was promoted to primary to collect all information about the desynchronisation of weather during multiplayer sessions. All future bugs regarding this topic will be related to this one.

Event Timeline

Killzone_Kid edited Additional Information. (Show Details)
Killzone_Kid set Category to Engine.
Killzone_Kid set Reproducibility to Always.
Killzone_Kid set Severity to None.
Killzone_Kid set Resolution to Open.
Killzone_Kid set Legacy ID to 4037303701.May 7 2016, 6:19 PM
Killzone_Kid edited a custom field.

BTW it is not just rain, overcast also doesn't sync and so is nextweatherchange and probably a dozen of other params.

The rain and overcast do sync in todays build, nextweatherchange does not

BIS should be already aware of the weather sync issues and all the tickets should be combined into one ticket! We have several duplicates!

Should be merged into one:
http://feedback.arma3.com/view.php?id=3028 (resolved - why....?)
http://feedback.arma3.com/view.php?id=14296 (all time favorite)
http://feedback.arma3.com/view.php?id=18118 (the current issue)

together we count 147 votes for those 3.........

Additionally:
http://feedback.arma3.com/view.php?id=18124 (yeah, but sync first please)
http://feedback.arma3.com/view.php?id=13729 (yeah, but sync first please)
http://feedback.arma3.com/view.php?id=15510 (yeah, same as above)

Thanks for linking the tickets!

Can we combine all the latest information we have into one of those tickets, so we are all up to date and have a central ticket, to look into? If you tell me which one, i will do that!

Iceman added a comment.May 5 2014, 6:22 PM

I made this ticket primary so all information would be available here and all other tickets would have link directing to this page.

Thank you very much!

Highhead, I resolved #3028 because the feature of weather sync in its prime idea is implemented.

nextweatherchange just loops on client while it counts down on the server:

nextweatherchange on client:

[time, nextweatherchange]
[185.992,2.30728]
[186.51,1.78899]
[187.012,1.28868]
[187.53,0.773773]
[188.04,0.2612]
[188.554,4.77002]
[189.071,4.25307]
[189.586,3.73914]
[190.097,4.77338]
[190.615,4.25844]
[191.121,3.75183]
[191.637,3.23456]
[192.151,2.71962]
[192.664,2.20367]
[193.165,1.70204]
[193.669,4.64937]
[194.183,4.13376]
[194.687,3.66008]
[195.187,3.16005]
[195.687,2.66002]
[196.187,2.15999]
[196.687,1.65996]
[197.187,1.15993]
[197.687,0.659897]
[198.187,4.79999]
[198.687,4.29996]
[199.187,3.79993]
[199.687,3.2999]
[200.187,2.79987]
[200.687,2.29984]
[201.187,1.7998]
[201.687,1.29977]
[202.187,0.799744]
[202.687,0.299713]
[203.187,4.89999]
[203.687,4.39996]
[204.187,3.89993]
[204.687,3.3999]
[205.188,2.89888]
[205.688,2.39885]
[206.188,1.89882]
[206.688,1.39879]
[207.188,4.79999]
[207.688,4.29996]
[208.188,4.79999]
[208.688,4.29996]
[209.188,3.79993]
[209.688,3.2999]
[210.188,2.79987]
[210.688,2.29984]

nextweatherchange on server:

[time, nextweatherchange]
[327.356,1472.69]
[327.864,1472.18]
[328.364,1471.68]
[328.864,1471.18]
[329.364,1470.68]
[329.864,1470.18]
[330.364,1469.68]
[330.866,1469.18]
[331.366,1468.68]
[331.866,1468.18]
[332.366,1467.68]
[332.869,1467.17]
[333.369,1466.68]
[333.869,1466.18]
[334.369,1465.68]
[334.869,1465.18]
[335.369,1464.68]
[335.869,1464.18]
[336.369,1463.68]
[336.869,1463.18]
[337.369,1462.68]
[337.869,1462.18]
[338.369,1461.68]
[338.869,1461.18]
[339.369,1460.68]
[339.87,1460.18]
[340.37,1459.68]
[340.87,1459.18]
[341.37,1458.68]
[341.87,1458.18]
[342.37,1457.68]
[342.87,1457.18]
[343.37,1456.68]
[343.87,1456.18]
[344.37,1455.68]
[344.87,1455.18]
[345.37,1454.68]
[345.87,1454.18]
[346.37,1453.68]
[346.87,1453.18]
[347.37,1452.68]
[347.87,1452.18]
[348.37,1451.68]
[348.87,1451.18]
[349.37,1450.68]
[349.87,1450.18]
[350.371,1449.68]
[350.871,1449.18]
[351.371,1448.68]
[351.871,1448.18]

overcastforecast is not synced between server and client. This is how it works at the moment:

if I use

A setOvercast B

on the server, overcastForecast will immediately become B on the server and overcast value on the server will start changing in accordance with A

on the client the overcastForecast will be synced with overcast value on the server and not with overcastForecast value. overcast value on the client will be changing very very slowly. I think this is one of the reason the weather is out of sync everywhere when you want to change overcast gradually.

For example.

if overcast on the server is 0 and I execute

360 setOvercast 1; on the server

overcastForecast on the server will instantly become 1
and overcast value will start changing from 0 to 1 steadily...0, 0.0001, 0.0002, 0.0003 etc etc

the overcastforecast on the client will start changing in sync with overcast on the server (not overcastforecast) however overcast value on the client will be changing very very slowly because target overcast for client will be not 1 but will be dynamic 0, 0.0001, 0.0002, 0.0003 etc etc.

The client need to know target overcast (same as server) value and time allowed for the change, which at the moment is not happening.

unfei added a subscriber: unfei.May 7 2016, 6:19 PM
R34P3R added a subscriber: R34P3R.May 7 2016, 6:19 PM
R34P3R added a comment.Apr 9 2015, 8:19 PM

1 Year and still not fixed ?

Small audit of current weather issues, 15/06/2015, 1.46:

Summary:

Overcast sync still the big one as far as issues. Time to sync is one part, the other part (a bigger issue) is clients having high overcast value but the clouds do not reflect this value.

setWind / wind / windRTD appears to be working fine, fully synchronized between server and client. No issues.

setOvercast is borked still. Client can have high overcast value but clear skies, and time that client overcast value takes to catch server value is too long, by 10x.

overcastForecast appears to be working okay locally, but not synchronized in the same way in MP. See KKs data above for more detail.

setRain / rain appears to be okay for connected clients though I have not tested reconnection issues. Setting rain on the server will correctly be propagated to connected clients.

humidity. Humidity value drops way too fast for realistic simulation, and is not representative of actual humidity. If its raining, humidity = 1. If its not raining, humidity = 0.

windDir works fine.

setWindDir can stuff up vector magnitude wind values, and you will end up with stronger/weaker wind by using setWindDir.

setWindForce / setWindStr / windStr require more documentation in the wiki before I can assess if they're working or not. I can have a wind blowing at 5m/s using setWind, but windStr will be 0. What unit of measurement is windStr using?

setGusts / gusts. Local. Setting value on server in dedicated has no effect on client gusts value. Also more documentation is needed, as I cant see any environmental change with high gusts value.

setFog / fogParams syncs fine on connected clients, I have not tested connectING clients yet. I may be wrong with this, will update in a day or two after next round of testing.

fogForecast. Seems to work fine for connected clients.

setWaves / waves. Local. Server does not broadcast waves value to client.

setRainbow / rainbow. Local. Server does not broadcast rainbow value to client. Client starts with default rainbow value of 0.35 and setting it on the server does not change the client value by itself, requires some PVEH fiddling.

setLightnings / lightnings. Local, in MP server does not broadcast to the client.

setSimulWeatherLayers has strange and irreversible effects. Eventually after enough fiddling, only high level stratus clouds will form, no low level cumulus clouds will appear regardless of overcast value.

simulWeatherSync causes some lag. There was another issue, ill update this once I recall it.

nextWeatherChange shows erratic behavior on the client in dedicated server, with the number changing quite frequently and illogically. See KKs data above.

forceWeatherChange seems to work to patch setOvercast/overcast issues by refreshing the Simul Weather library, but of course has the nasty stutter. If we are updating weather conditions gradually (small change every 5 minutes) then this is unacceptable.

Will update this post once I clarify a few more things.

remember to bug me over Skype on those issues ! ;) (each 2-3 weeks)

Gippo added a subscriber: Gippo.May 7 2016, 6:19 PM
Gippo added a comment.Dec 23 2015, 5:37 PM

Still problematic in 1.54. The problem is that the client's Forecast value is the server's overcast value, thus it's moving to that value ALWAYS slower than the actual server overcast towards forecast. And there comes the JIP player who actually gets the server's overcast value instantly.

Not trying to be the salty one here... but have you actually tested your game's weather sync?

Gippo added a comment.Aug 21 2016, 6:00 PM

1.62 - problem still persists.
See my previous comment. Please make the server and client change the overcast at the same rate. The difference the client and server can in a short time period is huge.

Not sure why these weather issues still haven't been addressed. It's been so many years since they've been reported.