Hi Guys,
This guy won't stop crashing my server. He actually crashed our server over 10 times today alone. At around 2AM in the morning, 2 admins and myself were on the server and it crashed around 5 or 6 times in a row. So, we are sure that he is doing it out of the game. I've been recording the qconsole logfile and have some interesting info as seen below:
Client 127 connecting with 50 challenge ping
stainmaker is preparing for deployment
Going from CS_FREE to CS_CONNECTED for stainmaker
stainmaker : dropped gamestate, resending
SV_SendClientGameState() for stainmaker
Going from CS_CONNECTED to CS_PRIMED for stainmaker
CGM buffer for client 32 is full
CGM buffer for client 35 is full
Cvar_Set2: FST_Action
CGM buffer for client 32 is full
CGM buffer for client 35 is full
CGM buffer for client 32 is full
CGM buffer for client 35 is full
CGM buffer for client 32 is full
CGM buffer for client 35 is full
Cvar_Set2: FST_Action
Cvar_Set2: FST_Action
CGM buffer for client 35 is full
CGM buffer for client 35 is full
WARNING: Could not find player pain animation 'mp44_crouch_hit_lowertorso'
SV packet 192.41.172.93:2598 : getinfo
At the top, it says client 127. The qconsole info above is right about the time when the server crashed. I have 36 player slots. So, starting at and including zero or 0, I should have no more than client 35. So what this guy is doing is flooding the server with packets, namely 127 clients and the server can't handle that many at one time. Any ideas on how to prevent this from crashing the server is appreciated.
Rumphfy
It's not flooding as far as I can tell, unless there is info on those 91 other clients connecting that you didn't post.
Actually, this is quite illogical. The code below ensures that no clients over sv_maxclients are allocated:
newcl = NULL;
for ( i = startIndex; i < sv_maxclients->integer ; i++ ) {
cl = &svs.clients[i];
if (cl->state == CS_FREE) {
newcl = cl;
break;
}
}
Sorry about my asumptions above, I had talked to some server techs and they told me that it would be possible to flood a server with packets and that would crash the server. I really don't know how it is being done, but know that somehow my server is being crashed continuously from an outside entity. I did notice a forum message about a buffer over flow patch (
http://www.mods-r-us.net/forums.php?m=posts&q=3044 ), which may be good to patch my server.
About the code above, how would I package this to put on the server. In the Global folder and call out to the file from the server.cfg? Any ideas are appreciated.
Thanks for all the help,
Rumphfy
The code above is an extract from the Quake III Arena source.

You're not putting it anywhere.
I find this line pretty interesting:
WARNING: Could not find player pain animation 'mp44_crouch_hit_lowertorso'
What kind of server is it? AA, SH, BT? Because I haven't found any reference to this animation in AA and SH.
We probably could tell you more if we had the entire logfile.