• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Jamie550

'
56 Badges
Jan 29, 2007
4.231
199
  • Hearts of Iron IV: Cadet
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Death or Dishonor
  • Hearts of Iron IV: Expansion Pass
  • Victoria 2
  • 200k Club
  • 500k Club
  • Europa Universalis IV: Pre-order
  • Victoria 2 Beta
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Digital Anniversary Edition
  • Stellaris - Path to Destruction bundle
  • Stellaris: Synthetic Dawn
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Stellaris: Megacorp
  • Stellaris: Ancient Relics
  • Stellaris: Lithoids
  • Stellaris: Federations
  • Stellaris: Necroids
  • Stellaris: Nemesis
  • Crusader Kings II
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sons of Abraham
  • Deus Vult
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis III Complete
  • Divine Wind
  • Europa Universalis IV
  • Europa Universalis IV: Call to arms event
  • Arsenal of Democracy
  • For the Motherland
  • Galactic Assault
  • Hearts of Iron III
  • Heir to the Throne
  • Europa Universalis III Complete
  • Knights of Pen and Paper +1 Edition
  • Magicka
  • March of the Eagles
  • Europa Universalis III Complete
  • Victoria: Revolutions
  • Europa Universalis: Rome
  • Semper Fi
The Validator does one thing: Find errors, inconsistencies, and other problems in your mod. It generates a report of all issues it finds, making it easy for you to fix, and saving you the pain of having to check all of your files for misplaced brackets, typos, and whatnot.

Current alpha version: v1.37.7
Released: 2024 Mar 07
Download here

Current version: v1.35.3
Released: 2023 Mar 09
Download here

Some problems not detected by the Validator are listed at https://ck2.paradoxwikis.com/The_Validator#Issues_that_are_NOT_detected_by_the_Validator

Note that you need .NET framework 4.0, which you can download here: Click to download

Right now the Validator is mostly in maintenance mode for Ck2, but there might still be false positives. Also, there may be errors in the Paradox files. If the Validator reports a false positive, please report it here so it can be fixed, if it is practical. And if it reports an actual Paradox file error, please file a bug report so it can be fixed.

Last working version for patch 2.4.5 is v1.12: https://www.dropbox.com/s/uetrgy7yd65y4au/Audax.Validator v1.12.zip?dl=0
Last working version for patch 2.5.x is v1.15.6: https://www.dropbox.com/s/t8soidohfg2hb50/Audax.Validator v1.15.6.zip?dl=0
Last working version for patch 2.6.x is v1.18.6: https://www.dropbox.com/s/ihtbgdg4t6fzpqx/Audax.Validator v1.18.6.zip?dl=0
Last working version for patch 2.7.1.x is v1.20.3: https://www.dropbox.com/s/wbxeqkle0tvxslj/Audax.Validator v1.20.3.zip?dl=0
Last working version for patch 2.7.2.x is v1.22.8: https://www.dropbox.com/s/9lpzhg7ypa8xury/Audax.Validator v1.22.8.zip?dl=0
Last working version for patch 2.8.x is v1.27.3: https://www.dropbox.com/s/ke6dqd321m8epp8/Audax.Validator v1.27.3.zip?dl=0
 
Last edited:
  • 19
  • 3Like
  • 2
Reactions:
Well done, Jamie!

As you can see under my name, I'm starting out with CKII, so I'm very much at Modding 101.
But love the tool, seems very helpful.

Just checking - for now, it's "localization checking" and "dynasties" to be enabled, right? Would be pretty cool to add traits when possible.

Oh, btw, Im getting German and Norwegian as not valid cultures on the Validator - any reason for this?

PM me if I can help. Not sure I can with my limited knowledge but, hey, I'm here. ;)

Again, thanks so much for the effort. It's appreciated!
 
Well done, Jamie!

As you can see under my name, I'm starting out with CKII, so I'm very much at Modding 101.
But love the tool, seems very helpful.

Just checking - for now, it's "localization checking" and "dynasties" to be enabled, right? Would be pretty cool to add traits when possible.

Oh, btw, Im getting German and Norwegian as not valid cultures on the Validator - any reason for this?

PM me if I can help. Not sure I can with my limited knowledge but, hey, I'm here. ;)

Again, thanks so much for the effort. It's appreciated!

For now, you can enable any of the available choices listed.

The Validator cares about case-sensitivity. The main reason is that no one wants to see something like "GErman" or "gerMAN". It does get less-confusing cases like 'German', but consistency is always good for maintenance.
 
It means that you have a '§' symbol followed by a space; as far as I know this is invalid. If it's not, then I'll fix it.
I'm getting it even when it isn't followed by a space:
skEXf.png

