Ck2 Crash On Startup
I recently downloaded the Game of Thrones mod for Crusader Kings 2. Whenever I start up the game it brings up the screen showing DLC and mods. In my mod box I have two (both from the same download), A Game of Thrones and something caleld NB + AGoT editon version 1.0. I choose the simple mod and it allows me in the game no problem. It allows me to browse the various characters and do normal. Discuss the topic 'Crashing at 'Loading Databases.' ' in the Bug Reports CK2:MEP Community Forum. This is a full conversion Tolkien mod for Crusader Kings 2 which will feature bookmarks throughout the Third Age. This mod is being developed independently from any other LotR or Middle Earth mods out there. When I start the game I see a.
Troubleshooting is the identification of the cause of crashes, bugs or other problems. Some of CK2's debugging features are restricted in retail builds, but there is still plenty to work with.
- 3Crashes
Log files[edit]
The game stores various log files in your CK2 user folder (~DocumentsParadox InteractiveCrusader Kings IIlogs
). These are overwritten every time the game starts.
More logging can be activated by using command line arguments (via Steam game properties / define launch options):-debug -debugscripts
File | Description |
---|---|
game.log | In game notifications and output of log commands. Since patch 2.4.1 only logged if -debugscripts is enabled. |
setup.log | Game data loading logs (gui, modifiers, traits, ..) |
error.log | Parsing and loading errors. More asserts will be logged when enabling -debugscripts .The following lines are OK if no elements is listed: |
historical_setup_errors.log | Extra errors linked to title/character history. Only logged if -fullhistoricalsetuplog is enabled. |
system_interface.log | Errors linked to interface modding |
graphics.log | Errors linked to map modding |
system.log | Hardware report |
system_interface.log | Interface errors |
text.log | Asserts on localization keys |
script_optimizations.log | Asserts on events that fire for courtiers |
ai.log | |
exceptions.log | In case of crash, you may get a stacktrace, with the last method called (ex: CLandedTitle::GetShortName) |
time.log | Logs the game loading time. |
memory.log | Logs the memory usage. |
Loading[edit]
When launching the game the following steps occur:
- Initialising Map Logic
- Loading Databases
- Generating Coat of Arms
- Loading Events
- Loading Sounds
- (Loading of vanilla history files occurs here (even if is replace_path), though it'll still show as 'Loading Sounds') - very slow step !
- Processing Flags - generates the flag sprites in gfxflags from the individual .tga files
- Loading Flags
- Loading Graphics
- Creating Provinces
- Loading Map(Creating Terrain)
- Loading Map(Creating Borders)
- Loading Map(Creating Trees)
- Loading Map(Creating Textures)
Once this is done the lobby interface will be rendered.
Crashes[edit]
Crashes or Crash To Desktop (CTD) are the despair of the players and nightmare of the modders. There is usually little to no information to identify the cause.
Here is a list of known issues:
Symptom | Troubleshooting |
---|---|
Instant CTD clicking Play in the launcher | Check no new defines.lua entries are missing in the mod (or better use defines folder to override, and avoid duplication) |
CTD at 'Loading Databases' |
|
CTD at 'Loading Events' |
|
CTD at 'Loading Graphics
| |
CTD when rendering the lobby interface | Check that interface .gui and .gfx files are properly merged with vanilla, if copied in the mod. |
CTD on applying history (initial load or selecting a bookmark) | Check that all groups in technology history have an entry for earliest starting date of the mod. See technology modding. |
CTD on load/resign |
|
CTD after 1 in-game day |
|
CTD after a random elapsed time | It is the worst kind of CTD, because it can be caused by ANY event or decision occurring in the game.
|
CTD when hovering or clicking an event option | Invalid syntax in the event, or calling a command with an invalid value. |
CTD when clicking on religion screen | Check that no more than 5 holy sites are defined in landed_titles for that religion |
CTD when clicking on button to open College of Cardinals | See Interface modding#Papal succession |
CTD when starting typing specific letters in the Title finder | Check that there are no empty geographical regions (at least 1 valid province) |
CTD when you click the 'Arrange Marriage' rings button next to a character's portrait | Check that no character, living or dead, that is conceived illegitimately is missing the required 'Bastard' Trait. The Trait must be placed in each character's Character History entry BEFORE their birth date and WITHOUT being enclosed in brackets. |
Crash when you click a baron holding in a province to open building interface | Check that there's no illegal buildings in that holding, e.g ca_con_wall_6(Theodosian Walls) in a city. |
Debugging crashes on Windows[edit]
In last resort you can use Visual Studio (including the free Express editions; get the 'Windows Desktop' one) to see detailed debugging information. Though it won't let you debug step by step, as the sources for the game are not available.
Simply start the game, then use the Debug > Attach to process.. menu option. Use the Output window to read the game's messages, which will include script validation errors and performance data.
For best results create an empty project and configure it to launch CK2.exe with your mod active (i.e. with the argument -mod=mod/foo.mod
); check the documentation for details on how to do this. You will then be able to launch the game with debugging by clicking the green Play button in Visual Studio. This will ensure that you capture any problems that show up right after the game starts.
When the game crashes Visual Studio will freeze it, tell you where the offset at which crash happened, and provide the option to save a 'minidump'. The offset and dump won't mean much to you but if you want to report the crash to Paradox they would find both useful.
Debugging crashes on macOS[edit]
Install Xcode from the App Store, then run xcode-select --install
in a Terminal window.
Launch the game from lldb:
If the game crashes, it will be paused in the debugger, letting you use the bt
command to get a stack trace. Most other debugger features are unavailable without source code.
Meanwhile, use tail in separate terminal tabs to monitor the game's own logs:
Bugs[edit]
Bugs are usually easier to identify than crashes, as there is in-game context to identify the cause. Most non-functional bugs can be spotted via The Validator, a third-party tool which checks script files for various kinds of problems.
Symptom | Troubleshooting |
---|---|
Blank event popups that pause the game and can't be closed. |
|
Scripting keywords appearing in decisions/councillor names |
|
Decision not appearing |
|
Decision not having any effect when taken |
|
Truncated localization |
|
Localization not appearing in game |
|
Localized names show strange characters (Ã) |
|
Events not triggering (but OK via console testevent) |
|
Titles have wrong flags |
|
Black coats of arms |
|
Missing layers in portraits for custom ethnicities |
|
Casus Belli immediately ends inconclusively |
|
All units models use wrong gfx |
|
Rivers are flowing from east to west on the map |
|
Title is badly displayed on the map (not visible or way outside its area) |
|
Popups like naming children not showing up |
|
Testing[edit]
Testing is the process of checking your mod for bugs, including crashes, broken functionalities, or gameplay/balance issues.
Tooling for testing include:
- In-game console, with various debugging (or cheating..) features, including:
play
, take control of a specific charactertestevent
event
run
, for testing your conditions and commands without restarting the game
- Cheat mods
- Observer mode (
observe
console command), to check for game balance, and detect random CTDs over hundred of in-game years.
References[edit]
- ↑In 2.6.3 game is fully playable and crashes only if you load saved game or resign the game
- ↑[1]
This tutorial explains in details the steps required to create a basic mod.
Note that another approach is to copy/paste and modify an existing mod (though not a mod installed via Steam Workshop since these are packaged differently).
It is assumed that the OS is Windows, but this could apply to MacOS or Linux with few changes.
- 2Steps
Prerequisites[edit]
- Install a good text editor (such as Notepad++), since default Notepad on Windows can possibly mess up the file encoding.
Steps[edit]
Create the CK2 mod directory[edit]
There are 2 different directories involved:
- The CK2 install directory: it contains the base game files, which should not be modified directly and considered 'read-only' (modifications will be lost when Steam is updating). It can be found via Steam: find CK2 in your games library, right click on the name and select properties in the menu. Choose the local files tab and then press browse local files.
- The CK2 user files: it contains the user data (saves, game preferences, logs and mods). The path is
~/My Documents/Paradox Interactive/Crusader Kings II/
.~
is the home directory, depending on your configuration and Windows version, this could look like:C:Users<YourUser>DocumentsParadox InteractiveCrusader Kings II
Tip: you may create shortcuts to these directories on your desktop.
Step 1: Create a mod folder ~/My Documents/Paradox Interactive/Crusader Kings II/mod/
, if it doesn't exist.
Note: there is also a legacy commonCrusader Kings IImod
folder in the CK2 install directory, but it must not be used to store mods.
Create the .mod file[edit]
The .mod format here is just a plain text file, saved with .mod file extension instead of the .txt extension.
Tip: most CK2 files use .txt extension, but there is also .csv (localization), .gfx (graphics), .sfx (sounds), .gui (interface), .lua (global variables) and .info (documentation).
Step 2: Create an empty file named 'mymod.mod' in the CK2 mod folder (~/My Documents/Paradox Interactive/Crusader Kings II/mod/mymod.mod
).
Note: make sure the file extension is .mod (and not .mod.txt) - disable 'Hide Known Extensions' option of Windows explorer.
Step 3: Open the file with your editor and add:
Notes: Celemony melodyne 3 2 keygen for mac.
- Don't forget the quotes, it is mandatory in case there is a space.
- Save the file with ANSI (Windows-1252) encoding. This is true for all CK2 files: never use UTF-8 encoding (with or without 'BOM') !
Tip: the path is relative to CK2 user directory, hence the 'mod/' prefix.
Create the mod data folder[edit]
Step 4: Create an empty folder named 'mymod' in the CK2 mod folder (~/My Documents/Paradox Interactive/Crusader Kings II/mod/mymod/
).
Tip: best practice is to use same name for path
folder as the mod file name, so that they are next to each other when browsing the CK2 mod folder.
Note: folder and file names are case sensitive on OS other than Windows, so a best practice is to use only lower-case.
Making a game modification[edit]
We need a little change that will be quickly visible in-game, to validate that the mod is working.
Let's do some basic localization modding and change the text 'Choose Your Starting Era' on the lobby to 'Choose Your Favourite Era' (the corresponding localisation key is PICK_YOUR_STARTING_ERA
)
Step 5: Create an empty folder named 'localisation' in the mod data folder (~/My Documents/Paradox Interactive/Crusader Kings II/mod/mymod/localisation/
).
Notes:
- A mod follows the same folder structure as the base game, and the two are merged when loading in memory.
- Beware the folder has to be named 'localisation' and not 'localization' !
Step 6: Create an empty file named '00_mymod.csv' in that folder (~/My Documents/Paradox Interactive/Crusader Kings II/mod/mymod/localisation/00_mymod.csv
).
Mercury 11n wireless usb adapter mw150u drivers. Adapter socket.Available network types.After-sales service.Transmission speed.Buy hotspot.Brand.Model.
Tip: the '00_' prefix is to ensure our localization is loaded first and overrides the vanilla one. Each folder has its own loading order/overriding behavior.
Step 7: Open the file with a text editor and copy the following lines to the file and save:
That's it !
Testing the mod[edit]
Step 8: Activate the mod 'My mod' in the launcher (and don't activate any other mod) and start the game.
Troubleshooting: if the mod doesn't show up in the launcher, it probably means the .mod file is not in the correct folder or has the wrong extension (.txt instead of .mod).
Tip: notice that the in-game checksum has not changed compared to the one from the launcher. This is because the localisation folder doesn't alter the checksum, as it's only a cosmetic change.
Step 9: Click on Start and verify that the title of the pop-up has changed.
Troubleshooting: if the change is not visible in game, or the game crashes, check for errors logged by the game at startup in error.log.
Step 10: Take some time to congratulate yourself, and go back for more modding !
Note: each time you modify something in the mod files, you need to stop and restart CK2 so that the change is taken into account.
What's next ?[edit]
- Mod other game files. Take it slowly, with small challenge, one problem at a time !
- Register your CK2 game and ask for help on the Crusader Kings II - User Modifications forum
- Upload your mod to the Steam Workshop
- Zip the mymod.mod and mymod folder together into a mymod.zip and upload the mod on the forum
External links[edit]
- Guide: Your first mod - to add an event option.