Since the release of multiplayer in open source version the multiplayer-only cyclic activity of worlds was enabled, but clients were not receiving expected seed – game "birth date", which lead to this activity being permanently stuck in the same state: Weexow was flooded, Necross was more dry & insects there were more aggresive etc.
Changes introduced in the commit:
Client-side protocol version is now 2 (was 1)
Server-side constant for protocol version now replaced with two constants which indicate the minimal and maximal supported protocol versions (instead of forcing one specific version); they are used for specifying protocol version for games (otherwise games on the new server wouldn't be visible to old clients) and player attachment
Also server-side: if specific client's protocol version is > 1, then an additional net packet is sent (like it was for the old multiplayer zMod client) with seed/"birth date" value for initializing cyclic world activity
Tested cases:
New clients can connect to a new server and create new games or join games created by any (old or new) clients; they'll see fixed world activity
Old clients can do the same while experiencing no issues, though without seeing activity fix
New clients won't be able to connect to old servers – at the moment there's only one active server that needs to be updated and two other working, but not really used servers, so this shouldn't be an issue
Meaning the issue is fixed and backwards compatibility for old clients is intact as well.
Since the release of multiplayer in open source version the multiplayer-only cyclic activity of worlds was enabled, but clients were not receiving expected seed – game "birth date", which lead to this activity being permanently stuck in the same state: Weexow was flooded, Necross was more dry & insects there were more aggresive etc.
Changes introduced in the commit:
Tested cases:
Meaning the issue is fixed and backwards compatibility for old clients is intact as well.