Skip to content

Tracking OOS issues

Nightinggale edited this page Apr 9, 2021 · 1 revision

What is the problem?

Somewhere in the code something isn't communicated correctly through network traffic. When an OOS issue occurs, it tells that something failed, but not what. Fixing it requires finding the cause of the issue and pinpointing the cause can be real detective work.

What can you do?

Report it! There is no "turn off OOS" settings or anything like that. Every single time it happens, it is a bug in the game code, which has to be fixed by programming. Ignoring OOS is not really an option either because you risk breaking your game.

The best you can do is to figure out how to trigger OOS and report that, ideally with a savegame. Being able to trigger it on command not only allows analysis, it also helps towards testing if a bugfix will actually fix the problem.

Create a savegame

The best way to hunt for an OOS issue is to have a savegame, which will trigger a desync when clicking end turn. Attaching such a savegame to a bug report will greatly increase the chance of the bug being fixed.

Creating such a savegame can however be tricky. The best way is to edit CivilizationIV.ini (in my games\colonization. Not that "colonization" is written differently depending on if it's GOG/steam/disc). Set AutoSaveInterval to 1. That way you will get a savegame each turn. You can increase MaxAutoSaves, but that's entirely up to you. When an OOS occurs, you will then have an autosave from last turn. Load that and see if you can recreate the OOS. Ideally it will result in a savegame where the OOS triggers consistently.

What to do if a savegame can't be made?

Maybe the bug isn't in saved data and as such saving and loading fixes it too. If so, then other tricks are needed to figure out what is going on.

TODO: write this section