-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Map data transfer in need of thorough review #2045
Comments
The bug would be in this code: Line 374 in eed1be4
Digging a bit, it indeed doesn't look super simple. |
After more discussion, it appeared that a current issue is as follows:
|
The city transfer algorithm is buggy when the players have conflicting info about a city (called Lines 1488 to 1501 in eed1be4
This first Lines 1503 to 1514 in eed1be4
This won't do anything but call |
I think that the implementation of one-time transfer of map data and of shared vision should be thoroughly reviewed in its entirety. There seem to be numerous bugs. I’ve seen several in the past, from what I remember; in particular there was this one where with shared vision you were shown wrong assignments of territory to tiles (this particular one might or might not have been fixed meanwhile). Just now I saw another map sharing bug in action: you give your world map to someone, and the city data is from various earlier turns apparently (drastically too low city sizes, drastically different city sizes of cities built around the same time, wrong assignment of nations to cities).
How to reproduce these bugs? Well, play a lot of Freeciv with lots of transfers of world and sea maps as well as shared vision and look very carefully at the map data you get. That said, since there seem to be multiple bugs and these bugs seem to often have non-obvious reasons, it would be better, I think, to really thoroughly inspect the code that implements all this sharing of map data (one-shot and continuous sharing).
What’s the expected behavior? Well, that this whole thing works correctly. :slightly_smiling_face: In particular, the newest data available should always be shown. So don’t have old data fetched from another player and have it overwrite newer data from another player or newer data that you already possess.
Regarding platforms, I guess this is a platform-independent problem, but I can tell you that I use
freeciv21-client 3.0.886883.1-patch
via the Snap package on Ubuntu 20.04 with an Intel processor. The ruleset I’m currently using is LTX as used in LT79.The text was updated successfully, but these errors were encountered: