• 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.
Validator breaks for me upon validating, saying it can't parse my mod-file. My mod-file
Code:
name = "Balansegang" # name of your mod, shown in launcher
archive = "mod/balansegang" # location of your mod files 
replace_path = "history\provinces" # optional. if you want to repalce a path instead of just extend the files already in the base game (liek if you want to have completely new technologies)
user_dir = "Balansegang" # optional. creates a sub directory where settings/map cache/savegames etc can be safely written for your mod and not get mixed up
The error message:
--- Error 1 of 1 ---
Parse Failure
Path: <appdir>\E:\Crusader Kings II backup\mod\balansegang.mod
Error: Corrupt mod file: E:\Crusader Kings II backup\mod\balansegang.mod [The element with name path was not found.]
 
Validator breaks for me upon validating, saying it can't parse my mod-file. My mod-file
Code:
name = "Balansegang" # name of your mod, shown in launcher
archive = "mod[I][U][COLOR="#FF0000"]/[/COLOR][/U][/I]balansegang" # location of your mod files 
replace_path = "history\provinces" # optional. if you want to repalce a path instead of just extend the files already in the base game (liek if you want to have completely new technologies)
user_dir = "Balansegang" # optional. creates a sub directory where settings/map cache/savegames etc can be safely written for your mod and not get mixed up
The error message:
--- Error 1 of 1 ---
Parse Failure
Path: <appdir>\E:\Crusader Kings II backup\mod\balansegang.mod
Error: Corrupt mod file: E:\Crusader Kings II backup\mod\balansegang.mod [The element with name path was not found.]

Isn't the slash the wrong one in archive line? Shouldn't it be a backslash? ( \ ) (I've never used archive, my apologies if it is supposed to be like that)
 
Validator breaks for me upon validating, saying it can't parse my mod-file. My mod-file
Code:
name = "Balansegang" # name of your mod, shown in launcher
archive = "mod/balansegang" # location of your mod files 
replace_path = "history\provinces" # optional. if you want to repalce a path instead of just extend the files already in the base game (liek if you want to have completely new technologies)
user_dir = "Balansegang" # optional. creates a sub directory where settings/map cache/savegames etc can be safely written for your mod and not get mixed up
The error message:
--- Error 1 of 1 ---
Parse Failure
Path: <appdir>\E:\Crusader Kings II backup\mod\balansegang.mod
Error: Corrupt mod file: E:\Crusader Kings II backup\mod\balansegang.mod [The element with name path was not found.]

The Validator crashes due to you not having a "path" field. Instead you seem to be specifying an archive. I don't know exactly how archive works, though it seems to imply the mod is zipped. If so, then the Validator doesn't handle zipped files and you'd have to extract it to use the Validator.
 
General question: How does the "dependencies" field work?

Here: http://forum.paradoxplaza.com/forum/showthread.php?572577-Crusader-Kings-Dev-Diary-21-Usermodding
it claims it is
dependencies = "some mod"

while here (in V2 forum): http://forum.paradoxplaza.com/forum...HOW-TO-make-a-modfile-with-the-new-mod-folder.
it claims it is
dependencies = { "A POP divided" }

I would think that Ck2 and V2 are using the same system, and have no idea which one is correct (though currently the Validator seems to be using the V2 version).

Also the Ck2 dev diary claims you can have dependencies on DLCs, does anyone have a list of these DLC names?
 
I'm getting an error in the log section down the bottom on launch. Redownloaded it in case it was a bad download, but it's still happening. Error is:
Beginning initialization...
Warning: DynamicError not found: InvalidChildError
Warning: DynamicError not found: InvalidChildError
Warning: DynamicError not found: InvalidChildError
Warning: DynamicError not found: InvalidChildError
Warning: DynamicError not found: InvalidChildError
Warning: DynamicError not found: InvalidChildError
Warning: DynamicError not found: InvalidChildError

ec) EXCEPTION CONTEXT