To my knowledge, those are valid.

Another issue is that it apparently uses a static list of laws instead of parsing them from the decisions folder.
 
I'm getting it even when it isn't followed by a space:
skEXf.png

To my knowledge, those are valid.

Another issue is that it apparently uses a static list of laws instead of parsing them from the decisions folder.

Hmm so the symbol followed by a space is valid? I ask because the only time I see it is in the translations, while the English ones have the symbol followed by an '!'.

Okay, I will fix it and use the dynamic law list.

EDIT: Didn't see your picture earlier. For the first one, the symbol at the end of TITLE isn't followed by !. Same forthe end of TARGET for the second, and TITLE for the third.
 
Hmm so the symbol followed by a space is valid? I ask because the only time I see it is in the translations, while the English ones have the symbol followed by an '!'.
EDIT: Didn't see your picture earlier. For the first one, the symbol at the end of TITLE isn't followed by !. Same forthe end of TARGET for the second, and TITLE for the third.
Not sure, tbh.

Okay, I will fix it and use the dynamic law list.

Great.
Thank you for updating your validator to work with CKII. It's helped me find some issues in my mod.
Will you be updating it to work with events as well?, as that'd be really useful.
 
Not sure, tbh.



Great.
Thank you for updating your validator to work with CKII. It's helped me find some issues in my mod.
Will you be updating it to work with events as well?, as that'd be really useful.

Did you see my edit about your image?

I will update it for events eventually, but this seems like Eu3/Hoi3/Vic2 events taken to a new level, so it may take a bit of time (and lots of stupid questions).
 
Did you see my edit about your image?.
Yeah.
Tried removing one exclamation-mark from another string to see if anything would happen. Breaks the coloring, so you're definitely right to include it as an error.
Thank you for clarifying what the error means.
 
Oh, one more thing: piety and prestige in the character files have an in-game effect (tested to make sure), but show up as errors in the validator:
RQCY5.png

Edit: Another few commands that have in-game effects but gives errors in the validator is "raise_levies", dna, properties, and wealth.

On another note, it'd be nice if the validator would check the vanilla character files for IDs, as I'm getting a lot of "not a valid CharacterId" errors due to character-files I don't modify, and thus don't include, in my mod.
 
Last edited:
Oh, one more thing: piety and prestige in the character files have an in-game effect (tested to make sure), but show up as errors in the validator:
RQCY5.png

Edit: Another few commands that have in-game effects but gives errors in the validator is "raise_levies", dna, properties, and wealth.

On another note, it'd be nice if the validator would check the vanilla character files for IDs, as I'm getting a lot of "not a valid CharacterId" errors due to character-files I don't modify, and thus don't include, in my mod.

Okay, I will add piety, prestige, raise_levies, dna, properties, and wealth. Could you describe dna and properties in detail?

Hmm, the Validator is supposed to check the vanilla character files if you don't have another file with the same name and don't use replace_path in your .mod file. I will look into it soon.
 
Okay, I will add piety, prestige, raise_levies, dna, properties, and wealth. Could you describe dna and properties in detail?
They both help determine how characters look. The English and the Normans, and probably a few other cultures, have a few characters using those attributes.
DNA consists of 11 characters of hexadecimal, except using only alphabetic characters. Properties I'm not too sure about, but the highest letter in the game-files is k, and there are no numbers used except 0, and every properties entry except one is 6 characters long. In the saves they're stored as 10 characters, but I haven't seen any with the last 4 being anything other than 0. It seems to be hexadecimal as well, using 0 and a to o.
Here's one example (which also includes raise_levies)
Code:
140 = {
    name="William"
    # AKA: William 'the Conqueror'
    dynasty=752
    [B]dna="epdbiohgmkk"
    properties="ae0000"[/B]
    martial=7
    diplomacy=7
    intrigue=10
    stewardship=6
    religion="catholic"
    culture="norman"
    add_trait="ambitious"
    add_trait="diligent"
    add_trait="just"
    add_trait="proud"
    add_trait="cynical"
    add_trait="brave"
    add_trait="temperate"
    add_trait="patient"
    add_trait="legit_bastard"
    add_trait="brilliant_strategist"
    father=252
    mother=41001
    1027.1.15 = {
        birth="1027.1.15"
    }
    1035.7.3 = {
        give_nickname = nick_the_bastard
    }
    1053.1.1 = {
        add_spouse=367 # Mathilda of Flanders
    }
    1066.1.5 = {
        add_claim = k_england
    }
    1066.9.14 = {
        wealth = 1000
        raise_levies = {
            #location = 25 # Sussex
            location = 97 # Rouen
            force_mult = 6
        }
    }
    1066.10.14 = {
        raise_levies = {
            dismiss = yes
            location = 97 # Rouen
            force_mult = 6
        }
    }
    1066.12.26  = {
        give_nickname = nick_the_conqueror
    }
    1087.9.9 = {
        death="1087.9.9"
    }
}

