diff options
Diffstat (limited to 'readme.txt')
-rw-r--r-- | readme.txt | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/readme.txt b/readme.txt index bdb894027..78a3da179 100644 --- a/readme.txt +++ b/readme.txt @@ -66,6 +66,58 @@ Please include the following information in your bug report: the bug. That way we can fix it quicker by looking at the changes made. +2.2) Reporting Desyncs: +---- ------------------ +As desyncs are hard to make reproducable OpenTTD has the ability to log all +actions done by clients so we can replay the whole game in an effort to make +desyncs better reproducable. You need to turn this ability on. When turned +on an automatic savegame will be made once the map has been constructed in +the 'save/autosave' directory, see OpenTTD directories to know where to find +this directory. Furthermore the log file 'commands-out.log' will be created +and all actions will be written to there. + +To enable the desync debugging you need to set the debug level for 'desync' +to at least 1. You do this by starting OpenTTD with '-d desync=<level>' as +parameter or by typing 'debug_level desync=<level>' in OpenTTD's internal +console. +The desync debug levels are: + 0: nothing. + 1: dumping of commands to 'commands-out.log'. + 2: same as 1 plus checking vehicle caches and dumping that too. + 3: same as 2 plus monthly saves in autosave. + 4 and higher: same as 3 + +Restarting OpenTTD will overwrite 'commands-out.log'. OpenTTD will not remove +the savegames (dmp_cmds_*.sav) made by the desync debugging system, so you +have to occasionally remove them yourself! + +The naming format of the desync savegames is as follows: +dmp_cmds_XXXXXXXX_YYYYYYYY.sav. The XXXXXXXX is the hexadecimal representation +of the generation seed of the game and YYYYYYYY is the hexadecimal +representation of the date of the game. This sorts the savegames by game and +then by date making it easier to find the right savegames. + +When a desync has occurred with the desync debugging turned on you should file +a bug report with the following files attached: + - commands-out.log as it contains all the commands that were done + - the last saved savegame (search for the last line beginning with + 'save: dmp_cmds_' in commands-out.log). We use this savegame to check + whether we can quickly reproduce the desync. Otherwise we will need... + - the first saved savegame (search for the first line beginning with 'save' + where the first part, up to the last underscore '_', is the same). We need + this savegame to be able to reproduce the bug when the last savegame is not + old enough. If you loaded a scenario or savegame you need to attach that. + - optionally you can attach the savegames from around 50%, 75%, 85%, 90% and + 95% of the game's progression. We can use these savegames to speed up the + reproduction of the desync, but we should be able to reproduce these + savegames based on the first savegame and commands-out.log. + - in case you use any NewGRFs you should attach the ones you used unless + we can easily find them ourselves via e.g. grfcrawler or when they are + in the OpenTTDCoop pack. + +Do NOT remove the dmp_cmds savegames of a desync you have reported until the +desync has been fixed; if you, by accident, send us the wrong savegames we +will not be able to reproduce the desync and thus will be unable to fix it. 3.0) Supported Platforms: ---- -------------------- |