Freeciv 3.0 comes with a 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, but if you're lucky, it may be loadable to the freeciv server. You should see it in the same bin directory which contains freeciv-ruledit and freeciv-server.


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.


The version in Freeciv version 3.0.0-beta2 has some known issues. Tickets have been filed.

- in units.ruleset, the line


gets replaced with


- all extra resources in terrain.ruleset get the line


mistakenly added. This causes all the extra resources to not be displayed, and that line must be removed. - also in terrain.ruleset, the graphics tag for ruins needs to be updated from




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.