Steps to reproduce1. Update the Windows client to a build since the Great Merge of 2020-12-12.
(
I was using MSYS2 build #5b76bff of this branch, but I have noticed all the symptoms over the last couple of days when using official executables. I just did not see the pattern until now. I will try to reproduce with an official build soon. EDIT: Confirmed with official client and server on #c4cd41f)
2. Open the Windows client (EDIT: Due to
this bug, you probably need to use
simutrans-extended.exe, even in 64-bit)
3. Connect to an online game. (The server will transfer a save file, which we will call Save A)
4. Build a recognizable item (e.g. a couple of tiles of track on barren ground).
5. Wait for someone else to connect. The game will save its current state. (The client will make a save, which we will call Save B).
6. The client will reload the game. You will see the new connection welcome message, though you will not jump to the spawn point.
7. Go to the place where you built the recognizable item. It will not be there, because the client has reloaded Save A. (The recognizable item will still be present on the server though).
Expected outcome: The client loads Save B so that you can continue playing where you left off.
Probable cause: Save B is being saved with a
.sv_ extension which is not subsequently renamed to a
.sve extension. For example:

This is a reoccurrence of a bug from Standard
which was discussed on the forum earlier this year, though I haven't found the thread yet EDIT: discussed but not really solved
here. The use of a
.sv_ extension is intentional and was introduced in
this issue.
EDIT: The Standard thread suggests the bug was perhaps unintentionally 'fixed' between r9176 and r9274. I scanned through the commits between those points, focusing on those that appeared relevant (ignoring e.g. GUI & Squirrel commits), but I could not see anything relevant (though I'm a novice and may well have missed stuff). I now notice that Antarctic said in that Standard thread that the problem stopped when he switched to Steam, so it might be related to some difference between the official build and the Steam build instead.
Possible relevant entry on the second line of simu.log:
ERROR: loadsave_t(): failed reading with error 1
This error is recorded in all my logfiles since 2020-12-13, but not before.
That error message appears to be generated using codes from this enumeration in
loadsave.h:
enum file_error_t {
FILE_ERROR_OK=0,
FILE_ERROR_NOT_EXISTING,
FILE_ERROR_BZ_CORRUPT,
FILE_ERROR_GZ_CORRUPT,
FILE_ERROR_NO_VERSION,
FILE_ERROR_FUTURE_VERSION,
FILE_ERROR_UNSUPPORTED_COMPRESSION
};
If that is correct, then the code means the game was searching for a file that does not exist.