ERROR
Audax.Validator.ItemNotFoundInScopeException: Item " %Name" was not found in this scope.
at Audax.Validator.Scope.Resolve[T](String name)
at Audax.Validator.GameValidator..ctor(CFilePath path, Boolean gamePathSet)
at Audax.Validator.ValidationManager.ParseGameFiles()
Since there were problems with initial loading, validation cannot continue.
EDIT: Just realised there was an actual log file with more info. Also, changed from quote to spoiler to save everyone's scroll button.
A FATAL ERROR HAS OCCURRED
Time: 29/06/2012 4:40:02 AM
Validator Version: 1.0 RC10 [1.0.9.0]
System.Diagnostics.Contracts.__ContractsRuntime+ContractException: Precondition failed: value != null
at System.Diagnostics.Contracts.__ContractsRuntime.TriggerFailure(ContractFailureKind kind, String msg, String userMessage, String conditionTxt, Exception inner)
at System.Diagnostics.Contracts.__ContractsRuntime.ReportFailure(ContractFailureKind kind, String msg, String conditionTxt, Exception inner)
at System.Diagnostics.Contracts.__ContractsRuntime.Requires(Boolean condition, String msg, String conditionTxt)
at Audax.Validator.Saver.set_ModName(String value)
at Audax.Validator.ValidationManager.Close()
at Audax.Validator.MainWindow.Window_Closing(Object sender, CancelEventArgs e)
at System.Windows.Window.WmClose()
at System.Windows.Window.WindowFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.PublicHooksFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
 
Last edited:
I'm getting an error in the log section down the bottom on launch. Redownloaded it in case it was a bad download, but it's still happening. Error is:
Beginning initialization...
Warning: DynamicError not found: InvalidChildError
Warning: DynamicError not found: InvalidChildError
Warning: DynamicError not found: InvalidChildError
Warning: DynamicError not found: InvalidChildError
Warning: DynamicError not found: InvalidChildError
Warning: DynamicError not found: InvalidChildError
Warning: DynamicError not found: InvalidChildError

ec) EXCEPTION CONTEXT



ERROR
Audax.Validator.ItemNotFoundInScopeException: Item " %Name" was not found in this scope.
at Audax.Validator.Scope.Resolve[T](String name)
at Audax.Validator.GameValidator..ctor(CFilePath path, Boolean gamePathSet)
at Audax.Validator.ValidationManager.ParseGameFiles()
Since there were problems with initial loading, validation cannot continue.
EDIT: Just realised there was an actual log file with more info. Also, changed from quote to spoiler to save everyone's scroll button.
A FATAL ERROR HAS OCCURRED
Time: 29/06/2012 4:40:02 AM
Validator Version: 1.0 RC10 [1.0.9.0]
System.Diagnostics.Contracts.__ContractsRuntime+ContractException: Precondition failed: value != null
at System.Diagnostics.Contracts.__ContractsRuntime.TriggerFailure(ContractFailureKind kind, String msg, String userMessage, String conditionTxt, Exception inner)
at System.Diagnostics.Contracts.__ContractsRuntime.ReportFailure(ContractFailureKind kind, String msg, String conditionTxt, Exception inner)
at System.Diagnostics.Contracts.__ContractsRuntime.Requires(Boolean condition, String msg, String conditionTxt)
at Audax.Validator.Saver.set_ModName(String value)
at Audax.Validator.ValidationManager.Close()
at Audax.Validator.MainWindow.Window_Closing(Object sender, CancelEventArgs e)
at System.Windows.Window.WmClose()
at System.Windows.Window.WindowFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.PublicHooksFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

Hmm strange, that seems like an error when the download doesn't work. But then you already tried redownloading.

Here is the link to a previous version: http://www.mediafire.com/?eu7kpy14gjtdqst
Can you try downloading, unzipping, and seeing if the issue still occurs?
 
The Validator crashes due to you not having a "path" field. Instead you seem to be specifying an archive. I don't know exactly how archive works, though it seems to imply the mod is zipped. If so, then the Validator doesn't handle zipped files and you'd have to extract it to use the Validator.
Perhaps improve the error message?
It stopped crashing once I changed it to Path, but Archive works as well even if you're specifying a folder rather than a zip-file.
 
The Validator is expecting to find localisation for the mercenary modifiers in static_modifiers, even though that is not necessary.
Oh, and is there any way to ignore the "The 'AND = { }' wrapper is unnecessary, since we are already within an 'and' clause." alerts?

The new triggers in 1.06 don't seem to be checked yet.
 
Another issue: The has_claim trigger doesn't seem to be recognized:
Invalid node "has_claim" in scope CharTrigger (value is: PREV)

