Log client ID/name in server desync logs

This commit is contained in:
Jonathan G Rennison
2022-01-14 18:44:29 +00:00
parent 29521ef883
commit 3892a1e201
3 changed files with 9 additions and 1 deletions

View File

@@ -511,6 +511,9 @@ char *CrashLog::FillDesyncCrashLog(char *buffer, const char *last, const DesyncE
buffer += seprintf(buffer, last, "Last sync at: %i-%02i-%02i (%i, %i)", buffer += seprintf(buffer, last, "Last sync at: %i-%02i-%02i (%i, %i)",
ymd.year, ymd.month + 1, ymd.day, _last_sync_date_fract, _last_sync_tick_skip_counter); ymd.year, ymd.month + 1, ymd.day, _last_sync_date_fract, _last_sync_tick_skip_counter);
} }
if (info.client_id >= 0) {
buffer += seprintf(buffer, last, "Client #%d, \"%s\"\n", info.client_id, info.client_name != nullptr ? info.client_name : "");
}
buffer += seprintf(buffer, last, "\n"); buffer += seprintf(buffer, last, "\n");
buffer = this->LogOpenTTDVersion(buffer, last); buffer = this->LogOpenTTDVersion(buffer, last);

View File

@@ -24,6 +24,8 @@ struct DesyncExtraInfo {
}; };
Flags flags = DEIF_NONE; Flags flags = DEIF_NONE;
const char *client_name = nullptr;
int client_id = -1;
FILE **log_file = nullptr; ///< save unclosed log file handle here FILE **log_file = nullptr; ///< save unclosed log file handle here
}; };
DECLARE_ENUM_AS_BIT_SET(DesyncExtraInfo::Flags) DECLARE_ENUM_AS_BIT_SET(DesyncExtraInfo::Flags)

View File

@@ -1196,7 +1196,10 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_ERROR(Packet *p
if (errorno == NETWORK_ERROR_DESYNC) { if (errorno == NETWORK_ERROR_DESYNC) {
std::string server_desync_log; std::string server_desync_log;
CrashLog::DesyncCrashLog(&(this->desync_log), &server_desync_log, DesyncExtraInfo{}); DesyncExtraInfo info;
info.client_name = client_name;
info.client_id = this->client_id;
CrashLog::DesyncCrashLog(&(this->desync_log), &server_desync_log, info);
this->SendDesyncLog(server_desync_log); this->SendDesyncLog(server_desync_log);
// decrease the sync frequency for this point onwards // decrease the sync frequency for this point onwards