gocd-json-config-plugin
gocd-json-config-plugin copied to clipboard
Improve docs
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?
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.
Yeah think thats how they are doing it
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).
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
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.
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
This is basically the demo parsing issue. "Add demo parsing" already is pretty vague so any further specifics should probably be their own issue
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.
Demos are on a 30 second delay. Any information provided would be of limited use for this case.
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.
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.
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.
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.
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.