05.01.2019, 00:00
I haven't checked into the code, but I'd like to point out one possible scenario where I think a problem could appear:
1. Player id 0 is using aimbot
2. submit_vector is called for player id 0 and the analysis begins
3. Player id 0 leaves
4. New player connects and gets assigned ID 0, same as the cheating player
5. OnPlayerSuspectedForAimbot is being called for ID 0 with the results of the cheating player that isn't on the server anymore, but a new (clean) player has taken his slot, the server bans/kicks the legit player for the results of some different player that already left.
I'm not sure if that's possible, maybe you thought about it, but if not then I think there needs to be some sort of unqiue identification for the player, so even if the same ID is used, the results won't get mixed between 2 different players if the first one leaves. Or, just cancel the analysis if the player has left the server.
1. Player id 0 is using aimbot
2. submit_vector is called for player id 0 and the analysis begins
3. Player id 0 leaves
4. New player connects and gets assigned ID 0, same as the cheating player
5. OnPlayerSuspectedForAimbot is being called for ID 0 with the results of the cheating player that isn't on the server anymore, but a new (clean) player has taken his slot, the server bans/kicks the legit player for the results of some different player that already left.
I'm not sure if that's possible, maybe you thought about it, but if not then I think there needs to be some sort of unqiue identification for the player, so even if the same ID is used, the results won't get mixed between 2 different players if the first one leaves. Or, just cancel the analysis if the player has left the server.