gocd-json-config-plugin icon indicating copy to clipboard operation
gocd-json-config-plugin copied to clipboard

Improve docs

Open atharvai opened this issue 6 years ago • 0 comments

The readme isn't enough. There are many properties that show single examples but not any reference values or what is expected. forexample, for auto deleting artifacts there's a single example shows but this page shows various options: https://docs.gocd.org/current/configuration/delete_artifacts.html . the README for this plugin does not specify all these options for even the json properties are.

How do I find out such json properties and expected values?

atharvai avatar Oct 23 '19 21:10 atharvai

Thanks for pointing this out, I wasn't aware. An important thing to realize is that this doesn't get injected into the game like cathook does, so it can't just send invalid network packets like a cheat can.

PazerOP avatar Jun 06 '20 04:06 PazerOP

Yeah think thats how they are doing it

adam-the avatar Jun 06 '20 04:06 adam-the

Fair enough, and I wasn't aware this was working in a different way. As it is able to send chat and vote kick, I assumed sending of other packets would work the same way.

It's a shame about not being able to pose as a cathook bot. Having immunity against bots would be a powerful tool that would render cathook useless (to TF2BD users).

markdwhite avatar Jun 06 '20 04:06 markdwhite

I would suggest using the "status" command and a blacklist based solely on Steam ID's. Cathook bots can randomize/steal names easily but ID's are unique identifiers

DiegoFleitas avatar Jun 06 '20 04:06 DiegoFleitas

I definitely suggested this issue based on the assumption that TF2BD worked using a similar approach to cathook, and I've spent more time looking at the code in that than I have the code for TF2BD. From comments on other issues, it seems like the initial approach being taken by TF2BD needs some improvements to avoid false positives and mis-identifications.

I previously suggested on the official TF2 discussion forums about building an anti-bot using cathook as the base (and stripping the cheats) as they do seem to have reasonably mature code for injecting commands directly into the game's data stream. I appreciate that is probably very different from the approach taking @PazerOP and appreciate his efforts to do something positive about the bot problem, and seeing how this project develops. It is still very early days for it.

markdwhite avatar Jun 06 '20 07:06 markdwhite

Currently the project does use steam ID's in addition to defined marking rules based around chat and names. Identification could be done through demo parsing

ClusterConsultant avatar Jul 02 '20 06:07 ClusterConsultant

This is basically the demo parsing issue. "Add demo parsing" already is pretty vague so any further specifics should probably be their own issue

ClusterConsultant avatar Jan 27 '21 16:01 ClusterConsultant

Does demo parsing make it possible to identify who called a vote?

It would be useful to to able to notify the user with extra information like how long they have been connected and what class they are etc. So that if a bot calls a vote people know it's the bot even if 2 players have the same name.

andy013 avatar Mar 08 '21 16:03 andy013

Demos are on a 30 second delay. Any information provided would be of limited use for this case.

ClusterConsultant avatar Mar 08 '21 17:03 ClusterConsultant

Demos are on a 30 second delay.

Roughly. I should have been more careful about spreading around that 30 second figure without testing it first. It's possible its still ~30 seconds, but in reality the delay is just due to a ~~16kb~~ (currently unsure of the size) buffer on the demo file.

With all the extra stuff being dumped out to console, trying to use the console ingame is already a mostly futile effort. If the delay isn't already low enough to be useful, it might be possible to just artificially dump a bit more junk to console to speed up how often it is synchronized to disk.

PazerOP avatar Mar 08 '21 19:03 PazerOP

With recent testing it was determined that the delay is closer to about 5 to 10 seconds. It could be lowered further with some optimizations.

ClusterConsultant avatar Mar 16 '21 02:03 ClusterConsultant

What about if you just stop recording, would that flush everything to disk? If it was for something like telling who a vote was called by, you could just hit a keybind to stop recording when the vote starts.

andy013 avatar Mar 16 '21 03:03 andy013

That would indeed flush everything to disk, but starting a demo causes an extremely disruptive hitch while it requests a full update from the server.

PazerOP avatar Mar 16 '21 04:03 PazerOP

Yeah, I know about that. I don't think it's a big deal if you have a bind for it. You can choose when to press it. I actually have a script that automatically records demos like this already and I only press it when I know I'm safe or I'm in spawn. Ideally you wouldn't have to do this but I don't think it would be completely terrible either.

andy013 avatar Mar 16 '21 04:03 andy013