New Nation

Contribute, display and discuss rulesets and modpacks for use in Freeciv here.
User avatar
Arbogast
Elite
Posts: 412
Joined: Tue Jul 16, 2013 9:09 am
Location: France

New Nation

Post by Arbogast »

I modified an existing ruleset with minor modifications. Mostly, the flags, the names of rulers, the order of cities.
I renamed the ruleset and added it to the 'nation' list. I put the flags in the flags folder.
Launched the game to see the results, but the new nation doesn't appear in the game's "choose nation".

I must have missed something. Any ideas? Pretty Please?

(I did find the recent topic "Nation Class" in the wishlist, but I don't understand most of it. I'm an IT dumb.)
User avatar
Corbeau
Elite
Posts: 1291
Joined: Mon Jan 13, 2014 11:13 pm

Re: New Nation

Post by Corbeau »

I assume you also created the new nations file?
--
* Freeciv LongTurn, a community of one-turn-per-day players and developers
* LongTurn Blog - information nexus with stuff and stuff and stuff
* Longturn Discord server; real-time chatting, discussing, quarrelling, trolling, gaslighting...
User avatar
Arbogast
Elite
Posts: 412
Joined: Tue Jul 16, 2013 9:09 am
Location: France

Re: New Nation

Post by Arbogast »

Yes, is a slightly modified default file and renamed, assuming you mean the ruleset file.
User avatar
vodot
Veteran
Posts: 81
Joined: Thu May 17, 2018 4:54 pm

Re: New Nation

Post by vodot »

You could be having a wide range of problems. Here are the steps to get a nation added to the default list:
1. create a new nation ruleset file in the /default folder (or copy and modify a previous one, as you did)
2. change ALL of the internal identifiers in the new ruleset file to match your new nation (not just the filename). for an example, check the copypasta below, which is a custom nation I made (Akkad), based off sumerian.ruleset. EVERYWHERE (except the flavor text and cities list) in the file that says 'akkadian' or akkad' used to say "sumerian" or "sumer"- make sure you change ALL of the identifiers.
3. add flags for your nation (which you did)
4. add your nation (using the correct name) to the includes list in '/default/nationlist.ruleset'

Did you do all of these?

Code: Select all

[nation_akkadian]

translation_domain="freeciv"

name=_("Akkadian")
plural=_("?plural:Akkadians")
groups="Ancient", "Asian", "Core"
legend=_("The Akkadian Empire was the first ancient Semitic-speaking empire\
 of Mesopotamia, and is sometimes considered the oldest empire in history.\
  Centered in the city of Akkad and its surrounding region, it united\
  Akkadian and Sumerian speakers under one rule, exercising influence across\
  Mesopotamia, the Levant, and Anatolia from 2500-2200 BC.")

leaders = {
 "name",                "sex"
 "Sargon",              "Male"
 "Enheduanna",          "Female"
 "Rimush",              "Male"
 "Manishtu",            "Male"
 "Naram-Sin",           "Male"
 "Enmenanna",           "Female"
 "Shumshani",           "Female"
 "Shar-Kali-Sharri",    "Male"
 "Tuta-Shar-Ibbish",    "Female"
 "Dudu",                "Male"
 "Shudurul",            "Male"
}

ruler_titles = {
 "government", "male_title",    "female_title"
 "Anarchy",    _("Usurper %s"), _("?female:Usurper %s")
 "Monarchy",   _("%s Lugal"),   _("?female:%s Lugal")
}

flag = "akkadia"
flag_alt = "sumeria"
style = "Babylonian"

init_techs="Imperialistic", "Agricultural"
init_buildings=""
init_units=""
conflicts_with="sumerian"
civilwar_nations="sumerian", "babylonian", "assyrian"

cities =
 "Akkad",
 "Unug", ; Uruk
 "Eridug", ; Eridu
 "Urim", ; Ur
 "Sirpurla", ; Lagash
 "Nibru", ; Nippur
 "Umma",
 "Larsa",
 "Kish",
 "Adab",
 "Hit",
 "Borsippa",
 "Isin",
 "Shuruppak",
 "Ngirsu", ; Girsu
 "Bad-tibira",
 "Zimbir", ; Sippar
 "Gudua", ; Kutha
 "Dilbat",
 "Marda", ; Marad
 "Der",
 "Kisurra",
 "Zabala",
 "Kisiga", ; Kuara
 "Kes",
 "Hamazi",
 "Eshnunna",
 "Akshak",
 "Mari",
 "Kesh"
