Giter Site home page Giter Site logo

surepy / tf2_bot_detector Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pazerop/tf2_bot_detector

61.0 61.0 6.0 6.5 MB

A handy little tool to gather, keep track and automatically votekick bots and bad actors in Team Fortress 2.

License: MIT License

C++ 71.68% C 26.82% CMake 0.89% Batchfile 0.05% ReScript 0.56%

tf2_bot_detector's Introduction

Hi there ๐Ÿ‘‹

tf2_bot_detector's People

Contributors

clusterconsultant avatar koi-tf2 avatar magicrafter13 avatar minein4 avatar moebkun avatar pazerop avatar surepy avatar tiagoquix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tf2_bot_detector's Issues

Log the map change into the console

A clear and concise description of what the problem is.

I often forget what map I just played on, and the match making end score doesn't tell.
I've learned that the tool has knowledge of the map #8, so it might be possible without too much work.

Describe the solution you'd like

Map changed from 'old_map' to 'new_map'

Describe alternatives you've considered

Leaving map 'old_map'
Connecting to map 'new_map'

To me the last map would be convinient because I often find myself in the situation of "huh, what map was that I just played but TF2 won't show on the scoreboard?"

Keep window size after closing

A clear and concise description of what the problem is.

Having to resize Bot Whacker constantly is a chore.

Describe the solution you'd like

Keep window size after closing.

Additional context

None

[BUG] Github menu points to old github

Describe the bug
image

To Reproduce

  1. Open app
  2. Click "Help"
  3. Click "Open Github"
  4. The wrong repo opens.

Expected behavior

This repo opens.

Because there's no direct link to this repo, currently I always have to use fork.rip/PazerOP/tf2_bot_detector to find this again.

Logs

No.spy-voiceline.wav

Screenshots

See above.

Desktop (please complete the following information):

  • OS: Windows 10
  • Version of bot detector 1.5.10.0

Additional context

Add any other context about the problem here.

Add "Go to > SteamHistory.net" shortcut upon right clicking a player

A clear and concise description of what the problem is

Sometimes you might want to see someone's profile history or see listed sourcebans (if you're using SH's API that is), but there's no shortcut currently in Bot Whacker.

Describe the solution you'd like

Add SteamHistory.net to shortcuts.

Additional context

None.

[BUG] Using some huds will stop TF2BD from starting

Describe the bug

Using huds with chat resources and then opening TF2BD will stop loading at 19% "generating chat message wrappers" and then it will close automatically

To Reproduce

Steps to reproduce the behavior:

  1. Use a hud with that contains the files chat_english, chat_russian etc in resource folder e.g. budhud
  2. Open TF2BD
  3. It will pause on 19% and then close

Expected behavior

Should load to 100% then allow you to start the game

Logs

Log file contains nothing at all
console_2023-05-29_22-56-11.log

Screenshots

unknown_replay_2023.05.29-23.06.-.Trim.mp4

Desktop (please complete the following information):

  • OS: Windows 11
  • Version of bot detector v1.5.3.0 (sleepybuild) but also happens on latest normal TF2BD

Additional context

You can remove those text files to allow it to launch, but that breaks the hud

Add "reason" to the mark user UI

A clear and concise description of what the problem is.

I currently have a pretty sizable list as I've added a lot of bots. It is a bit awkward to manually add the reason to each account in the json.

Describe the solution you'd like

Would be nice if, when I mark a player, I could provide my reason for marking the player. That way I don't have to manually add it to the json for each account.

Describe alternatives you've considered

Perhaps instead of prompting the user for each mark it is just a separate entry in the right click menu? That way people who don't care to provide a reason, can just do what they've always done with no change.

Additional context

It would also help for the "racist" option as the auto-flag only takes in account chat messages. If I flag someone as racist I could easily make the reason "Said slur over mic." (Maybe also change "racist" to bigot, though I fear that might break old lists?)

Allow hardcoded launch parameters

A clear and concise description of what the problem is.

Some launch parameters are randomised (eg.

static std::string GenerateRandomRCONPassword(size_t length = 16)
).

Describe the solution you'd like

In order to allow the tool to cohabite with other ones that also need access to the rcon, it'd be judicious to let the user hardcode these values to whatever they choose provided they understand this is vaguely less safe.

[Feature Suggestion] Adding alias/nickname to a cheater

I know it's already possible to do this somewhat with the "Reason" input section, but having an individual section where u can manually input the cheater past known alias could be helpful to identifying who he/she is faster.
Ex: CheaterNewGibberishName ( Manually inputted past alias of the cheater here)
Or Partychat: The player "new cheater alias" is known as/ referred to as "manually inputted past alias"

