Page MenuHomeFeedback Tracker

[EXP 1.26] Inconsistencies with the<cfgweather.xml>
Confirmed Internally, UrgentPublic

Description

After rigorous testing and analysis, I have identified that the sporadic weather behavior—where all weather event threshold values abruptly go to 1.0 and fail to accurately reflect the cfgweather.xml settings—stems from a deeper issue. This issue appears to be related to an underlying syntax error in the publicly shared community cfgweather configuration file (https://community.bistudio.com/wiki/DayZ:Weather_Configuration).

Findings

Syntax Errors and Parameter Inconsistencies:

  • The community cfgweather file contains a syntax error that renders it non-functional. This error likely contributed to the observed sporadic weather behavior.
  • In the Overcast, Rain, and Fog weather events, the configuration uses "limits" for the range of event magnitudes. This usage is inconsistent and appears to be a root cause of the issue.
  • The parameters "limit" and "limits" have been used inconsistently throughout the file. For instance, the wind parameters use "limit" instead of "limits"—the only function within cfgweather that worked correctly in the vanilla configuration. This might indicate a miscommunication or oversight since the "timelimits" parameter references "limits".
  • The new snowfall precipitation type also uses "limit" instead of "limits", which further supports the theory that the other parameters might have been entered incorrectly.

Once I made the appropriate adjustments to the config file and changed the "limits" value to "limit", the weather seemed to more accurately reflect what was entered in the config file; but due to the fact that the above issue caused players to never actually use the weather config script in a function state, there are more underlying issues that have gone under the radar that need to be addressed.

When the file is in a functional state, there seems to be some significant client-server synchronization issues, where players will often get wet from ghost rain that is being applied by the server but not seen by the client. The wetness the player receives from the ghost rain seems to disappear after the player relogs or the server resets as the player is able to synchronize with the server.

It also appears that some configurations involving the "timelimits" values in relation to the "current" values may lead to undesirable results on the server. Specifically, certain combinations seem to cause the weather to abruptly transition between different states within seconds or even frames.

Given the significant role that weather plays in the upcoming Sakhal/Frostline DLC, I believe it would be beneficial to investigate these issues further. I hope this documentation provides useful insights into the problems at hand.

Details

Severity
Major
Resolution
Open
Reproducibility
Always
Operating System
Windows 7
Category
General

Event Timeline

Scronkyy created this task.Aug 16 2024, 9:01 PM
Gobs added a subscriber: Gobs.Aug 16 2024, 9:31 PM

Can confirm snow seems to operate well as-is, so long as you zero out the rain parameters.

Beavis added subscribers: Geez, Beavis.EditedAug 16 2024, 9:56 PM

Finally someone actually dug deep into cfgweather and figured out why it behaves as it does, many thanks! @Geez - Please ask the guys in charge of internal testing to double check if there is any disparity between the published server config files and whatever config used internally, when trying to reproduce reported errors?

sileed added a subscriber: sileed.Aug 17 2024, 3:12 AM
lava76 added a subscriber: lava76.Aug 17 2024, 9:41 PM
Salutesh added a comment.EditedAug 17 2024, 10:25 PM

On a side note what was discovered by @lava76:
Need to be very careful that nothing alters weather values client-side in an MP context, as then you'll have two weather controllers running that are not necessarily in sync. For that to happen, it is enough to set missionweather to true on the client.

Geez changed the task status from New to Awaiting internal Testing.Aug 19 2024, 1:30 PM
Geez changed the task status from Awaiting internal Testing to Confirmed Internally.EditedAug 19 2024, 1:45 PM

Hello everyone.
"Limits" is the only correct variant. This applies for overcast,fog, rain,snowfall, windDirection and windMagnitude. All of those should be using the same format, which is "limits". The mistakes have been reported to the team and the wiki and xml will be edited as soon as possible.
Regards,
Geez

oweff added a subscriber: oweff.Sun, Nov 17, 10:30 PM