Ticket #48252

Release of civ2civ3_earth

Date d'ouverture: 2023-06-17 17:12 Dernière mise à jour: 2023-07-03 01:49

Rapporteur:
Propriétaire:
Type:
État:
Atteints
Composant:
Priorité:
5 - moyen
Sévérité:
5 - moyen
Résolution:
Fixed
Fichier:
Aucun

Détails

from cazfi on https://github.com/dftec-es/civ2civ3_earth/pull/2

Once you have a stable version, I'd like to have it also in installer's list of modpacks to suggest.

I have finished a stable version of my ruleset civ2civ3_earth, released as v2023_06. I created a new branch named "release" for such stable releases that I consider ready to be shared in installer's list of modpacks. The links to the modpack files would be:

https://raw.githubusercontent.com/dftec-es/civ2civ3_earth/release/2.6/civ2civ3_earth-2.6.modpack

https://raw.githubusercontent.com/dftec-es/civ2civ3_earth/release/3.0/civ2civ3_earth-3.0.mpdl

Reply To cazfi

For freeciv-3.0 you have to choose:
- Leave out all the players with older freeciv-3.0 versions than 3.0.8. That includes anybody using freeciv provided by their linux distribution, with any distribution release made so far (and includes, e.g., Debian Bookwork that's currently in freeze, and won't take new freeciv version)
- Adjust the ruleset to avoid the case where there's a "Traderoute" range requirement evaluated by the client. (I can help you identify what was that, at least in this particular crash)

At the end I have not addressed this problem for v3.0, I just added a note in the NEWS file: Known bugs:
* When the ruleset is played with a version of Freeciv prior to 3.0.8, the "Investigate city" action may cause a crash to desktop (related to the presence of traded resources in the target city). As an alternative, military units can use the "Bombard" action to see all defending units.

Since the crash can be avoided by simply not using the Investigate city action, I didn't find necessary to disable this action for everybody, included those who uses a version with no crash. If you disagree (you do not like in the installer's list a mod that might cause a known crash), please let me know how to implement this option:
Leave out all the players with older freeciv-3.0 versions than 3.0.8

Ticket History (3/16 Histories)

2023-06-17 17:12 Updated by: bard
  • New Ticket "Release of civ2civ3_earth" created
2023-06-17 17:29 Updated by: cazfi
  • Jalon Update from (Aucun) to 3.0.8 (atteints)
  • Composant Update from (Aucun) to Project
Commentaire

Reply To bard

Leave out all the players with older freeciv-3.0 versions than 3.0.8

