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

Needed Updates[]

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


  • Set ruleset format of every file to options = "+Freeciv-2.3-ruleset".


  • leader and leader_sex fields have been merged into leaders. So what formerly looks like:
leader = "Romeo", "Juliet"
leader_sex = "Male", "Female"
now should look like:
leaders = {
 "name",   "sex"
 "Romeo",  "Male"
 "Juliet", "Female"
  • ruler_titles now must contain %s. This will be replaced at running time by a player name. Example:
ruler_titles = {
 "government",  "male_title",   "female_title"
 "Monarchy",    _("%s Khan"),   _("%s Khagan")
 "Republic",    _("Sultan %s"), _("Sultana %s")


  • Like for Nations'ruler_titles, rule_male_title and rule_female_title now must contain %s which will be replaced at running time by a player name. Example:
rule_male_title = _("King %s")
rule_female_title = _("Queen %s")


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


  • You can define a variable number of names for teams (maximum 128). Missing team names will be replaced by "Team <team-numero>".
  • More control about server settings. You can define inside the ruleset the values of the server settings you want. Moreover you can lock them, then the users cannot modify them. Server settings are defined in "game.ruleset" and should look like:
set = {
 "name",                "value",         "lock"
 "mybooleansetting",    TRUE,            FALSE ; the users can change it
 "myintegersetting",    123,             TRUE  ; setting is locked, users cannot change it
 "mystringsetting",     "test",          FALSE
 "myenumeratorsetting", "ENUMERATOR",    FALSE
 "mybitwisesetting",    "VALUE0|VALUE2", FALSE


  • New unit flags "Capturable" and "Capturer": units with "Capturer" flag are able to capture the units with "Capturable" flag, instead of fighting them.