PREV is referring to is_valid_title.

is_republic = yes isn't recognized as valid from title-scope. is_feudal and _theocracy seem to be recognized though.

[GetID] isn't recognized in localisation. (Line is invade the §Y$TITLE$§!. If successful, we will demand tribute.;;;;;;;;;;;;;x
CHARACTER_TOOLTIP_DELAYED;[GetStatusInfo]\nID: §Y[GetID]§!\nDynasty: §Y[GetOnlyDynastyName]§!\nReligion: §Y[Religion.GetName]§!\nCulture: §Y[Culture.GetName]\n;;;;;;;;;;;;;x)

The validator should ignore empty province history files. They don't do anything, but are useful if you need to remove the effects of vanilla files.
 
Last edited:
Hmm strange, that seems like an error when the download doesn't work. But then you already tried redownloading.

Here is the link to a previous version: http://www.mediafire.com/?eu7kpy14gjtdqst
Can you try downloading, unzipping, and seeing if the issue still occurs?
That version works fine.

Just downloaded the new version a third time and noticed something else. When I launch the previous version, it pops up with the usual "Publisher could not be verified, do you want to run this" popup. I say "Run", it runs. With the new one, it does this twice - it looks like once for the .exe in the main folder and again for the .exe in the app folder. It also crashes when I try and close, just says "a fatal error has occurred. Post the log to the appropriate forum". No idea if either of these are relevant.
 
Also the Ck2 dev diary claims you can have dependencies on DLCs, does anyone have a list of these DLC names?

If you go into your DLC folder and open a .dlc file with Notepad(++) you will get this as an example:

Code:
name = "Dynasty Coat of Arms Pack 1"
archive = "dlc/dlc001.zip"
steam_id = "203772"
gamersgate_id = "521"
checksum = "7097f75173b2262bcbbc2f69c448cef2"
affects_checksum = no
 
General question: How does the "dependencies" field work?

Here: http://forum.paradoxplaza.com/forum/showthread.php?572577-Crusader-Kings-Dev-Diary-21-Usermodding
it claims it is
dependencies = "some mod"

while here (in V2 forum): http://forum.paradoxplaza.com/forum...HOW-TO-make-a-modfile-with-the-new-mod-folder.
it claims it is
dependencies = { "A POP divided" }

I would think that Ck2 and V2 are using the same system, and have no idea which one is correct (though currently the Validator seems to be using the V2 version).

Perhaps improve the error message?
It stopped crashing once I changed it to Path, but Archive works as well even if you're specifying a folder rather than a zip-file.

Will do so.

The Validator is expecting to find localisation for the mercenary modifiers in static_modifiers, even though that is not necessary.
Oh, and is there any way to ignore the "The 'AND = { }' wrapper is unnecessary, since we are already within an 'and' clause." alerts?

The new triggers in 1.06 don't seem to be checked yet.

There will be ways to disable the localization warning using the comment ignore system. To ignore those, you can disable them using the comment ignore system, and starting from the next version, globally as well. Look inside DidYouKnow.pdf for information on both of these ways (they are at the end of the file).

I left some of the new things from 1.06 out because I wasn't sure about how and if they worked. I'll add them in as people complain.

Another issue: The has_claim trigger doesn't seem to be recognized:
Invalid node "has_claim" in scope CharTrigger (value is: PREV)

PREV is referring to is_valid_title.

is_republic = yes isn't recognized as valid from title-scope. is_feudal and _theocracy seem to be recognized though.

[GetID] isn't recognized in localisation. (Line is invade the §Y$TITLE$§!. If successful, we will demand tribute.;;;;;;;;;;;;;x
CHARACTER_TOOLTIP_DELAYED;[GetStatusInfo]\nID: §Y[GetID]§!\nDynasty: §Y[GetOnlyDynastyName]§!\nReligion: §Y[Religion.GetName]§!\nCulture: §Y[Culture.GetName]\n;;;;;;;;;;;;;x)

The validator should ignore empty province history files. They don't do anything, but are useful if you need to remove the effects of vanilla files.

I assume you tested has_claim and it works. (Presumably it checks for either weak or strong?). It has been added. Added is_republic for title scope.
Added GetID. Made the Validator ignore empty province files optionally (enabled in ValidatorSettings.txt).

