24.01.2016, 14:55
If it was an infinite loop then your server would have crashed in short time after you started experiencing lag and nothing would have worked anymore (no connections, no command processing, no (foot/vehicle/aim/whatever) sync) and server_log would be spammed with "Incoming connection" messages.
My guess is that your server sends/recieves too many packets and network can't handle them properly anymore. I suggest you to increase all *_rate settings in server.cfg. Also you should send network data only when needed, not everytime when a callback is called. (eg. preloading anims, you should do that once for every player at first spawn, not at EVERY spawn)
Furthermore you should check what GetNetworkStats returns at different times and different number of players.
My guess is that your server sends/recieves too many packets and network can't handle them properly anymore. I suggest you to increase all *_rate settings in server.cfg. Also you should send network data only when needed, not everytime when a callback is called. (eg. preloading anims, you should do that once for every player at first spawn, not at EVERY spawn)
Furthermore you should check what GetNetworkStats returns at different times and different number of players.