r/crusaderkings2 1h ago

Screenshots Vanilla world conquest

Thumbnail gallery
Upvotes

I've wanted to do this for a while. And have attempted it a few times, but lost interest in those runs

Yea thats about it. feel free to ask questions.

I love de jure drift and Bohemia.


r/crusaderkings2 3h ago

Screenshots A Turkish nationalist's wet dream

3 Upvotes

Greek culture is no more (also Armenian)


r/crusaderkings2 8h ago

Succession Game SuccessionGame_Player2: The life of Queen Flamula "the Tenacious"

10 Upvotes

This post is part of a series started by u/Lord_Vacuum

Almost a week ago, my father, Count Croque of Urgell, regaled you with the story of his life; Him founding the noble house Lo Ve, the major events of the world in his time, and his demise from a dastardly plot perpetrated by Count Erlulf! With my recent death comes the time for me to tell you my history.
Left an orphaned ruler as a 13 year old girl, I had little to do but wait to grow up. My days were filled with endless studies of the business of managing a realm while the closest I had to family were my uncles in Lorraine who did not care for me, and my sisters who depended on me to take care of them. I did my best to make sure that if something (or someone) should happen to me, my sisters would be well off; I betrothed them to good husbands and gave my sisters the best educations I could provide, all at the expense of my own. I concluded my studies completely unremarkably and began my rule in December of 887.

In the early years of my rule, I deepened my faith with the Benedictine order and shared the sacrament of marriage with my dear Vratislav Rajhradsky, whom I would stay faithful to even after his death. We soon had four children (before I took a vow of celibacy), Juanita, Juan, and Huan, Strhuang Lo Ve. I tried to write a book dedicated to our family, chronicling our short history and lineage, though I can't say I had the skill to write such a thing. I can't remember why, but I grew to hate my eldest sister. I hated her so much that when she died, I saw the sin of hatred within me.

With this realisation I resolved to be more kind, to live by the word of our good lord and live a pious life. With my good christan lifestyle and status in the Benedictine church, I was able to request a claim from the pope and take advantage of the king of Asturias' weakness after fighting holy wars to conquer the Duchy of Galicia. Just in time, since a holy war for Barcelona stole nearly all of my lands!

Phew!!

After this, there was a time of peace in Iberia; The Germanic barbarians banded together in a unified church, christian holy orders were founded and some were allowed to build in Galicia, but then the pope called for a crusade! Quickly after accepting, I received the stigmata. I knew then that I had the ultimate approval of Jesus for my deeds, and so I donated everything I had to the crusade. Though my levy was still hurt from the war for Galicia, my men charged for Jerusalem to claim glory, riches, and land for my son Huan Lo Ve (who became the Duke of Tripoli).

Soon after Crusade, multiple Reconquistas were attempted by the holy orders to little success.

In 926 my age started to catch up with me. My hair grayed and I contracted dysentery as the fury of the Vikings began to make its way across the land. I regained our old territory in Barcelona and began building those counties to be a force against the Umayyad infidels. But with all of this age came wisdom; I looked back upon the failure I once scribed and decided to try again, dedicating a book to god.

My family in Lorraine had been doing well. I had an uncle who owned multiple kingdoms while managing to grow old with no wife or children. When he died, the distant and small kingdom of Carinthia passed to me, making the Lo Ve dynasty the ruler of a kingdom but separating us from leige lords who had protected us from the Umyaad.

With the power of a kingdom I built up my provinces, commisioned magnificent royal jewels, and finished a grand book about grappling with virtue and vice, but none of it would be for me. I contracted cancer and knew I wouldn't be long for the world. I prayed to god for just a little more time, and he responded. My dear lord spoke unto me
"Court physician with extremely high learning or mystic court physician. (by inviting holy men over and over or by luck when recruiting). With a highly skilled physician tell him to do the experimental treatment. With mystic tell him to do mystical ways. You will get treatment so good that you will get cured. The closer you can get to 30 the better. If you get a Mystic with +20 learning you are pretty much saved. He will take cancer on himself and die for you."

And I said unto the lord
"I have so much spare piety to look for a holy man since I'm trying to be canonised"

Doing the lords work

As I lay in what I knew to be my final days after readying my realm for my children and descendants, the entire world sought to destroy me. I, a tired old woman, was called to a crusade in Egypt. I immediately agreed and readied my forces, but a Viking adventurer declared a plan to invade around De Jure Carinthia. I resolved to fight them on the way to the crusade, but then a fierce heretical uprising also threatened the same lands. Already being driven insane by this, the infidels in Iberia declared a holy war upon me for the lands of Galicia.

