MalachiPyronomicon / Core

0 stars 1 forks source link

IsPlayerDonator not well behaved when checking Replay bot? #1

Open MalachiPyronomicon opened 11 years ago

MalachiPyronomicon commented 11 years ago

Plugin donator.list intermittantly reports Replay as a donator. Looking through the code, I notice that GetClientAuthString has a return value that is never checked. If GetClientAuthString is asked about the Replay bot, it may return false and fail to change szSteamId - which would then never be set OR initialized (created using decl).

Or it may return BOT or an empty STEAM id (as shows up in the server console) - which would require it to match something in the Trie...

I'm tempted to just add in an IsClientReplay test and call it fixed... :)

The long (and better) road would be to report when GetClientAuthString fails (and maybe some logging as well) and use that as for troubleshooting.

MalachiPyronomicon commented 11 years ago

Ok, here's whats bothering me.

donator.list performs a check for IsClientFake (which according to my tests picks up Replay as the docs describe). Then it does the IsPlayerDonator test, so IsPlayerDonator should never see the Replay bot. So it should never report Replay as a donator.

*

Ok, just found a thread in the VSH plugin where the plugin author says he had to take out his IsFakeClient test because of problems with Replay. In its place he's apparently put IsClientReplay/IsClientSourceTV. This was many versions ago and apparently resolved the issue.