There are many ways of doing this. I know the source engine uses visboxes, which are calculated once at map compile time. It takes a while to compile, but it means that clients can use the pre-compiled data to calculate parts of the map that are visible and the server can use them to determine what the player can see at a given time. I’m not sure whether it does that or not, but it would make sense to use that data.
10°C. Coats out, heating on.
Never know what it’ll be tomorrow though. Might be 28 and sunny, might -15 and snowing. Maybe even the sun will make an appearance.
Regardless, it’ll cause disruptions to the trains somehow.