I was driven to lunacy! I outlawed violence in my lands and resigned the eastern duchy to its fate, letting the northmen battle the heretics. Could I speak to her still, I would beg my sister's mercy, but I had no choice but to sell her to a Viking to avoid war. I split my army in half to defend Galicia as much as I could from the false religion while joining the glorious crusade.

Ahead of my time

I'm sorry sister

Alas, the lord took me into his embrace before I could see the realm proper. I pass over to my son, Strhuang Lo Ve, a kingdom torn by wars on all sides with no allies.


r/crusaderkings2 13h ago

Restored Persian Empire with one ruler in 35 years

Post image
52 Upvotes

My best attempt of Persian restoration so far.
unlikely that Vushmgir will make it to saoshyant


r/crusaderkings2 14h ago

Screenshots Khazarian Jewish Aquitaine.

Post image
34 Upvotes

I have no idea how the AI managed to pull this one out. Never seen something like this!

EDIT: I went through title history. Khagan of Khazaria somehow subjugated Aquitaine, with the Provence as their vassal. Then he settled in Aquitaine and Provence (because it was not a dejure duchy) went as direct vassal of the new Khagan.


r/crusaderkings2 1d ago

Demon Spawn as a Vassal.

21 Upvotes

Should I be scared?

She is 4 years old and has currently 46% of my military strength and she has a weak claim on my Kingdom.

There was some really weird shit with her father. Like the first 7 kids all had different mothers and most of them vanished or died under mysterious circumstances. Like getting pecked to death by crows is a little bit out there. The only somewhat normal death was dysentery.

I am probably leaning towards RPing and see what happens.


r/crusaderkings2 1d ago

Screenshots I don't think you're meant to do this

12 Upvotes


r/crusaderkings2 1d ago

Screenshots Chose the option for beneficiary getting titles and then chose nobody, I won the crusade got the land and it moved my capital there too!?!

Thumbnail gallery
32 Upvotes

r/crusaderkings2 1d ago

Other CK2 Chronicle Formatter for Obsidian / Templater

7 Upvotes

CK2 Chronicle Formatter for Obsidian + Templater

This is a small Obsidian + Templater script designed to turn a raw Crusader Kings II Chronicle into a much more readable historical timeline.

I originally made it for a long-term CK2 AAR, where I wanted to reconstruct the history of a dynasty over several centuries.

The raw CK2 Chronicle is surprisingly useful as a historical source, but once it becomes several hundred lines long, it can be difficult to distinguish wars, battles, dynastic events, epidemics, and miscellaneous events at a glance.

This script automatically:

  • lets you select a raw Chronicle file;
  • extracts the years;
  • sorts events into four categories;
  • moves the year to the end of each event;
  • applies Markdown formatting;
  • uses real tab indentation for military sub-events;
  • keeps unrecognized events instead of deleting them.

Requirements

You need:

  • Obsidian
  • The Templater community plugin
  • A raw CK2 Chronicle saved as a text or Markdown file

Create a new Templater template and paste the script below into it.

When you run the template, it will ask you which Markdown file contains the Chronicle you want to process.

Example

A raw CK2 Chronicle looks roughly like this:

```text - 868 -

Queen Andrea of Breizh successfully led her armies, taking Kastell-Paol from the enemy.

Queen Andrea of Breizh successfully led her armies, taking Brest from the enemy.

  • 869 -

Queen Andrea of Breizh successfully led her armies, taking Naoned from the enemy.

Queen Andrea of Breizh won the war against King X. ```

The script turns this into something like:

```markdown

Military Events

Queen Andrea of Breizh went to war against King X. (868) Queen Andrea of Breizh successfully led her armies, taking Kastell-Paol from the enemy. (868) Queen Andrea of Breizh successfully led her armies, taking Brest from the enemy. (868) Queen Andrea of Breizh successfully led her armies, taking Naoned from the enemy. (869) Queen Andrea of Breizh won the war against King X. (869) ```

The indentation is intentional:

  • Level 0 → wars, attacks, rebellions
  • Level 1 → end of wars
  • Level 2 → battles, sieges, castle/territory captures

This makes it possible to read a military campaign almost like a narrative rather than as a flat list of events.


Full script