Stop spamming about invisible friends list

A clear and concise description of what the problem is.

[19:18:26] WorldState.cpp(119):UpdateFriends: Failed to access our friends list (our friends list is private/friends only, and the Steam API is bugged). The tool will not be able to show who is friends with you. every god damn second

Describe the solution you'd like

Just check it every hour or less/more

Additional context

500mb log files, yikes

[BUG] Team assignment broken on VSH maps

Describe the bug

While playing on VSH maps (tested on official Valve servers), TF2BD has trouble properly recognizing player teams - instead of showing everyone except current Hale as "Friendly", it shows half of the players as "Friendly" and "Enemy", as if I was playing on a normal server. This prevents features such as auto-kick from working reliably.

To Reproduce

  1. Join a Valve server hosting a VSH map (Nucleus/Distillery/Skirmish/Tiny Rock)
  2. Look at the team assignment in TF2BD.

Logs
2023-08-04_15-40-14.log

Desktop:

  • OS: Windows 11
  • Version of bot detector: v1.5.7

[BUG] Playerlist makes appear 2 peoples

Describe the bug

When you place your mouse cursor at the right place between 2 people, you can see both.

To Reproduce

Steps to reproduce the behavior:

  1. player list
  2. place your cursor between 2 persons

Expected behavior

only one people should appear.

Logs

N/A

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows 11 23H2
  • Version of bot detector : 1.5.13

Additional context

Add any other context about the problem here.

Check player's friends list for matches on playerlists

When determining if someone is cheating, it's useful to check their friends list for other known cheaters. Adding something that automatically checks their friendslist for matches on your playerlists would be useful - it would say something like "Friends with 10 users marked as cheater on playerlist.json (50%)" with 50% being the % of friends who are cheaters. It might be better to check both ways (checking the player you are hovering's friends list as well as checking those marked in your playerlist for their id, in case they have private friends) but I'm unsure if that would be too complicated or spam requests too much if you have a large list or something.

Add date/UNIX timestamp at which player was marked

A clear and concise description of what the problem is.

Sometimes you might want to see at what date specific player was marked (automatically or manually) and there is currently no timestamp for such action.

Describe the solution you'd like

Add date/epoch/unix timestamp at which player was marked. Visible upon player inspection.

Additional context

To avoid breaking old lists, do not require date.

[BUG] Using some huds will crash tf2bd

why

Describe the bug
Using huds with chat resources will crash the game itself.

To Reproduce
image

Expected behavior
Not crash?

Logs
Not Applicable

Desktop:

  • OS: Windows
  • Version of bot detector: All Versions (including future versions)

Additional context
This also happens in normal tf2bd, its a TF2 issue. (thank u valve) nope its a tf2bd issue

Potential Fixes (ideas)

  • remove chat wrappers
    I won't be doing this as it will screw over people not having their game language set to English
  • make chat wrapper a constant and make user merge resources
    potential new abuse angle?
  • make it automatically merge with existing chat wrapper resources
    wow that sounds like a can of worms I kind of don't want to do that
  • cry
    (and tell the users about this reason)
    current option at the moment

might have a resource detection thing or something idk ugh

Match Friendly/Enemy label colors to player's team

A clear and concise description of what the problem is.

By default Bot Whacker does not assign RED/BLU team colors to players on scoreboard which is counter-intuitive.

Describe the solution you'd like

Match Friendly/Enemy label colors to player's team.

Additional context

Could have an option to toggle.

[BUG] Build #76 entry point not found

Describe the bug
Attempting to run build 76 returns an error about entry point not found
https://i.imgur.com/8RtoJcR.png

To Reproduce

  1. Download https://github.com/surepy/tf2_bot_detector/suites/15174852706/artifacts/867103944
  2. Extract to folder
  3. Get entry point error

Expected behavior

Program to boot

Logs

Fails to even boot

Screenshots

SS of error https://i.imgur.com/Is5szkA.png
SS of folder https://i.imgur.com/8RtoJcR.png

Desktop (please complete the following information):

  • OS: Windows 10,
  • Version of bot detector 1.5.7.76

Additional context

Add any other context about the problem here.

Freeze the player list when the cursor is within the player list section

A clear and concise description of what the problem is.
I caught myself a few times marking someone who I didn't mean to mark because right before I right clicked, the list updated and the order of players has shifted.

Describe the solution you'd like
Freeze the state of the player list when the cursor is within that list.

Describe alternatives you've considered
Nothing comes to mind.

