Skip to content
This repository has been archived by the owner on Nov 30, 2020. It is now read-only.

BeepIsla/csgo-commend-bot

Repository files navigation

CSGO Commend Bot

Allows you to send commends and reports for CSGO, though commend botting is the focus of it and reporting is just a little side thing.

Note: Even though I have implemented a report bot I still believe they are fixed. -Read More

Please view theChangelogfor a list of changes.

Please read the README in its entirety before coming to me asking for help.

Frequently Asked Questions


Requirements

Installation

  1. Download this repository
  2. Open a command promptinsidethe folder
  3. Enternpm ci
  4. Renameconfig.json.exampletoconfig.jsonand adjust it (See below)
  5. Add accounts using theDatabase Manager
  6. Runnode index.js

Updating

Following the installation steps from1to4and simply override all files.NEVER DELETE YOURaccounts.sqliteIT STORES ALL IMPORTANT INFORMATION - NOT ONLY ACCOUNT DETAILS

Config

Some values are not always used:

  • Using typeCOMMENDthe entirereportsection is ignored
  • Using typeREPORTthe entirecommendsection is ignored
  • UsingautoinserverIDormatchIDwillrequirean account to be entered in thefetchersection
  • Using methodLOGINignored the entirereport,fetcher,serverID,andmatchIDsection but willrequireyou to enter an account in theaccountsection, other way around for using theSERVERmethod
  • AsteamWebAPIKeyisalwaysrequired, it doesn't matter which key you use