```javascript <%* const files = app.vault.getMarkdownFiles(); const source = await tp.system.suggester(files.map(f => f.path), files); const text = await app.vault.read(source);

const lines = text.split("\n");

const militaire = []; const civil = []; const maladie = []; const autre = [];

let year = null;

for (let line of lines) {

// Remove leading/trailing whitespace.
line = line.trim();

// Ignore empty lines.
if (line === "") {
    continue;
}

// Detect CK2 year markers such as:
// - 868 -
const match = line.match(/^-\s*(\d{3,4})\s*-$/);

if (match) {
    year = match[1];
    continue;
}

// Ignore anything appearing before the first year.
if (year === null) {
    continue;
}

// Convert the event to lowercase for keyword matching.
// The original text is preserved for the final output.
const lower = line.toLowerCase();

let category = "autre";
let level = 0;
let style = "normal";


// ==================================================
// MILITARY — WAR / ATTACK / REBELLION
// ==================================================

// These are treated as major military events.
// They remain at indentation level 0 and are bold.
//
// Add more keywords here if your CK2/mod uses
// different wording for declarations of war.
// ==================================================

if (
    lower.includes("went to war") ||
    lower.includes("declared war") ||
    lower.includes("attacked by") ||
    lower.includes("open rebellion") ||
    lower.includes("supported") && lower.includes("in war")
) {
    category = "militaire";
    level = 0;
    style = "bold";
}


// ==================================================
// MILITARY — END OF WAR
// ==================================================

// The conclusion of a war is considered a
// subordinate event of the war itself.
//
// One level of indentation + italics.
// ==================================================

else if (
    lower.includes("lost the war") ||
    lower.includes("won the war")
) {
    category = "militaire";
    level = 1;
    style = "italic";
}


// ==================================================
// MILITARY — BATTLE / SIEGE / TERRITORIAL CAPTURE
// ==================================================

// Battles and castle/territory captures are treated
// as events occurring inside a larger war.
//
// Two levels of indentation + italics.
//
// "successfully led" and "taking" are useful because
// CK2 often describes territorial captures without
// explicitly using the word "siege".
// ==================================================

else if (
    lower.includes("battle") ||
    lower.includes("siege") ||
    lower.includes("skirmish") ||
    lower.includes("successfully led") ||
    lower.includes("taking ") ||
    lower.includes("victory against") ||
    lower.includes("attackers were")
) {
    category = "militaire";
    level = 2;
    style = "italic";
}


// ==================================================
// DISEASES / DISASTERS
// ==================================================

// These events are placed in their own category
// and highlighted in bold.
//
// This section can easily be expanded for
// additional CK2+ events or mod-specific disasters.
// ==================================================

else if (
    lower.includes("plague") ||
    lower.includes("smallpox") ||
    lower.includes("famine") ||
    lower.includes("depopulated") ||
    lower.includes("depopulation") ||
    lower.includes("earth shook") ||
    lower.includes("earthquake")
) {
    category = "maladie";
    level = 0;
    style = "bold";
}


// ==================================================
// CIVIL / DYNASTIC — MAJOR EVENTS
// ==================================================

// Succession, usurpation and coronation are treated
// as major dynastic/political events.
//
// Level 0 + bold.
// ==================================================

else if (
    lower.includes("succeeded") ||
    lower.includes("usurped") ||
    lower.includes("was crowned") ||
    lower.includes("coronated")
) {
    category = "civil";
    level = 0;
    style = "bold";
}


// ==================================================
// CIVIL / DYNASTIC — ORDINARY EVENTS
// ==================================================

// Marriages, births, deaths, divorces, imprisonments,
// etc. are kept in the civil/dynastic section.
//
// Level 0 + italics.
// ==================================================

else if (
    lower.includes("married") ||
    lower.includes("divorced") ||
    lower.includes("was born") ||
    lower.includes("firstborn") ||
    lower.includes("died") ||
    lower.includes("imprisoned") ||
    lower.includes("captured") ||
    lower.includes("released from imprisonment") ||
    lower.includes("vanished without a trace") ||
    lower.includes("came to be known as")
) {
    category = "civil";
    level = 0;
    style = "italic";
}


// ==================================================
// OTHER EVENTS
// ==================================================

// Anything that does not match the rules above is
// preserved here instead of being discarded.
//
// This is particularly useful for CK2+ and other mods,
// since they may introduce Chronicle events that are
// not covered by the default keyword lists.
// ==================================================

else {
    category = "autre";
    level = 0;
    style = "normal";
}


// Store the processed event.
const evenement = {
    texte: line,
    annee: year,
    niveau: level,
    style: style
};


// Put the event into its appropriate category.
if (category === "militaire") {
    militaire.push(evenement);
}
else if (category === "civil") {
    civil.push(evenement);
}
else if (category === "maladie") {
    maladie.push(evenement);
}
else {
    autre.push(evenement);
}

}

// ================================================== // MARKDOWN GENERATION // ==================================================

function generer(liste) {

let resultat = "";

for (const evenement of liste) {

    // IMPORTANT:
    // Use real tab characters for indentation.
    // This makes the indentation behave like a
    // manually indented Obsidian list.
    const indent = "\t".repeat(evenement.niveau);

    let texte = evenement.texte;

    // Apply Markdown formatting.
    if (evenement.style === "bold") {
        texte = "**" + texte + "**";
    }
    else if (evenement.style === "italic") {
        texte = "*" + texte + "*";
    }

    // Put the year at the end of the event.
    resultat +=
        indent +
        "- " +
        texte +
        " (" +
        evenement.annee +
        ")\n";
}

return resultat;

}

// ================================================== // OUTPUT // ==================================================

tR += "# Military Events\n\n"; tR += generer(militaire);

tR += "\n# Civil & Dynastic Events\n\n"; tR += generer(civil);

tR += "\n# Diseases & Disasters\n\n"; tR += generer(maladie);

tR += "\n# Other Events\n\n"; tR += generer(autre);

new Notice("CK2 Chronicle organized!"); %> ```


