This page is intended to assist with editing the CKII Save File. Before editing save files, it is highly recommended that you create a copy of the files in question. Simple mistakes made while editing can make a save file unplayable. Save-game editing is IMPOSSIBLE on ironman.
File locations
- Mac:
~/Documents/Paradox Interactive/Crusader Kings II/save games/
- Linux:
~/.paradoxinteractive/Crusader Kings II/save games/
- Windows:
C:\Users\YOURNAME\Documents\Paradox Interactive\Crusader Kings II\save games
Save files will be compressed (ZIP format) unless you uncheck the box when saving. Autosaves and quick saves are not compressed. The encoding of the save file is Windows-1252.
Editing Characters
Any character in the game can be edited very easily. Any aspect of a character including stats, traits and prestige/piety can be changed. You can open save files in Notepad, but they will take several minutes to load. A more advanced text editor such as Notepad++ is therefore recommended.
In order to edit a character you must first locate them within the file. The Character ID of the player character can be found at the very top of the save file. Other Character IDs can be found in a non-ironman game by using the charinfo console command. When you have the character ID, search the document using Ctrl+F and type in the Character ID followed by =.
(EXAMPLE: 31443=)
If you do not know this number, then simply run a search for the name of the character and cross reference information like birth dates, parent names, or traits (this requires knowing the trait codes). This becomes a lot easier if the character has an uncommon name.
(EXAMPLE: bn="charactername")
The section below, Save File Contents, can help you identify if you are in the right spot.
Once you find the character you are looking for, you can edit any of their features. Numerical values such as health, base stats and fertility are very easy to alter. Traits must be added using their numerical ID as opposed to actual name.
If your character has moved capitals already and you wish to allow them to do it again, change the "moved_capital" variable to "yes" instead of "no", then choose your new capital from within the game. This is very helpful if your landed son inherits from you, as the inheritance causes them to change capitals. Given that rulers normally suffer a prestige penalty for having unlanded sons, most players opt to give them land, only to discover they're stuck with their current capital when the father dies.
Marriage
In order to create a marriage you need both Character IDs. You must search for each character and add the line:
spouse = ID
where the ID is the other characters ID. This will marry the two characters in game. For a free divorce from a non-matrilineal marriage, simply remove this section. In order to divorce a matrilineal marriage, you will also need to remove the section outlined below.
Matrilineal marriage
If you want a matrilineal marriage you will need to add to the relation={} section of the save file. As an example, let's take 1500 as the husband's ID, and 2800 as the wife's ID. Add this to the relation section:
relation= { ... diplo_1500= { 2800= { succession=yes } } ...
If you wish to turn a matrilineal marriage into a normal one, simply find and delete those lines.
Save File Contents
This is the order of content within the Save File. This can help the user navigate the areas of the file that they are trying to access.
Player information
version # game's patch when saved date # game’s date when saved player= # brackets containing player’s information { id # player’s character’s ID type # } player_realm # player’s main province title ID # Following information duplicate those found in player's character information player_name # player’s name (<=> Character’s name + nickname) player_age # character’s age player_portrait= # list infos on player’s character { fem # no: male, yes: female dna # charater’s DNA properties # religion # religion culture # culture government # government type dynasty # dynasty ID } is_zeus_save # game_rules= # { alternate_start # } game_speed # game’s speed (0: Paused, 4: Max) mapmode # playthrough_id #
Dynamic titles
dyn_title # information on titles that are dynamic (for rebels, nomad, etc.) { title # Province title ID (dynamic) base_title # title associated with this dynamic title (e.g. if duke of “X” rebels, here will be written “X”) is_custom # only appear if yes. yes: title specifically created for this game is_dynamic # yes: is dynamic }
Game information
Unit # sub_unit # start_date # game’s start date flags= # list of global events and date at which they were triggered { […] } vars= # list of specific variables, with self-explanatory titles { global_amount_of_times_china_civil_war global_amount_of_times_china_expansionist_policy global_amount_of_times_china_famine global_amount_of_times_china_jurchen_invasion global_amount_of_times_china_mongol_invasion global_amount_of_times_china_plague global_amount_of_times_china_stable global_amount_of_times_china_unrest global_children_of_destiny_bloodlines_founded global_children_of_destiny_on_birth global_china_change_to_expansionist_count global_deaths_in_battle global_miracle global_raiding_adventurer_recruit_troops global_raiding_adventurer_spawn_by_courtier_MTTH global_raiding_adventurer_spawn_by_displacement global_raiding_adventurer_spawn_by_jurchen_invasion global_saint_number global_temp_policy_years global_temp_status_years } saved_event_target= # { # }
Dynasties
For more information: dynasty modding.
dynasties= { # == Non historical (created for this particulier game) dynasties == 10290905= # dynasty’s ID { name # name of dynasty (i.e. character’s last name culture # original culture of dynasty. Useless in-game as used to determine if it will appear as a random name in the Ruler Designer religion # original religion of dynasty. Useless is_modified=yes #only appear if yes. yes: name of dynasty was modified by player coat_of_arms= # For more information: coats of arms modding { data= # appearance of coat of arms { 3 1 0 6 14 5 5 1 0 6 14 5 5 1 0 6 14 5 5 1 0 6 14 5 5 } religion # type of coat of arms } set_coat_of_arms=yes # only appear if yes. yes: coat of arms was set manually by player } # Note on Historical dynasties ("de Valois", etc.) 25= # dynasty’s ID { coat_of_arms= # only coat of arms is available { data= { 0 0 0 21 6 13 13 } religion } } }
Characters
For more information: character modding.
character= { 987898= # character’s ID { bn # birth name name # current name (for instance Papal name) nick # nickname fem # only appear if yes. yes: character is a woman pi # only appear if yes b_d # birth date d_d # death date – if appear, then character is considered in game as dead c_d # cause of death fat # character’s father’s ID – only appear if applicable rfat # character ID of real father – only appear if applicable mot # character’s mother’s ID – only appear if applicable spouse # spouse or husband character’s ID. If multiple, then character has had multiple spouse, in the order which they appear kill_list # list information on all character’s kill { { # one set of brackets per kill id # killed character’s id type # killed character’s type } } att # attributes tr # traits rel # religion – does not appear if government make it unnecessary, e.g. if muslim_government and religion is sunni secret_religion # secret religion – only appear if applicable cul # culture – does not appear if unnecessary g_cul # graphic culture (character’s appearance) – does not systematically appear dnt # dynasty’s ID – appear only if applicable dna # DNA prp # properties gov # government type – only appear if character has a title fer # fertility health # health lover # ID of character that is a lover of current character prs # prestige piety # piety bstd=yes # only appear if yes. yes: character is a bastard player=yes # only appear if yes. yes: is player’s character player_name=MrHuman # only appear if player’s character. Name of player (MrHuman by default for single player) claim # information on one of character’s claims – only appear if applicable { title # Claimed title’s ID pressed=yes # only appear if yes. yes: pressed claim weak=yes # only appear if yes. yes: weak claim } job # character’s job (marshal, spymaster, etc.) – only appear if applicable title # specific title (commander, consort, etc.) – only appear if applicable wealth # money emp # liege’s character ID host # character ID of host (i.e. for which current character is a courtier) or jailer imprisoned # date since which character is imprisoned guardian # character ID of guardian in_hiding=yes # only appear if yes. yes: character is in hiding known_plots # list ID of characters whose plots are known but current character { } emi # eme # eyi # eypi # lgr= #leger – only appear if character has a title { lastmonthincometable # income over the last months lastmonthexpensetable # expenses over the last months lastmonthincome # last month income lastmonthexpense # last month expense } flags= # list of character’s events and date at which they were triggered { recieved_royal_marriage_aid_duty=1441.2.3 } vars= #list of specific variable { physique_variable=-2.000 } md= # modifier { modifier # name of modifier hidden=yes # only appear if yes. yes: is not displayed } action # action as member of council (train troops, etc.) acdate # action start date acloc # ambition_date # date at which ambition was set focus_date # date at which focus was set plot_date # date at which plot was set cpos # council position (loyalist, etc.) cpos_start # date at which council position was set score # character’s score war_target # ID of character with which current character is at war society # ID of the society character is part of – only appear if applicable dmn= # domain information – only appear if character has a title { army { } navy { } capital # capital of domain liege_troops= # troops by type { li={18.850 25.375} hi={15.950 39.875} pi={2.150 5.375} lc={1.050 2.625} ar=1.750 } raised_liege_troops= # raised levy { 504504 } my_liegelevy_contribution=75 # } character_player_data # player’s chronicle { chronicle_collection { chronicle # chronicle for one character { chronicle_chapter # chronicle for one year { chronicle_entry # chronicle on one entry { text # text picture # picture from a predetermined set portrait # ID of portraited character portrait_culture # type of portrait depending on culture portrait_title_tier # type of portrait depending on tier of title portrait_government # type of portrait depending on government type } year # year of entry } character # character’s ID } chronicle_position chapter_position entry_position chronicle_icon_lit } } retrat # } }
Delayed events
delayed_event= { event= # events ID days= # number of days before events happen scope= # scope information { seed # char # character ID from= { seed # char # character ID root= { # delayed events can be recursive } } } }
Relations
relation= { rel_987898= # relations of character 987898 { 959480= # relation of character 987898 with character 959480 { opinion_decreased_council_power= # modifier { d # end date } ry=4 # reigned years, determining the short or long reign opinion modifier } } }
ID
id= { id # type # }
Religion
religion= { catholic= { last_crusade # date of last crusade parent # parent religion. If none, "noreligion" was_heresy=no # religion was an heresy or not authority= # modifier on religion’s authority { modifier # ID of modifier d # end date } authority= { } holy_sites= # list of baronies that are regarded as holy site by religion { b_koln b_sutri b_sansebastian b_santiago b_jerusalem b_canterbury } bloodline= { 1 2 8 9 10 11 12 14 # } }
Religion Group
religion_group= { }
Culture
culture= { }
Culture Group
culture_group= { }
Provinces
For more information: province modding.
provinces= { 1= # province id { vars= # list of specific variables { prosperity_value=243.000 } name="Vesturland" # name of provinces as displayed in-game culture=Norwegian # province culture religion=catholic # province religion max_settlements # max number of holdings modifier= # modifier – one by set of brackets { modifier # name of modifier date # end date } b_reykjavik= # name of holding { type=castle # type of holding date # date of creation build_time # # You find here the list of buildings and there level, e.g.: ca_shipyard_1=yes # shipyard, level 1 levy= # amounts for levy { li=503.000 hi=1019.000 pi=132.000 lc=397.000 ar=159.000 ga=27.000 } } technology= { tech_levels # tech levels } loot # amount that can be looted primary_settlement="b_reykjavik" # primary holdings, i.e. the one that is held when holding the province } }
Bloodline
bloodline= { 0= # ID of bloodline { type # type of blood line name # name of bloodline (not name of dynasty) desc # description of bloodline owner # founder bloodline flags= # list of flags relating to this bloodline, and the date at which they happen { } created # date of creation member # character ID of member inheritance # type of inheritance (matrilineal, etc.) allow_bastards=yes # only appear if yes. yes: bastards inherit bloodline } }
Title
For more information: title modding.
title= { e_rebels= # province title ID { # == FOR LIEGE == # Either: liege # province title ID for liege # Or: liege= { title # Province title ID (dynamic) base_title # title associated with this dynamic title (e.g. if duke of “X” rebels, here will be written “X”) is_custom # only appear if yes. yes: title specifically created for this game is_dynamic # yes: is dynamic } religion # holder # character ID of current holder name # custom name, only appear if applicable custom_name=yes # only appear if yes. yes: name was changed by player adjective # adjective related to the province succession # type of succession gender # authorized gender for succession # == Hereafter are listed the laws, and there level == law="agnatic_succession" law="succ_open_elective" law="centralization_0" law="law_voting_power_0" law="war_voting_power_0" law="revoke_title_voting_power_0" law="imprison_voting_power_0" law="grant_title_voting_power_0" law="banish_voting_power_0" law="execution_voting_power_0" law="out_of_realm_inheritance_law_0" law="revoke_title_law_0" law="ze_administration_laws_0" law="tax_levy_law_feudal_4" law="tax_levy_law_republic_4" law="tax_levy_law_theocracy_4" law="tax_levy_law_tribal_4" law="status_of_women_0" law="vice_royalty_0" law="succession_voting_power_0" law="vassal_wars_law_0" coat_of_arms= # coat of arms of province, only customable for holdings { data= # appearance of coat of arms { 0 0 0 1 7 1 9 } religion # type of coat of arms } de_jure_law_changer # ID of character who changed de jure law de_jure_law_change # date at which de jure law was changed de_jure_law_changes # number of changes of de jure law normal_law_changer # ID of character who changed normal law normal_law_change # date at which normal law was changed last_change # date of last event (change of owner) previous= # previous owners: list of character IDs { } set_allow_title_revokation # set_investiture # history= #history of province { 769.1.1= # date of event { # EITHER: holder # character ID of holder during event # OR: holder= { who # character ID of holder during event type # type of event (election, etc.) } } } de_jure_liege # de jure liege, applicable to all except holdings and empire de_jure_ass_years # number of years since province started to be assimilated by another province (assimilated when it reaches 100) assimilating_liege # province assimilating (future de jure liege) law_vote_date # date at which a vote for change of law happened law_change_timeout # date where law can again be changed infamy= { total_infamy # current total of infamy history= { name # description of cause of infamy value # amount of infamy } } } '# == SPECIFICITIES OF DYNAMIC PROVINCES == k_dyn_reb_968442= { dynamic=yes # only appear if yes. yes: is dynamic, i.e. is specific to that game landless=yes # only appear if yes. yes: title is not associated with a county title # character’s title when holding province title_female # character’s title when holding province (female) foa # Gives localization key for holder's form of address if non-standard (e.g. "My Captain") capital=472 # capital of the province color={90 24 36 } # color of the province holding_dynasty=7215 # dynasty holding that title temporary=yes # only appear if yes. yes: is only temporary major_revolt=yes # only appear if yes. yes: province is rebelling base_title # title on which is based the province } }
Active ambition / Active focus
active_ambition= / active_focus= { type # type of ambition or focus scope= { seed # char # character ID from= { seed # char # character ID } } parent_scope= { seed char # character ID } backer # character ID of backer auto_invite=yes # only appear if yes. yes: auto invite character to these ambition }
Nomad
nomad= { k_dyn_925429= # dynamic province title { population # amount of population manpower # manpower technology= { tech_levels= # tech levels } } }
Combat
combat= { }
War
war= { name="" history= { } }
Active war
active_war= { name="" history= { } }
Coalition
coalition= { coalition_target_title # province title ID of target coalition_target # character ID of target coalition_member= { # list of character IDs of members of coalition } }
Previous wars
previous_war= { # list of IDs of previous wars }
Outbreak
next_outbreak_id # ID of disease where next disease will outbreak dont_break_out_again_entity= # information on disease which should not happen next { disease # disease ID timeperiod # [years?] before this disease can again happen } disease_outbreak= # information on disease that already started { start_date # outbreak date outbreak_id # disease id origins_province # province id where the outbreak happened disease_period= { # } provinces= { # list of provinces where there is currently an outbreak } past_provinces= { # list of provinces where there was an outbreak } active #if yes, is currently active. If no, is a past outbeak }
Disease
disease= { disease_tuberculosis= #type of desease { active=yes # is disease active or not } }
Character history
character_history={ # list of characters played by player, as they appear on score panel { identity # character ID date # date where they started their reign score # score } }
Nomad relation
nomad_relation= { k_dyn_947877 # relations of title k_dyn_947877 { k_dyn_947877= # relation of title k_dyn_947877 with title k_dyn_947877 { clan_opinion_created= # modifier { d # end date of event } } } }
Other information
playthrough_duration # number of in-game days since game started character_action #
Society
society= { 0= # ID of society { member= # information on one member of society { character # character ID society_rank # rank in society society_currency # days_in_society # days since joining society days_at_current_society_rank # days since reach this rank in society } modifier= # modifier – one by set of brackets { modifier # name of modifier date # end date } society_leader #character ID of society leader type # type of society } }
Artifacts
artifacts= { 33554432= # artifact id { type # type of artifact name # name of artifact desc # description of artifact owner # character ID of current owner org_owner # character ID of original owner flags= # list of flags and date at which they were triggered { trophy=1078.5.27 } created # date of creation obtained # date at which it was obtained by current holder equipped # is equipped by character or not active # is active or not history= { 860636=1322.3.28 # character ID and date of obtention } }
Offmap Powers
offmap_powers= { 0= # ID of offmap power { type # type of offmap power holder # character ID of current holder prev_holder # character ID of previous holder prev_policy # previous policy cur_policy # current policy policy_change # date of change of policy prev_status # previous status cur_status # current status status_change # date of change of status flags= # list of flags and date at which they were triggered { china_had_plague=1386.6.4 } names= # { china_china shu_china yuan_china } likes # what does the current power likes currently dislikes # what does the current power dilikes currently temple_list # temple_name # temple_indices= { } history= #history of offmap power { 769.1.1= # date of event { # EITHER: holder # character ID of holder during event # OR: holder= { who # character ID of holder during event type # type of event (election, etc.) } } } } }
Wonder Upgrade
wonder_upgrade= { 0= # ID of wonder’s upgrade { type # type of wonder’s upgrade completed # is wonder’s upgrade built or not active=yes # is wonder’s upgrade active or not progress # [completion?] wonder # ID of wonder related to that upgrade construction_paused=no # is construction posed name # name of wonder’s upgrade desc # description of wonder’s upgrade flags= # list of flags and date at which they were triggered { } } }
Wonder
wonder= { 16777216= # ID of wonder { type # type of wonder province # ID of province where wonder is located name # name of wonder desc # description of wonder wonder_upgrade= { # List of IDs of wonder upgrade } construction_history= # List of EVENTS relating to the wonder { { type # type of construction wonder_historical_event_character # ID of character that started the events wonder_historical_event_date # province # province where the event happened new_name # name after event – in case of change of name old_name # name before event – in case of change of name custom_history # wonder_stage # stage of wonder at the time wonder_upgrade # type of upgrade – in case of construction of an update } } upgrade_slots # stage=1 # current stage progress # progress until next stage construction_paused=no # is construction paused is_damaged=no # is wonder damaged is_being_looted=no # is wonder being looted is_being_restored=no # is wonder being restored restoration_paused=no # is restoration paused historical=no # is the wonder historical active=yes # is it currently active is_constructing # is it construction looting_progress # progress of looting restore_progress # progress of restoration custom_name=yes # yes: name was changed by player custom_desc=no # yes: description was changed by player background # background image (depends on province) background_frame_number # type of background frame model # model on image update_model=no # flags= # list of flags and date at which they were triggered { } } }
Quests
quests= { quest= { id # type of quests holder # character ID of holder of quest society # type of society target= { char_target # character ID of target of quest } } }
Final information
generated_societies=yes # are societies activated generated_artifacts=yes # are artefacts activated trade_route= { silk_road= { multiplier # wealth_change # } } vc_data #
历史 | 角色 • 家族 • 省份 • 头衔 • 剧本 |
脚本 | 指令 • 条件 • 作用域 • 修正 • 事件 • 决议 |
常规 | 定义 • 游戏规则 • 另类开局 • 宗教 • 文化 • 政体 • 特质 • 血脉 • 科技 • 法律 • 建筑 • 宣战理由 • 朝贡国 • 单位 • 目标 • 疾病 • 死亡 • 荣誉头衔 • 社团 • 宝物 • 地图外政权 • 内阁成员 • 贸易路线 • 继承 • 奇观 • 称号 |
图像/音效/本地化 | 地图 • 图形 • 盾徽 • 肖像 • 界面 • 小地图 • 音乐 • 本地化 |
其他 | 故障排除 • 验证器 • 控制台指令 • 编辑游戏存档 • Steam创意工坊 • EU4转档器模组制作 |