General[]
Freeciv 3.0 comes with a command line utility called freeciv-ruleup. It can be used to update a ruleset from the format of the previous freeciv version to the current one. The output is not pretty. You should see it in the same bin directory which contains freeciv-ruledit and freeciv-server.
Usage[]
Freeciv-ruleup loads a ruleset given with the --ruleset commandline option, or the default ruleset name of the version ruleup itself is from (not the version it updates from). You should set environment variable FREECIV_DATA_PATH to point to old version rulesets directory prior to running freeciv-ruleup, so it finds those old rulesets instead of the ones matching its own version. Once ruleset has been loaded and converted to match current freeciv version, it's saved to a directory named '<ruleset>.ruleup'.
Following may work for you, but it's not supported way of using the tool:
You can also run it without setting that environment variable - if the path to freeciv-ruleup is pathA/bin/freeciv-ruleup, and the path to your ruleset directory (example name "mine") is pathB/mine, then do this -
cd pathB
pathA/bin/freeciv-ruleup -r mine
and the "mine.ruleup" directory will be in directory pathB.
Problems[]
The version in Freeciv version 3.0.0-beta2 had some known issues. Tickets have been filed, and these may be fixed in version 3.0.0.
- in units.ruleset, the line
roles="ExplorerStartUnit"
gets replaced with
roles="ExplorerStartunit"
- in terrain.ruleset, the graphics tag for ruins needs to be updated from
graphic="base.ruins"
to
graphic="extra.ruins"
in order to match the change made in the default tilespec files.
- freeciv-ruleup updates only the rulesets. It does not update, e.g., tilesets.