Explanation of each value:

  • commend:
    • friendlyNumber:Amount of commends you want to send as friendly
    • teachingNumber:Amount of commends you want to send as teaching
    • leaderNumber:Amount of commends you want to send as leader
  • report:
    • aimbotNumber:Amount of reports you want to send as aimbotting
    • wallhackNumber:Amount of reports you want to send as wallhacking
    • speedhackNumber:Amount of reports you want to send as other hacking
    • abusiveNumber:Amount of reports you want to send as abusive communications or profile
  • account:
    • usernameString:Username of the account you want to boost
    • passwordString:Pasword of the account you want to boost
    • sharedSecretString:Optional shared secret if the account has two factor authentication
  • fetcher:
    • usernameString:Username of the account you want to use for automatically fetchingserverID/matchID
    • passwordString:Password of the account
    • sharedSecretString:Optional shared secret of the account
    • maxTriesNumber:Maximum amount of tries before cancelling fetching
    • tryDelayNumber:Amount of milliseconds to wait between each try
    • askSteamGuardBoolean:Set totrueif you want the script to ask for Steam Guard code,falseto just error and cancel
  • proxy:
    • enabledBoolean:Whether or not proxies are suppose to be used
    • fileString:The filename you want to load proxies from (With extension like.txtor.json) -Read More
    • switchProxyEveryXaccountsNumber:One proxy per X accounts
  • typeString:Define the type - Valid values areCOMMEND&REPORT-Read More
  • methodString:Define the method - Valid values:LOGIN&SERVER-Read More
  • targetString:SteamID/VanityURL/ProfileURL of target
  • serverIDString:ServerID,orIP,orautoof the server -Read More
  • matchIDString:Optional match ID (Use"0"if you don't want to use one) -Read More
  • perChunkNumber:Will chunk all accounts into groups ofperChunksize
  • betweenChunksNumber:Delay in milliseconds between chunks
  • cooldownNumber:Cooldown in milliseconds to not reuse accounts
  • showCommendsBoolean:Whether or not to print commends at the start and end of commending (Enabling this requires a fetcher account)
  • autoReportOnMatchEndBoolean:If enabled and target is on a Valve Matchmaking server wait until the match has ended (Enabling this requires a fetcher account)
  • switchServerAfterChunksNumber:When usingLOGINmethodswitch server automatically after this many chunks have been processed
  • protocolString:EitherAuto,TCP,WebSocket,orWebCompatibility- Specify the connection protocol to use for Steam. Try changing this if you encounterMethod Not Allowed
  • steamWebAPIKeyString:Steam Web API key fromhere
  • disableUpdateCheckBoolean:Whether or not to skip update checks

Database Manager

  • Export account list:Export all accounts in ausername:passwordformat
  • List commends for user:Listallaccounts which have commended a specific user
  • Reset commends for user:Deleteallcommend entries from the database of a specific user (Note: This doesnotremove commends from the target in-game. You will likelyneverhave to use this)
  • Remove account from database:Delete a specific account from the database including commend history*
  • Add account(s) to database:Add accounts to the database, import from JSON file, import fromusername:passwordfile or manually add accounts
  • List not working accounts:Listallaccounts which are marked as inoperational by the script
  • Remove all not working accounts:Removeallaccounts which have been marked as not working*
  • Get last commend target and time:Retrieve the last target and time at which we commended
  • Reset Database:Will clear outallcontent of the database, resetting it to the default
  • Exit:Safely close database before exiting process

Simply run it vianode databaseManager.js,use the arrow keys & enter to navigate. Read on-screen instructions for more details.

*Commend history isimportant,removing it will cause the script to re-use already used accounts which will result in duplicate commends, which does not work and will therefore do nothing until commend history has been rebuilt.

Botting Type

You can choose between two types,COMMENDandREPORT.

There isn't much to it. Commending botting is confirmed to work, report bottingis impossible to prove workingdue to many factors which cannot be controlled. I believe report bots haven't worked since 2016 due to how simple it is to prevent them working. Don't try to lecture me, I don't care.

Botting Method

You can choose between two botting methods,LOGINandSERVER.

  • LOGINwill log into the targets account and automatically grab a server. Fastest, easiest and most lightweight (No need to run CSGO) for personal usage
    • Note: Donothave CSGO open while using this method
  • SERVERwill commend a target, but the targethasto be on a valid Valve or Community server -Read More
    • Note: Youcannotbot someone without them being on a server

Server ID & Match ID

  • TheserverIDfield allows for either ServerIP, ServerID orauto.
    • Server IP is self explanatory
    • ServerID can be found by enteringstatusinto the console ingame.
      • On a community server it will look like this:1.37.0.1/13701 934/7508 secure [A:1:1297634312:12708]>[A:1:1297634312:12708].
      • On a Valve server it will look like this:Connected to =[A:1:3849827331:12657]:0>[A:1:3849827331:12657].
      • Make sure toonlyinclude the stuff between the brackets and the brackets themselves.
    • autowill work on any server, community serverrequirethe target to usecl_join_advertiseto be2or higher
      • Requiresan account filled in thefetchersection
      • Certain privacy settings may interfer with this, before reporting an issue make sure everything is set to public in yourSteam Privacy Settings
  • ThematchIDfield allows for either MatchID orauto.
    • MatchID can be found at the start of a match before the accept match popup comes upmatch_id=3243320471183730331>3243320471183730331
    • autowill automatically find the match ID for you
    • Requiresan account filled in thefetchersection

Proxies

Proxies are simple to use, just follow the example config to set them up. Your proxy file will need to be either a JSON array with each element being one HTTP proxyora plain text file with each line being one proxy. One proxy can do ~20 commends, so I recommend leavingswitchProxyEveryXaccountsat20.

ONLY HTTP proxies are supported

JSON Example:

[
"127.0.0.1:12345",
"127.0.0.1:67890",
"127.0.0.2:12345",
"127.0.0.2:67890"
]

Plain text example:

127.0.0.1:12345
127.0.0.1:67890
127.0.0.2:12345
127.0.0.2:67890

Frequently Asked Questions

  • I am getting timeout errors

    • You cannot use this bot on a live Valve Competitive/Wingman match, however it does work at the end of the match when the last round ends. Otherwise just use Community Servers or Valve Casual/Deathmatch/War Games/etc. Offline with bots or local workshop maps do not work.
  • Can I get banned for using this?

    • Who knows, maybe, maybe not. Its unlikely but you never know. Valve usuallyat mostdisables the bot accounts.
  • I get an error when tryingnpm ci

    • As said in the README, make sure to installNodeJS version 12.On Windows you will need to download thenode-v12.9.1-x64.msi.
  • How many commends can I send?

    • One IP can do ~20 commends per 5 minutes
      • There don't seem to be any other way to increase this, I tried modifying several things and nothing ever worked
    • Itspossiblethere is a server limit as well of ~150 commends. This is unconfirmed and might not be true.
    • Note: This information may be outdated
  • I get a proxy error!

    • Your proxy has been banned by Steam. Search for residential proxies, and even then they might be banned.
  • I get an "Failed to commend" error

  • The config is confusing, can you make an interface for it?

    • I can but I won't. It doesn't accomplish anything and learning how this works is easy.
  • Can I make an automated commend selling service with this?

    • This isnotusable on a big scale, especially when botting several people at once.
  • Can you do X for me?

    • No, I only work for myself.
  • Can you do X for me? I pay!

    • No, I don't care about money.
  • I found someone who copied this and is selling it/released it without mentioning you.

    • Good for them, I don't care. I have still made the accomplishment, not them.

Why I think report bots are fixed

Lets start by saying:None of this is confirmed, nobody knows what the truth is so these are just assumptions.

Aside fromValve literally saying they are fixedevery match (Competitive, Wingman, Danger Zone, etc) has a list of account IDs which are allowed to join/participate, so when a report gets sent all Valve has to do is check if the sender and receiver are in the same match or not.

Now you could argue why doesn't the same happen when commending or why do they give a fake response? The answer is: Community servers.

Commending must work on community servers so it is not as strict as reporting. Reporting on the other hand is completely irrelevant on community servers, there is no reason why Valve should use them especially considering community servers may give advantages to some players, so reporting simply returns a fake response.

  • Is sender and receiver assigned to the same Valve match?
    • Yes: Real report
    • No: Is the server ID the same for sender and receiver?
      • Yes: Send a fake response
      • No: Do not respond at all