Ok. Then I guess we should make the 3.0 version available when we release freeciv-3.0.8 (not before there's a fully compatible release available).

2023-06-17 17:42 Updated by: bard
Commentaire

Reply To cazfi

Ok. Then I guess we should make the 3.0 version available when we release freeciv-3.0.8 (not before there's a fully compatible release available).

I agree. There are other issues that you have fixed for 3.0.7 or 3.0.8 that allows the AI to play the ruleset as well or even better than 2.6. While the experience playing the ruleset with earlier versions is not that good in my tests.

Thank you very much.

2023-06-17 21:51 Updated by: bard
Commentaire

While working on this ruleset I have seen that the error messages of freeciv uses to work pretty well to locate the error when it is a mistake in the code of the ruleset.

There have been only 2 cases where it was hard for me to find the cause of the error due to lack of message info from freeciv:

- When there are 2 achievements with the same name (name entry in game.ruleset). There is no error message, and the ruleset can be played normally, but I think the savegame can get corrupted and end causing crashes. I'm not sure enough to open a ticket myself, but wanted to point it.

- When the helptext of a unit is too long (just a bit longer than the current text of Diplomat unit in 3.0), the ruleset can not be load, with the error: "incompatible packet contents".

- I also noticed that there is a maximum size for the text of "about this ruleset" (description_file defined in game.ruleset), that is just a bit longer than the current Readme file of civ2civ3 (long enough in my opinion). When the text is too long, it appears an error like this in the chat message: "Error... Trying to allocate 67000 in 16 bits", and only a few lines of text is shown in "about this ruleset". I guess 67000 is the size of the text, truncated to 3000 when allocated in 16 bits. But it would be very useful to know the text or file that is causing that error message.

I'll open tickets about that if you find it worth it.

2023-06-21 05:07 Updated by: cazfi
Commentaire

Reply To bard

- When there are 2 achievements with the same name (name entry in game.ruleset). There is no error message, and the ruleset can be played normally, but I think the savegame can get corrupted and end causing crashes. I'm not sure enough to open a ticket myself, but wanted to point it.

Maybe add a comment to #45428 (instead of opening anew ticket), if you think this is about it.

Reply To bard

- I also noticed that there is a maximum size for the text of "about this ruleset" (description_file defined in game.ruleset), that is just a bit longer than the current Readme file of civ2civ3 (long enough in my opinion). When the text is too long, it appears an error like this in the chat message: "Error... Trying to allocate 67000 in 16 bits", and only a few lines of text is shown in "about this ruleset". I guess 67000 is the size of the text, truncated to 3000 when allocated in 16 bits. But it would be very useful to know the text or file that is causing that error message.

#47658 (fixed in 3.0.7 - or are you still seeing that?) Sorry if I didn't brought that to your attention when I noticed it with civ2civ3_earth.

2023-06-21 05:08 Updated by: cazfi
Commentaire

2.6 version should now show up in the default list of the modpack installer.

2023-06-23 05:12 Updated by: bard
Commentaire

Reply To cazfi

2.6 version should now show up in the default list of the modpack installer.


Thank you, I confirm it is working.

Reply To cazfi

Maybe add a comment to #45428 (instead of opening anew ticket), if you think this is about it.


Yep, that ticket covers it. I didn't know there was no sanity check for any rule name. It would be handy.

Reply To cazfi

#47658 (fixed in 3.0.7 - or are you still seeing that?) Sorry if I didn't brought that to your attention when I noticed it with civ2civ3_earth.


I no longer see the error, but I split the file in two (Readme and News) some time ago. I think fixing it here is more useful than warning me. I use to search all tickets for "civ2civ3" keyword from time to time, and I use to find them at some point.

2023-06-25 17:43 Updated by: cazfi
Commentaire

Saw these in S3_0 autogame tester logs, after loading civ2civ3_earth:

2: [T000 - 2023/06/24 10:20:10] in do_log_deprecation() [../../src/utility/deprecations.c::65]: Action enabler for "Bombard" is never used by any unit.
2: [T000 - 2023/06/24 10:20:10] in do_log_deprecation() [../../src/utility/deprecations.c::65]: Action enabler for "Bombard" is never used by any unit.
2: [T000 - 2023/06/24 10:20:10] in do_log_deprecation() [../../src/utility/deprecations.c::65]: Action enabler for "Attack" is never used by any unit.
2: [T000 - 2023/06/24 10:20:10] in do_log_deprecation() [../../src/utility/deprecations.c::65]: last message repeated 2 times

It might a bit hard to figure out which exact action enablers these are with 3.0.
I would do a ruleup to 3.1, and then use 3.1 ruledit to show exact enablers with fixes suggested. Let me know if you want me to do that for you.

2023-06-28 04:00 Updated by: bard
Commentaire

Thanks, I already noticed these warnings, they are caused by a unit flag named only_sea. Sea units with this flag cannot attack land tiles, but only bombard them. No unit is currently using this flag because AI can't handle it: AI would send such units to try to kill enemy units in the coast, bombarding them turn after turn without realizing that bombarding can never kill any unit.

The unit flag seems to be working and I'd like to keep it, but I'll try to comment the code out in order to avoid the warnings, so they do not mask other possible errors.

I have found a different bug in my release of 3.0 (not affecting 2.6): I forgot to unlock the game topology, so it is not possible to use maps without wrapx and wrapy. I'll upload a new version (2023_06b) with both fixes.

2023-06-28 04:13 Updated by: cazfi
Commentaire

Reply To bard

The unit flag seems to be working and I'd like to keep it, but I'll try to comment the code out in order to avoid the warnings, so they do not mask other possible errors.

Maybe we should have a field in action enablers format telling that such warnings should not be emitted about that particular enabler, i.e., that you know it to be unused and intentionally want to keep it that way.

2023-06-28 06:13 Updated by: bard
Commentaire

I used to see those warning in the client when launched as: ./client/freeciv-gtk2 -w

I'm testing S3_0 (v3.0.7+) and the warnings only appear in the server log now, but no longer as popup messages in the client. I'm not sure if this change was intended (I think I didn't change any related setting in the client).

Reply To cazfi

Maybe we should have a field in action enablers format telling that such warnings should not be emitted about that particular enabler, i.e., that you know it to be unused and intentionally want to keep it that way.

I'm not sure if it'd be worth it. Also, in my case, the problematic flag is checked (as negated requirement) in several other enablers that would still be used when the flag is removed. If the warnings are disabled for the whole enabler, I think it could mask other valid warnings in the same enabler.

2023-06-28 06:21 Updated by: cazfi
Commentaire

Reply To bard

I think it could mask other valid warnings in the same enabler.

Yes, that's the main argument against having the feature. Attempt to make ruleset author's life easier should not turn to just making it easier for ruleset authors to shoot themselves in the foot.

2023-06-30 21:16 Updated by: cazfi
  • État Update from Ouvert to Atteints
  • Propriétaire Update from (Aucun) to cazfi
  • Résolution Update from Aucun to Fixed
Commentaire

Saw these in S3_0 autogame tester logs, after loading civ2civ3_earth:

2: [T000 - 2023/06/24 10:20:10] in do_log_deprecation() [../../src/utility/deprecations.c::65]: Action enabler for "Bombard" is never used by any unit.
2: [T000 - 2023/06/24 10:20:10] in do_log_deprecation() [../../src/utility/deprecations.c::65]: Action enabler for "Bombard" is never used by any unit.
2: [T000 - 2023/06/24 10:20:10] in do_log_deprecation() [../../src/utility/deprecations.c::65]: Action enabler for "Attack" is never used by any unit.
2: [T000 - 2023/06/24 10:20:10] in do_log_deprecation() [../../src/utility/deprecations.c::65]: last message repeated 2 times

It might a bit hard to figure out which exact action enablers these are with 3.0.
I would do a ruleup to 3.1, and then use 3.1 ruledit to show exact enablers with fixes suggested. Let me know if you want me to do that for you.

Reply To bard

from cazfi on https://github.com/dftec-es/civ2civ3_earth/pull/2

Once you have a stable version, I'd like to have it also in installer's list of modpacks to suggest.

I have finished a stable version of my ruleset civ2civ3_earth, released as v2023_06. I created a new branch named "release" for such stable releases that I consider ready to be shared in installer's list of modpacks. The links to the modpack files would be: https://raw.githubusercontent.com/dftec-es/civ2civ3_earth/release/2.6/civ2civ3_earth-2.6.modpack https://raw.githubusercontent.com/dftec-es/civ2civ3_earth/release/3.0/civ2civ3_earth-3.0.mpdl Reply To cazfi

For freeciv-3.0 you have to choose:
- Leave out all the players with older freeciv-3.0 versions than 3.0.8. That includes anybody using freeciv provided by their linux distribution, with any distribution release made so far (and includes, e.g., Debian Bookwork that's currently in freeze, and won't take new freeciv version)
- Adjust the ruleset to avoid the case where there's a "Traderoute" range requirement evaluated by the client. (I can help you identify what was that, at least in this particular crash)

At the end I have not addressed this problem for v3.0, I just added a note in the NEWS file: Known bugs:
* When the ruleset is played with a version of Freeciv prior to 3.0.8, the "Investigate city" action may cause a crash to desktop (related to the presence of traded resources in the target city). As an alternative, military units can use the "Bombard" action to see all defending units. Since the crash can be avoided by simply not using the Investigate city action, I didn't find necessary to disable this action for everybody, included those who uses a version with no crash. If you disagree (you do not like in the installer's list a mod that might cause a known crash), please let me know how to implement this option:
Leave out all the players with older freeciv-3.0 versions than 3.0.8

2023-07-02 08:49 Updated by: bard
Commentaire

Reply To cazfi

Reply To bard

The unit flag seems to be working and I'd like to keep it, but I'll try to comment the code out in order to avoid the warnings, so they do not mask other possible errors.

I have found a different bug in my release of 3.0 (not affecting 2.6): I forgot to unlock the game topology, so it is not possible to use maps without wrapx and wrapy. I'll upload a new version (2023_06b) with both fixes.

While I was still thinking how to address these issues, you have been able to release a whole new freeciv version. Thank you for the new 3.0.8 and all your hard work to keep updating the game.

I have checked that the investigate city action does not seem to cause crashes using 3.0.8.

At the end, I have kept the unused action enablers. I did not found a satisfactory way to avoid the warnings.

I still need to push the patch that unlocks the game topology to the release branch. Thanks to the new modpack link I do not need your assistence for that, but I want to ask you something first.

(Edited, 2023-07-03 01:14 Updated by: bard)
2023-07-02 08:52 Updated by: bard
Commentaire
(This comment has been deleted)
2023-07-03 01:49 Updated by: bard
Commentaire

I have uploaded to my civ2civ3_earth repository the fix to unlock the topology (new commit to the branch 'release').

Now that the modpack installer tool includes a link to this 'release' branch, my updated version (that I named 2023_06b) is automatically available there. I have verified that I can install it correctly.

However, the version name (as shown in the modpack installer) is not updated automatically. Once installed, the modpack installer reports that my installed version is 2023_06b (ok), but it still appears that the available version is 2023_06 (no b).

My question is, do I need to ask for the change of the version name when I upload a new version, or the modpack installer will at some point retrieve automatically the actual version name from the file civ2civ3_earth-3.0.mpdl?

I do not see it important to change it now from 2023_06 to 2023_06b (or "c" due to minor fixes), I'm asking in case I upload in the future a new version 2024_01 or similar.

Thank you anyway. It seems to be working right now.

Attachment File List

No attachments

Modifier

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Connexion