finally, ensure that the ruleset you're using actually calls '/default/nationlist.ruleset' for it's nationlist. note that this call is made in a seperate file (nations.ruleset) inside the ruleset folder itself (civ1, civ2, experimental, etc.). in my case above, Akkad is a civ I use in my private mod. That means that I had to manually change my mod's nations.ruleset file AND create (and call) a new nationlist file as well (with akkadian added to the includes), since my modified nations have init_techs to give them unique combinations of traits (making them ineligible to simply add to the default folder/list).
User avatar
Arbogast
Elite
Posts: 412
Joined: Tue Jul 16, 2013 9:09 am
Location: France

Re: New Nation

Post by Arbogast »

vodot: thanks for your many counsels. As for steps taken...
1) Done, as you noticed.
2) That's done too.
3) Flags, done.
4) And that, my friend, is what I was missing. Corrected it as I write this post. :D
However your last point didn't make sense to me, but I shall persist until you'll hear me screaming "eureka!!!"

Nope, could not get it: I did find a "nation.ruleset" in the "override" folder, but I don' know what to do.

Cordially,

¡h!
cazfi
Elite
Posts: 3069
Joined: Tue Jan 29, 2013 6:54 pm

Re: New Nation

Post by cazfi »

Can you attach the files so we can have a look?
User avatar
Arbogast
Elite
Posts: 412
Joined: Tue Jul 16, 2013 9:09 am
Location: France

Re: New Nation

Post by Arbogast »

Sure, here we go:
francs.zip
(2.15 KiB) Downloaded 372 times
francs.zip
(2.15 KiB) Downloaded 372 times
As for the nation folder, the name is added. (notice that "nation" is missing an "s", I mention this for identification purposes).

¡h!
Attachments
Francs-flags.png
Francs-flags.png (974 Bytes) Viewed 6753 times
cazfi
Elite
Posts: 3069
Joined: Tue Jan 29, 2013 6:54 pm

Re: New Nation

Post by cazfi »

Trying with 2.5:
Copying your francs.ruleset to <data>/nation/
Adding line to <data>/default/nationlist.ruleset
Starting server to see if it loads fine -> complains about missing "city_style" entry -> ok, since your ruleset has 'style' instead you must have meant this for freeciv-2.6

Trying with 2.6:
Copying your francs.ruleset to <data>/nation/
Adding line to <data>/default/nationlist.ruleset
Starting server to see if it loads fine -> it does, so ruleset syntax seems to be fine
Starting client and connecting it to the server. "Pick Nation" -> leaving Nation Set to "Core" as it is by default -> Selecting Group "All" -> Nation not listed (as expected). -> Change Nation Set to "Extended" -> Nation is listed (thought not with your flag since I didn't set those up)
User avatar
Arbogast
Elite
Posts: 412
Joined: Tue Jul 16, 2013 9:09 am
Location: France

Re: New Nation

Post by Arbogast »

oh! We are making some progress...
About the flags it may be my fault. Maybe I tried to change the city flag one way or the other.
Wait... No, that ain't it. City flag is "Francs".
Maybe it has to do with the nations file in the override folder? It's a blank beside a message that says "; This is intentionally empty file. The idea is that the user can..." and that's what I don't know how to deal with it.

Hey Cazfi, thanks for your attention.

¡h!
User avatar
vodot
Veteran
Posts: 81
Joined: Thu May 17, 2018 4:54 pm

Re: New Nation

Post by vodot »

so cazfi is saying that the Francs should be working fine. His issue with the flags was probably just because he didn't load them. (so the server couldn't find them when it looked for them). Since we now know you're using 2.6 (right?), there's only three more things to check:

1. Which ruleset are you trying to play with? Assuming it's 'classic', check "/data/classic/nations.ruleset" and make sure that at the end it says "*include default/nationlist.ruleset".

2. Check "/data/default/nationlist.ruleset" and make sure that there is a line for *include "/nations/francs.ruleset"

3. When you start the game, make sure that you select the ruleset above, and that you switch the nations category to "Extended" (not "Core").
Last edited by vodot on Tue Jul 10, 2018 9:44 pm, edited 1 time in total.
Post Reply