Hmm, the Validator is supposed to check the vanilla character files if you don't have another file with the same name and don't use replace_path in your .mod file. I will look into it soon.
Thanks.
 
They both help determine how characters look. The English and the Normans, and probably a few other cultures, have a few characters using those attributes.
DNA consists of 11 characters of hexadecimal, except using only alphabetic characters. Properties I'm not too sure about, but the highest letter in the game-files is k, and there are no numbers used except 0, and every properties entry except one is 6 characters long. In the saves they're stored as 10 characters, but I haven't seen any with the last 4 being anything other than 0. It seems to be hexadecimal as well, using 0 and a to o.
Here's one example (which also includes raise_levies)
Code:
140 = {
    name="William"
    # AKA: William 'the Conqueror'
    dynasty=752
    [B]dna="epdbiohgmkk"
    properties="ae0000"[/B]
    martial=7
    diplomacy=7
    intrigue=10
    stewardship=6
    religion="catholic"
    culture="norman"
    add_trait="ambitious"
    add_trait="diligent"
    add_trait="just"
    add_trait="proud"
    add_trait="cynical"
    add_trait="brave"
    add_trait="temperate"
    add_trait="patient"
    add_trait="legit_bastard"
    add_trait="brilliant_strategist"
    father=252
    mother=41001
    1027.1.15 = {
        birth="1027.1.15"
    }
    1035.7.3 = {
        give_nickname = nick_the_bastard
    }
    1053.1.1 = {
        add_spouse=367 # Mathilda of Flanders
    }
    1066.1.5 = {
        add_claim = k_england
    }
    1066.9.14 = {
        wealth = 1000
        raise_levies = {
            #location = 25 # Sussex
            location = 97 # Rouen
            force_mult = 6
        }
    }
    1066.10.14 = {
        raise_levies = {
            dismiss = yes
            location = 97 # Rouen
            force_mult = 6
        }
    }
    1066.12.26  = {
        give_nickname = nick_the_conqueror
    }
    1087.9.9 = {
        death="1087.9.9"
    }
}


Thanks.

I couldn't quite duplicate the character ID issue. This is what I did:
1. Made a file a.txt in the root history\characters, and added a character in.
2. Made a file b.txt in a mod history\characters, and added a character in, whose mother was the one in a.txt.

I didn't get an invalid character ID error. However, when I changed b.txt's mother to something else (who didn't exist), I did get the ID error.

Maybe the above is not what you mean?
 
I couldn't quite duplicate the character ID issue. This is what I did:
1. Made a file a.txt in the root history\characters, and added a character in.
2. Made a file b.txt in a mod history\characters, and added a character in, whose mother was the one in a.txt.

I didn't get an invalid character ID error. However, when I changed b.txt's mother to something else (who didn't exist), I did get the ID error.

Maybe the above is not what you mean?
A few of my error messages:
3105 does not, in fact, exist.
509 however, does:
mm44p.png
 
A few of my error messages:
3105 does not, in fact, exist.
509 however, does:
mm44p.png

Is this the 509 in bohemian.txt? And you definitely don't have a bohemian.txt in your mod? Also look at the first few errors, and if any of them are parse errors, try fixing them and rerunning. If bohemian.txt has a parse error then the Validator can't read it to determine that there is such a character.
 
Is this the 509 in bohemian.txt? And you definitely don't have a bohemian.txt in your mod? Also look at the first few errors, and if any of them are parse errors, try fixing them and rerunning. If bohemian.txt has a parse error then the Validator can't read it to determine that there is such a character.
Hmm. It does seem a missing = in another entry was the problem.
However, it does seem a bit strange that that would break the parsing of the entire Bohemian file.
 
Hmm. It does seem a missing = in another entry was the problem.
However, it does seem a bit strange that that would break the parsing of the entire Bohemian file.

Optimally it would not be an issue, but the way it is right now, either a whole file is correct or it is not parsed. It's quite hard in some cases to guess what to do. For example if someone forgot a closing bracket at the end of a character, the Validator, if it ignored errors, would parse all the remaining characters as part of that character (since the parser doesn't know anything about the overall structure). This could certainly be improved, but usually, people always fix parsing issues (and parsing errors that cause these issues are likely to appear at the beginning of the errors list), and I think that most people prefer to have more features added (and I have limited time). So I guess that's why parsing is how it is now (it used to be worse).