Giter Club home page Giter Club logo

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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

tf2_bot_detector's Issues

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] Fatal Error: Unable to get window info from SDL

Describe the bug
When trying to launch TF2 via TF2BD, I get an error complaining about being unable to get window info from SDL

Logs
2024-06-07_18-02-19.log

Screenshots
image

Desktop (please complete the following information):
Linux Mint 21.3 Virginia
TF2BD v1.6.3.55

Additional context
This did not occur before updating packages
This does not occur when running TF2 directly through steam

[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.

Automatic F1 vote for marked players

It would be nice to have the option to automatically cast F1 votes for marked players in your list when a team mate calls the vote.

Because sometimes there is just too much going on in the game itself. So checking the player in the app may be too distracting.

[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

Open profiles in Steam

It would be nice if profiles opened in Steam instead of an external browser.
Otherwise an internal browser that can use the account credentials would be nice too.

This would facilitate reporting, blocking etc.

[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?

"Suspicious profile picture" hash-checking

A clear and concise description of what the problem is.

The recent improvements bot hosters have implemented are making it more and more difficult to spot bots, but there's a few exploitable consistencies they have that we can use to detect them. Notably, some bots (Mechniator bots are an easy one to point at) use the same few profile pictures for all (or at least a sizable number) of their bot accounts.

Describe the solution you'd like

Since TF2BD already fetches profile pictures to be displayed in the TF2BD GUI, it shouldn't be that much more intensive to run a hash check against all the profile pictures as people join a match and then warn the TFBD user that they're potentially a bot.

This does have a small chance of false positives if someone happens to be using the same profile picture (based on some reverse image searching, I don't think this will be very common, however), it might be best to implement this functionality in the UI as a little badge in the TF2BD player list similar to how VAC/Game/Community server bans currently appear. Alternatively a new "mark as" category might be a viable option if you'd rather keep the badges purely ban-related.

I'd also like to mention it'd be very nice to have a toggleable option to automatically save the hash as known-suspicious when someone is manually marked as a Cheater.

Describe alternatives you've considered

Manually hovering across the list of players when joining a match to see if there's any accounts with bot-used profile pictures.

Additional context

There isn't really anything else that couldn't be included in the other fields, if you have an questions or need any clarifications I'm happy to oblige.

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.

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] Launching the game via TF2BD causes vsync issues

Describe the bug
When launcing tf2 via TF2BD, there's screen tearing

To Reproduce

  1. Launch TF2BD
  2. Launch TF2 via TF2BD
  3. Click the "Find a Game" button
  4. It'll be warped while opening (applies ingame too)

Expected behavior
No screen tearing (launching via steam has no issues)

Desktop (please complete the following information):
Linux Mint 21.3

Additional context
Recording TF2 with something like OBS does not capture the screen tearing

Additional Features

Add an option to votekick exploiters, disabled by default preferably. most consider exploiting to be as bad as cheating, and some exploits are worse then cheating due to the sheer disruption caused.

Add an option to disable message prints for racism, and print suspicious/exploitive players.

Add an option to disable the scoreboard marks for racism/suspicious

[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.

using "Real Name" for rules?

i've noticed that bots are getting especially smug and just using the same blurb of text in their real names.
i would like if we could add rules to catch those.

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

Feature to automatically close TF2BD upon TF2 closing

A clear and concise description of what the problem is.

It's be nice to have TF2BD close whenever you exit TF2 as well so you don't have to do it manually each time. Sometimes I forget to close TF2BD after closing TF2 and it causes Steam and Discord Rich Presence to still say I'm playing TF2.

Describe the solution you'd like

Create a feature (as an optional setting) that closes TF2BD upon detecting the game also being closed after having been launched with the tool.

Additional Information

Might be helpful to avoid closing TF2BD upon a game crash and not a manual exit? Though I understand if that's simply not possible because there isn't a way to distinguish; I don't mind if the tool closes even upon a crash, it'd be a very nice QOL improvement either way.

[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?

[BUG] Font resetting when PC restarts

Describe the bug

TF2BD don't save the font settings, when i open the program, change font settings then restart my pc, font settings are back in default.

To Reproduce

Steps to reproduce the behavior:

  1. Open TF2BD
  2. Go to Settings, UI
  3. Change the font settings
  4. shutdown your PC
  5. restart your PC
  6. Open TF2BD

Expected behavior

Expect my font settings to be the same.

Logs

N/A

Screenshots

N/A

Desktop (please complete the following information):

  • OS: Windows Family 11 23H2
  • Version of bot detector: 1.6.0 (sleepy build)

Additional context

Not very annoying, but still a bug ;c;

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

Option to auto mute marked

A clear and concise description of what the problem is.

Bots mic spamming is annoying and having to manually mute them is also annoying

Describe the solution you'd like

Have marked players/bots be auto muted (if the setting is on)

Describe alternatives you've considered

Nothing that i can think of

Additional context

Just an option in settings, maybe when you right click the person on the player list you can choose to unmute/mute them from there too? maybe have a little mute icon next to their name if they ARE muted

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.

Terminate connection to server before fully connecting if the server has X amount of bots/cheaters on X team.

A clear and concise description of what the problem is.

It can be tiring to manually terminate the connection from a server before fully connecting when it's filled with bots/cheaters.

Describe the solution you'd like

A disconnect command can be sent through the pre-existing bot detector via rcon if the bot detector sees there are X amount of bots/cheaters on X team before it full connects to a server, which could also be adjusted via a setting.

Describe alternatives you've considered

N/A

Additional context

Auto requeue would also be helpful as an additional setting that could be used in conjunction with this.

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] 1.6.4 crashes on startup

Describe the bug

When trying to open the latest version, it crashes before launching.

To Reproduce

Steps to reproduce the behavior:

  1. Attempt to open "tf2_bot_detector.exe"
  2. Instead of the program opening, a crash log is created.

Expected behavior

The program to open.

Logs

I can't open the program to get logs, but here is the crash report file:
tfbd_crash_2024-08-24-10-31-17.zip

Desktop (please complete the following information):

  • OS: Windows 11
  • Version of bot detector: 1.6.4.210

Additional context

Previous version (1.6.3.196) launched without issue and continues to do so. Triple checked to make sure I downloaded the Windows version and not the Linux version. No files were added/modified from the downloaded zip file.

Manual addition of players to .json list.

A clear and concise description of what the problem is.
I want to manually add known cheaters, bots, etc. to my personal list without having to be in a game with them.

Describe the solution you'd like
Add an option to add players to your own list via steamid.

Describe alternatives you've considered
Attempting to add players manually in the .json doesn't work.

Additional context
Attempting to add players manually in the .json doesn't work because it will not highlight them if you are in a game with them.

[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

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?)

[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"

[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.

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.

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?"

[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] TF2 updated and changed the executable

Describe the bug

Team Fortress 2 updated and has changed the executable's name to tf.exe and tf_win64.exe. This prevents tf2bd from detecting the executable as it was named hl2.exe before.

To Reproduce

Steps to reproduce the behavior:

  1. Launch tf2bd
  2. Launch Team Fortress 2
  3. It does not detect the game.

Expected behavior

Tf2bd to detect Team Fortress 2.

Screenshots

image

Desktop (please complete the following information):

  • OS: Windows 10
  • Version of bot detector 1.5.14

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.

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] 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

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.