Output a log, savegame and screenshot on desync events

This commit is contained in:
Jonathan G Rennison
2019-05-17 18:55:45 +01:00
parent 3fdd553a08
commit fa55a1c002
7 changed files with 139 additions and 9 deletions

View File

@@ -30,6 +30,7 @@
#include "../core/pool_func.hpp"
#include "../core/random_func.hpp"
#include "../rev.h"
#include "../crashlog.h"
#include <mutex>
#include <condition_variable>
#if defined(__MINGW32__)
@@ -1170,6 +1171,8 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_ERROR(Packet *p
NetworkAdminClientError(this->client_id, errorno);
if (errorno == NETWORK_ERROR_DESYNC) {
CrashLog::DesyncCrashLog();
// have the server and all clients run some sanity checks
NetworkSendCommand(0, 0, 0, CMD_DESYNC_CHECK, nullptr, nullptr, _local_company, 0);
}