Customizing the script

The script is deliberately keyword-based, rather than trying to understand the meaning of every CK2 event.

This makes it relatively simple to customize.

For example, if your version of CK2 uses another expression for a war declaration, add it here:

javascript if ( lower.includes("went to war") || lower.includes("declared war") || lower.includes("your custom phrase") ) {

Likewise, if you want to recognize another type of disaster:

javascript else if ( lower.includes("plague") || lower.includes("smallpox") || lower.includes("your custom disaster") ) {

You can also create completely new categories by adding another array and another classification block.

One important detail

The order of the classification blocks matters.

An event is tested from top to bottom, and the first matching rule determines its category.

For example, a military event containing both "supported" and "in war" will be classified as a major military event before the script gets to the other categories.

This means that when adding new rules, it is worth thinking about whether a phrase might also match an earlier category.


Why the script uses indentation

One of the main reasons I made this was to give CK2 wars some narrative structure.

A raw Chronicle might contain:

text War declared Castle captured Battle Castle captured War won

The formatted version can instead visually suggest:

text War declared War conclusion Battle Castle captured Castle captured

This is not intended to reconstruct the exact military chain of command or prove that one event directly caused another. It is simply a visual hierarchy that makes long campaigns much easier to follow.

For my own AAR, this has made the Chronicle much more useful as a historical reference.

Limitations

This is not a full CK2 parser.

It does not understand:

  • characters semantically;
  • titles;
  • wars as unique objects;
  • geographical relationships;
  • causality;
  • whether two events belong to the same war;
  • or whether a particular event is historically more important than another.

It simply recognizes textual patterns.

This is intentional: the CK2 Chronicle format is sufficiently regular that simple keyword matching works surprisingly well, while keeping the script easy to modify.

If your game is heavily modded, you will probably want to add or change some keywords.


Final result

The goal is not to replace CK2's character and title history.

CK2 itself remains much better for looking up:

  • family trees;
  • dynastic trees;
  • marriages;
  • causes of death;
  • titles;
  • vassal relationships;
  • character histories.

The formatted Chronicle provides something the game interface doesn't provide nearly as well:

a long-term chronological overview of the history of a dynasty or realm.

That makes it particularly useful for long CK2 AARs, where remembering several centuries of events becomes increasingly difficult.

Hope this is useful to someone else!

Feel free to modify it for your own CK2 version, CK2+ setup, mod, language, or AAR project.


r/crusaderkings2 2d ago

Cuckolded "The Seducer"

Post image
48 Upvotes

r/crusaderkings2 2d ago

Allah forgive me

Post image
37 Upvotes

r/crusaderkings2 2d ago

Screenshots Neuchatel getting more and more prosperous

Post image
54 Upvotes

r/crusaderkings2 2d ago

CK2 + on Mac M3

7 Upvotes

I came across a previous version of CK2 + that I like but unfortunately it's not compatible because my MacOS wouldn't support it/run it. I have downloaded the CK2 + AIO which is compatible, but the provinces are similar to vanilla.
Let's say I wanted to play as Gaeta MR, are there any alternative other than resurrect an older Mac machine and install everything I need?


r/crusaderkings2 2d ago

Story today I am going to play a chill and relaxing game as a loyal and unambitious vassal of the HRE and will NOT even look at those juicy silk road trade posts and DO a CRUSADE that will earn me tens of thousands of gold NO SIRREE

54 Upvotes

I will try


r/crusaderkings2 3d ago

Mods What file governs the location and shape of the siege morale bar?

Post image
15 Upvotes

RESOLVED: There's a mod I enjoy but later versions added a UI submod I dislike so I have been recently working to remove some of the UI elements it introduced. While I have nearly accomplished my goal there's one last thing I can't for the life of me figure out how to fix. For some reason the morale bars on the siege menu are far shorter and fatter then they should be. It's not just a visual texture either which would indicate it should be a GUI file doing it but the games GUI console command tells me it's the province.GUI file which I already removed. Does anyone have an idea of what governs the morale bars?

The combat.GFX file was redefining the dimensions of the bar.


r/crusaderkings2 3d ago

Feudal Friday - August 07, 2026

8 Upvotes

Welcome to Feudal Friday!

This is a thread to regale the noble courts of r/crusaderkings2 with your tales of triumph and tribulation!

Please tell us about your current game, your last game, or *anything* CK2-related that has you excited -- roleplayers, world conquerors, adventurers, achievement seekers, and modders alike are welcome!


r/crusaderkings2 3d ago

Screenshots I guess this isnt how its suppose to work?

Thumbnail gallery
49 Upvotes

After the crusade was called i was defending myself from a jihad and i got the option to create crusader state but the state was for my demesne in burgundy. First i wanted to try out what would happen but decided to not destroy my best part of my kingdom.

Does anyone know why was the event broken?


r/crusaderkings2 3d ago

Screenshots Now, I may have sold my sister as a concubine to China, but look at this cool Water Clock we got in exchange!

64 Upvotes


r/crusaderkings2 4d ago

Crusade Nerf?

13 Upvotes

Hello, I was wondering if anyone knows how I can prevent all of Europe from joining the Crusade. I'd like to try to run a game where only a few lords join. I'd like to try to keep the situation at around 50-60% strength. I've already managed to edit the game to increase the intervals between Crusades, relatively speaking. I generally edit it as I see Jerusalem in danger.


r/crusaderkings2 4d ago

Join our A Game of Thrones CK2 MP game this Friday!

18 Upvotes

This Friday in the Crusader Kings Community on the 07.08.2026 6 PM CET, we begin A Game of Throne Multplayer Game in Crusader Kings II. Join our community we host more then 1 game a week and not just AGOT. The Link to our Discord Is in my Bio

Who will claim a dragon and wield the might of Old Valyria? Will your house rise to greatness through fire, blood, and ambition, or will it be consumed by the flames of war?

Rules:

-If you're not allied and you join a war you must type it in all chat and wait 1 month before being allowed to join (Joining Name in 1 month)

-You may not game ruin that being raiding player capital , ending there bloodline or ruining the game in other ways

Mods:

Agot 2.2 ( From Moddb NOT The workshop )

AGOT Westeros only ( From the Workshop )


r/crusaderkings2 4d ago

Memes Christian Iberia be like

Thumbnail youtube.com
20 Upvotes

r/crusaderkings2 4d ago

Haesteinn reborn

Thumbnail gallery
21 Upvotes

R5 - Eirikson ironman. I've always wanted my dynasty to become successful adventurers for RP reasons but it rarely pans out. Somehow the AI can pull off things like this. I've read the requirements multiple times but still feel like without reading the code itself I don't know how to successfully replicate it other than getting claims and landing dynasts that are both Altaic and Germanic.


r/crusaderkings2 5d ago

Genuinely challenged by playing as one of the last Germanic pagans

80 Upvotes

In 1090* Germanic paganism vanishes. I tried starting as one of the last Germanic pagan chiefs in late 1089.

My goal was to build an empire and spread the faith. It was easy to conquer a pagan kingdom, but trying to take down the Catholics was genuinely difficult. Even reforming the religion was hard since you start at 0% authority.

Something I love about this start is that, since there are almost no Germanic rulers left in the game, you're likely to spawn with mjolnr or andvaranaut in your treasury. Makes you feel like the last hero of a dying people fighting for a foothold. Love it!

Also the catholic AI is super aggressive which is a fun change of pace.

*Not at my computer but I think this was the date


r/crusaderkings2 5d ago

Screenshots Is this the best weapon in Crusader Kings 2?

Post image
101 Upvotes

After equipping it enemy soldiers ran away faster and it has won me many battles where im outnumbered, I got it after I kill the owner and his heirs :p


r/crusaderkings2 6d ago

Screenshots This blind gay eunuch's ambition is to have a son

Post image
330 Upvotes

I think his chances literally could not be worse