Log client ID/name in server desync logs

pull/362/head
Jonathan G Rennison 2 years ago
parent 29521ef883
commit 3892a1e201

@ -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)",
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 = this->LogOpenTTDVersion(buffer, last);

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

@ -1196,7 +1196,10 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_ERROR(Packet *p
if (errorno == NETWORK_ERROR_DESYNC) {
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);
// decrease the sync frequency for this point onwards

Loading…
Cancel
Save