summaryrefslogtreecommitdiff
path: root/src/game/g_client.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/g_client.c')
-rw-r--r--src/game/g_client.c33
1 files changed, 33 insertions, 0 deletions
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;