Here’s a short video about the weather system in the new architecture:
The weather is changed by a lua script on the server, all clients smoothly transition into the new weather (from normal weather, to rain and back to normal weather in the video). The client uses Caelum for the sky and precipitation effects.
Sky and weather effects are synchronized between the client and server using the new client-server plugin architecture in trunk. It’s very easy to create a new plugin like this, basically all you have to do is use the client-server plugin code template and add bindings for the variables and function calls that you want to synchronize, no wrapper functions are required. Permissions are also available for every variable and function call so that for example only the server administrator can change the weather, not just any user. We’ll provide more in depth information about the new architecture in a future blog post!