BeepIsla / steam-viewbot

Latest code of a viewbot I made back in early 2019 or something like that
GNU Affero General Public License v3.0
11 stars 3 forks source link

Steam Viewbot

There are many iterations of this code, I think this is the latest one. I forgot it even existed but since one of the old ones has been leaked I might as well release this.

Over all iterations we maybe used it like ten times back in early 2019.

On official servers these viewers push your Matchmaking game (Valve Competitive 5v5 only) to the top of the GOTV watch list. You can also boost other peoples matches by simply joining their GOTV server. Overall it takes 2-3 minutes for the viewers to first show up. Expect this to get fixed soon.

Can I get banned?

Maybe. Valve will probably community ban you or even disable your account if they catch you use it. Though a friend has been playing around and getting to very high numbers (100K+) without getting banned or anything, though now that its public this might change. As always: I am not responsible for any bans of any kind. Use at your own risk.

Requirements

Your target MUST be broadcasting on Steam publicly. There are two methods of broadcasting on Steam:

To be able to broadcast you MUST be a non-limited user.

Installation

  1. Install NodeJS & Git
  2. Open a command prompt (Close and Re-open if already opened)
  3. Run git clone --recursive https://github.com/BeepIsla/steam-viewbot.git
  4. Run cd steam-viewbot
  5. Adjust the config.json to your liking
  6. Run node index.js

How does it work?

This version sends an HTTP request to Steam for wanting to watch a Steam Broadcast, this creates a new viewer and gives you some tokens. Viewers expire if you don't send a heatbeat after ~90 seconds (If I remember correctly), so we use a Steam connection and protobufs to send keep alives for all of our viewers. From testing this seems to max out at ~30K (Again, if I remember correctly) which doesn't really make sense according to math but whatever, bad code I guess.

The Steam connection is an anonymous Steam logon, we use Steam because sending keep alives through that is MUCH faster and more efficent than creating an entirely new HTTP request (Thank you protobufs).

I was also testing around with zipping up multiple protobuf requests and sending them as one single packet but sadly this doesn't seem to be possible, or I did something wrong.

Config