To update a ruleset from 2.3 to 2.4 you must do miscellaneous simple changes.

Needed Updates

The following instructions describe what you must modify to make your ruleset run with a 2.4 server.


  • Set ruleset format of every file to option = "+Freeciv-2.4-ruleset".
  • Terrain colors are now saved in the terrain.ruleset file. Add the colors as RGB (red/green/blue) values:
color.r = 0
color.g = 0
color.b = 200
  • Player colors are now saved in the game.ruleset using a table (playercolors.colorlist). They are also defined as RGB (red/green/blue) values:
colorlist =
    { "r", "g", "b"
      255,   0,   0
  • You should specify a default government for the ruleset (especially if you want to use the standard nations). In nations.ruleset:
default_government = "Despotism"
  • It's almost certainly a good idea to set up "City_Image" effects so that cities of different sizes continue to have different graphics. Previously, the relationship between tile size and image was defined in the tileset; now it's defined by the ruleset and can be more flexible. A simple example, in effects.ruleset, which gives different images for city size 1-3, 4-7, and 8 upwards:
name    = "City_Image"
value   = 1
reqs    =
    { "type", "name", "range"
      "MinSize", "4", "City"

name    = "City_Image"
value   = 1
reqs    =
    { "type", "name", "range"
      "MinSize", "8", "City"


  • replace the following lua access structures in the lua script (default.lua and script.lua):
    • unit tile: replace unit.tile by unit:tile()
    • city tile: replace city.tile by city:tile()
    • city size: replace city.size by city:size()

Possibly needed updates

The following describes things you might need to consider, depending on your ruleset.

  • The setting min_dist_bw_cities has been removed in favour of the server option citymindist. If your game.ruleset set this, you need to add or edit your [settings] section. For example, remove:
 min_dist_bw_cities      = 1
and add:
 set =
     { "name", "value", "lock"
       "citymindist", 1, FALSE


There's an effect of buildings like the Statue of Liberty where Has_Senate is rendered powerless -- it does not block declaring of war.

In 2.3, this behaviour was tied to the "Any_Government" effect. As of 2.4, it's moved to the "No_Anarchy" effect, because that's more logical. (GNA#19107)

(Mentioned here for completeness; in most rulesets these two effects are used together, so it makes no difference, but perhaps someone is using just one of them. If so, there's no way of recreating the exact same behaviour you had before.)


The following information describes what features have been added since Freeciv 2.3.


  • The cities.ruleset fiels now contain a section citizen with the configuration for the citizens.


Community content is available under CC-BY-SA unless otherwise noted.