That version works fine.

Just downloaded the new version a third time and noticed something else. When I launch the previous version, it pops up with the usual "Publisher could not be verified, do you want to run this" popup. I say "Run", it runs. With the new one, it does this twice - it looks like once for the .exe in the main folder and again for the .exe in the app folder. It also crashes when I try and close, just says "a fatal error has occurred. Post the log to the appropriate forum". No idea if either of these are relevant.

Hmm, that's strange. A new version will be out in a day or two, see if that one works. (The current version, I actually uploaded somewhere different from what I normally do due to having to add a hotfix, so that could be the issue).

Another issue: The validator seems to currently be unable to find any landed title localisation, except barony-level ones.
name_tier is also not recognized as a valid setting.

Could you explain name_tier? Also for the missing localization, do they actually exist in the file?

If you go into your DLC folder and open a .dlc file with Notepad(++) you will get this as an example:

Code:
name = "Dynasty Coat of Arms Pack 1"
archive = "dlc/dlc001.zip"
steam_id = "203772"
gamersgate_id = "521"
checksum = "7097f75173b2262bcbbc2f69c448cef2"
affects_checksum = no

Thanks!
 
"(Presumably it checks for either weak or strong?)" Yeah.

"Could you explain name_tier? Also for the missing localization, do they actually exist in the file?"
Name tier means a title appears as a different tier than it is. For example, if you've got e_scandinavia and set name_tier = king, it'll appear as Kingdom of Scandinavia, and its holder will be King Whatever, not Emperor Whatever.
The localization is in there, and shows up fine in-game.
 
General question: How does the "dependencies" field work?

Here: http://forum.paradoxplaza.com/forum/showthread.php?572577-Crusader-Kings-Dev-Diary-21-Usermodding
it claims it is
dependencies = "some mod"

while here (in V2 forum): http://forum.paradoxplaza.com/forum...HOW-TO-make-a-modfile-with-the-new-mod-folder.
it claims it is
dependencies = { "A POP divided" }

I would think that Ck2 and V2 are using the same system, and have no idea which one is correct (though currently the Validator seems to be using the V2 version).

I tried both and neither works for me on my end when using mods :( (however like you said bracketed dependencies does work in conjunction with your validator, so I guess until we figure out how it is supposed to work CK2 we can do that for validating purposes).

EDIT: Can we have the option that when we load dependencies, that we do NOT see the errors caused by the dependency?
 
Last edited:
"(Presumably it checks for either weak or strong?)" Yeah.

"Could you explain name_tier? Also for the missing localization, do they actually exist in the file?"
Name tier means a title appears as a different tier than it is. For example, if you've got e_scandinavia and set name_tier = king, it'll appear as Kingdom of Scandinavia, and its holder will be King Whatever, not Emperor Whatever.
The localization is in there, and shows up fine in-game.

Got it. Hmm, as for localization, what localization is actually required? Currently for all titles, the Validator wants the title name in localization (e.g "c_desmond"), and also for all titles except baronies, the Validator wants the title name + "_adj" in localization (e.g. "c_desmond_adj"). Does this sound correct?
 
Got it. Hmm, as for localization, what localization is actually required? Currently for all titles, the Validator wants the title name in localization (e.g "c_desmond"), and also for all titles except baronies, the Validator wants the title name + "_adj" in localization (e.g. "c_desmond_adj"). Does this sound correct?
Most counties don't have adj AFAIK.
I'd recommend all localization, regardless of tier, and _adj for duchies and above.
 
Most counties don't have adj AFAIK.
I'd recommend all localization, regardless of tier, and _adj for duchies and above.

Hmm okay. In the meantime, are there examples in vanilla where the Validator complains about missing localization that actually exists?

I tried both and neither works for me on my end when using mods :( (however like you said bracketed dependencies does work in conjunction with your validator, so I guess until we figure out how it is supposed to work CK2 we can do that for validating purposes).

EDIT: Can we have the option that when we load dependencies, that we do NOT see the errors caused by the dependency?

I think that should be doable, yes. Are DLC dependencies ever important? If not, I'm a bit lazy about going and reading DLC files and unzipping them :/
 
Hmm okay. In the meantime, are there examples in vanilla where the Validator complains about missing localization that actually exists?
For me it complains that every title localization (except baronies) is missing.