Page 1 of 1

*sets without inatallation

Posted: Mon Oct 11, 2021 10:01 pm
by Ignatus
Currenrly, you need to inatall rulesets and nation sets for any game we host, and tilesets for any game we play. While the number of *sets that we can install has been lifted in the novel versions, we still have to do it even if we don't want to use it out of some very scpecific cases. It also would be easier to develop rulesets if we could keep different versions of the same ruleset with one Freeciv installation and not contaminate rhe ruleset luat with development stuff. So, my proposals:
  • Ability to pack *sets into savegames, I mean scenarios. Savegame is usually an archive any way, why not to put more files into it. A scenario may have some plot out of which its rules are mad.
  • Broadcast tilesets from online servers, better with an ability to cache them locally and fast check if they are up to date. Maybe rulesets and nation sets of a game could be cached the same way insto sending on each connect.
This is hardly a big expansion of security holes since one who wants to play a game will just install a modpack instead with the same effect, and so on.

Re: *sets without inatallation

Posted: Mon Oct 25, 2021 9:40 pm
by louis94
Note that saves are single-file archives, not multi-file. So including *sets there would be a big format change... The easier solution is probably to add fcmp URLs anywhere external resources are referenced (so: ruleset used by save, tileset suggested by ruleset). Then the client could gain support for installing them on the fly... This requires a protocol change.

Re: *sets without inatallation

Posted: Sun Nov 07, 2021 4:27 am
by cazfi
There's also the compatibility perspective. Freeciv can load savegames/scenarios many versions (savegame formats) back. For rulesets there is compatibility mode over just one version even in the latest versions (starting from 3.0, which can load 2.6 rulesets), and that compatibility mode is only used for updating rulesets from previous version (ruleup & ruledit tools).