Additional context
I realize the name of the player shows up in the context menu that opens up after rightclicking, but I admit, when I'm marking someone while waiting for a respawn on a short timer (or, worse, briefly mid-life when behind cover), the thought of double checking that name slips my mind.
With this feature implemented, there would be less reason to do that check. Unless you have bad aim, I suppose.

[BUG] TF2BD opens and exhausts all ports on launch screen

Describe the bug

To Reproduce

  1. Start bot detector
  2. Launch TF2 from bot detector
  3. play some tf2 but be frustrated by 9 bots on your own team and disconnect from servers a lot.
  4. Close TF2;
    Bot detector now looks like this
    image
  5. Wait.

Now:

  • A) Wait about 10 hours, and you can't open google.com in your webbrowser, as bot detector will eventually saturate all 65535 local ports.
  • B) This can be confirmed by Powershell's Get-NetTCPConnection,
  • C) Or by looking at the Handles count in Process Informer > Processes > tf2_bot_detector.exe > Properties > Statistics > Other > Peak Handles raising about every 5 seconds. Repeat Step 2 and 3 to make it more obvious.

A clear and concise description of what you expected to happen.

Logs

Add any relevant logs. Logs are found by going to File โ†’ Open Logs Folder

Screenshots

Powershell > Get-NetTCPConnection
2024-01-11 00_32_59-System Informer  LUCKYDONALD-PC_luckydonald

Desktop (please complete the following information):

  • OS: Windows 10
  • Version of bot detector: 1.5.12, but i didn't see anything relevant in the changelogs about this in the newer 1.5.13.

Additional context

My guess is that it is trying to connect (RCON?) to tf2 to see if it's (already/again) launched, but doesn't properly clean up the socket connections after each test, so it's opening them but never closing.
if you keep the program open for a day or more as you ignore it in the background, it will use up more and more ports until eventually other programs can't connect to shit no more.

[BUG] BD Py Edition breaks while verifying chat wrappers.

Describe the bug

BD broke while launching TF2, error reads "Failed to verify chat wrappers"

To Reproduce

Steps to reproduce the behavior:

  1. Launch TF2BD Py Edition
  2. Launch TF2 via launch button
  3. Wait for launch.
  4. See error

Expected behavior

I expect the TF2BD Py Edition to load and connect.

Logs

No logs.

Screenshots

Error Screen:
Bot Detector Broke

Desktop (please complete the following information):

  • OS: Windows 10
  • Version of bot detector: 1.2.1

Additional context

TF2 launch is delayed by preloading commands as part of Mastercomfig. This might be the trigger?

Rules will append every chat message of matched user to reasons field, even when it's not a chat match

Describe the bug
Title

To Reproduce
Steps to reproduce the behavior:

  1. Have a profile rule
  2. Go across a bot with that rule match
  3. Have a bloated reasons field
  4. Be mildly annoyed

Expected behavior
Don't append to reasons if its not a chat_match

Logs
๐Ÿชต

Screenshots
No

Desktop (please complete the following information):

  • OS: beep boop machine
  • Version of bot detector: all versions

Additional context

Add any other context about the problem here.

[BUG] We're still sending requests to pazer's proxy service

Whenever you're opening the app : WorldState.cpp(324):UpdateFriends: Failed to update our friends list: class tf2_bot_detector::http_error: Failed to HTTP GET https://tf2bd-util.pazer.us:443/SteamAPIProxy/ISteamUser/GetFriendList/v0001?steamid=76561198190865246: <UNKNOWN>(HTTP 523)

And then it keep spamming : SteamAPI.cpp(337):GetTF2PlaytimeAsync: class std::exception: SteamAPI.cpp(337):GetTF2PlaytimeAsync: : There was an HTTP error encountered when getting the result.

And lastly : BatchedAction.h(78):Update: Failed to get batched action future: class std::exception: Failed to HTTP GET https://tf2bd-util.pazer.us:443/SteamAPIProxy/ISteamUser/GetPlayerSummaries/v0002?steamids=[insert multiples steam IDs here]

image

image

How do i fix it?

Add a "Good Noodle" list.

A clear and concise description of what the problem is.

Currently the xmas maps are so bot spammed, there are about 2 legit players per team.
Therefore it would be nice to have a "those aren't naughty, I've checked" category.

Describe the solution you'd like

Another list which is not being acted on in any way.

Describe alternatives you've considered

Allow users to just create arbitrary lists, and set if they should be kicked and for what reason.

Additional context

Add any other context or screenshots about the feature request here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.