Troubleshooting
Troubleshooting is the identification of the cause of crashes, bugs or other problems.
Overview[edit]
In general there are two kinds of errors: fatal and non-fatal.
Fatal errors occur when the game cannot load a vital piece of data and cannot operate without it present. This causes a crash to desktop (CTD). When fatal errors occur, an exception will be printed to the exceptions.log. Typically these errors occur during the loading process or when a specific action is taken in game.
Non-fatal errors occur when the game encountered invalid data or broken syntax. These errors are almost always printed to the error.log.
Testing[edit]
Performing testing is vital to debugging a mod. Typically this is done via the in-game console with commands.
These are useful console commands for modders:
Command | Usage |
---|---|
reload texture | Reloads most of the textures used in the game, such as leader portraits, technology icons, etc. |
reload localization | Reloads most of the localization used in game, such as event titles and descriptions. |
reload defines | Reloads the defines files from /Hearts of Iron IV/common/defines/. |
reload focus | Reloads the focus trees in /Hearts of Iron IV/common/national_focuses/. |
reloadoob | Reloads the starting OOB file for the specified tag. |
reloadtechnologies | Reloads the technology files. Will cause a crash if an error is encountered. |
reloadinterface | Reloads the interface files (.gui). |
tdebug | Activates the debug tooltips, displaying important information such as state ID, province ID, etc. |
event | Fires the specified event immediate for the current player country. |
nocb | Removes restrictions on diplomatic actions. |
observe | Places the player into the observer slot, allowing the game to pass without player input. |
aiview | Displays the AI priorities when hovering over specific buttons, such as technology. |
tag | Switches the player to another country. |
update_loc | Reloads the specified localization key. |
updateequipments | Reloads the equipment files in /Hearts of Iron IV/common/units/equipment/. |
updatesubunits | Reloads the unit files in /Hearts of Iron IV/common/units/. |
research_on_icon_click | Activates research on click, allowing you to click on technologies to research them instantly. |
Focus.NoChecks | Removes the trigger checks for focuses. |
Focus.AutoComplete | Activates instant completion for focuses. |
set_country_flag | Sets the specified country flag for the current country. |
add_ideas | Adds the specified idea to the current country. |
Log files[edit]
The game stores various log files in your HOI4 user folder: (\\Documents\Hearts of Iron IV\Europa Universalis IV\logs\
). These are overwritten every time the game is started.
To enable full error logging, add the -debug
launch command via Set Launch Options in Steam.
File | Description | Usefulness |
---|---|---|
ai.log | Prints the AI choices undertaken. | High |
ai_trace.log | Low | |
error.log | Prints the various non-fatal errors. Many errors can be ignored, although almost all errors relating to files in the common folder should be fixed. | High |
exceptions.log | Prints the stacktrace when the game crashes to desktop. | Low |
executedcommands.log | Prints the internal commands uses by the player and AI. | Low |
game.log | Prints the actions taken by countries in game. Useful when the crash is due to a specific action. | High |
graphics.log | Prints the graphical errors relating to positions, rivers and trees. | Low |
memory.log | Prints the memory used during setup. Useful for crashes during the loading process, to see when the game crashed. | High |
message.log | Prints the session info for the current session. | Low |
postedcommands.log | Low | |
random.log | Prints times for gamestate changes. | Low |
receivedcommands.log | Prints the internal commands received by the player in multiplayer. | Low |
sentcommands.log | Prints the internal commands sent by the player in multiplayer. | Low |
setup.log | Prints the completion of setup loading for each part of the process. Very useful for discovering which file may be causing a crash. | High |
system.log | Prints the system information HOI4 is loaded on. | Low |
system_debug.log | Prints interface errors. | Low |
text.log | Prints asserts on localization keys. | Low |
time.log | Prints the time it takes for the various loading steps to complete, and the tick interval. Very useful for crashes during the loading process, to see when the game crashed. | High |
Documentation | Effects • Triggers • Modifiers • Scopes • Localisation |
Scripting | AI • Bookmarks • Buildings • Cosmetic tags • Countries • Divisions • Decisions • Equipment • Events • Ideas • Ideologies • National Focuses • Resources • Technology • Units |
Map | Map • Terrain • States • Supply areas • Strategic regions |
Graphical | Interface • Graphical Assets |
Cosmetic | Portraits • Namelists • Music • Sound |
Other | Console commands • Troubleshooting • Mod structure |