From bf57f0b7a4c7093f7af54587d02d710b62a7da41 Mon Sep 17 00:00:00 2001 From: Paweł Redman Date: Tue, 6 Mar 2018 22:06:57 +0100 Subject: Log all Autobahn events. --- src/game/g_client.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'src/game/g_client.c') diff --git a/src/game/g_client.c b/src/game/g_client.c index 6e941f5..8119e3b 100644 --- a/src/game/g_client.c +++ b/src/game/g_client.c @@ -1374,6 +1374,36 @@ void ClientUserinfoChanged( int clientNum, qboolean forceName ) /*G_LogPrintf( "ClientUserinfoChanged: %i %s\n", clientNum, userinfo );*/ } +/* +=========== +LogAutobahn +=========== +*/ +void G_LogAutobahn(gentity_t *ent, const char *userinfo, int rating, + qboolean onConnect) +{ + char ip_buffer[20]; + const char *ip, *name, *verb; + + verb = (onConnect ? "refused" : "dropped"); + + if (userinfo) { + Q_strncpyz(ip_buffer, Info_ValueForKey(userinfo, "ip"), + sizeof(ip_buffer)); + ip = ip_buffer; + name = Info_ValueForKey(userinfo, "name"); + } else { + ip = ent->client->pers.ip; + name = ent->client->pers.netname; + } + + G_LogPrintf("Autobahn: %s %i %s %+i \"%s^7\"\n", verb, ent - g_entities, + ip, rating, name); + + if (g_adminAutobahnNotify.integer) + G_AdminsPrintf("Autobahn %s \"%s^7\" with rating %+i, connecting from %s.\n", + verb, name, rating, ip); +} /* =========== @@ -1507,7 +1537,10 @@ const char *ClientConnect( int clientNum, qboolean firstTime, qboolean isPlaceho if (j->rating >= g_schachtmeisterClearThreshold.integer) break; else if (j->rating <= g_schachtmeisterAutobahnThreshold.integer) + { + G_LogAutobahn( ent, userinfo, j->rating, qtrue ); return g_schachtmeisterAutobahnMessage.string; + } smj = j; } break; -- cgit