League of Legends Bot - Reduce CPU Usage (extrem)

02/22/2022 20:37 akvaq#1
Hello,

I have found a few league of legends (pixel)bots that all seem to do something to the client to minimize the CPU load extremely.

As a test, I started the game without the bot, also turned on the FPS limiter, I had a CPU load of about 90%.

Afterwards I started the bot (on the same VM), so the CPU load went down to 0-5%.

My question is now:
How is this possible? The game runs just as smoothly but it needs much less CPU.
Apparently all current pixelbots do this. Is there something set via the LCU? Parameters to start the exe? For me this is incomprehensible. Is what they use detectable?
02/22/2022 22:03 sebyelcapo#2
Hello, I will give my guess and any other person more informed about the topic can correct me and probably will be right.

The first thing is that pixel bots do as they say, they read pixels, but they need to read many pixels, as many times per second as needed (because you want actual information on what happened) and they have to understand what they are reading so they can act accordingly.

So for example, a pixel bot needs to read if there is any champ inside your range that means it has to read an area of, for example, 500 x 500 those are 250.000 pixels!!

Now he has to ask, ok is there anyone inside those 250.000 pixels? so they start a search for a patter in specific (or a pixel color), lets say health bar in red color starting a whole secuencial a whole search.

After that's done it concludes that there is noone in range so it proceeds to do the next reading but take into account that the next reading can NOT be too far away in time from the first one just because that would be many second of your bot not acting accordingly, with that beign said your bot has as reaction time as the speed that he can see what's happening.

This all can change from code to code but that's the basic approach to understand why it is so heavy for a CPU to do all of that meanwhile you play LoL.

If you are using a VM probably it doesn't give the bot the necessary resources to function correctly and that's why it's 90% of usage.

Those are the kind of reasons why an internal(memory read and inject) or just external with memory read could be so much effective in use of resources of your PC, because if someone is in range of your auto attack the memory just gives you a flag that says "hey this Fiora is in my range" instead of your bot reading over and over an immense amount of pixels to discover the exact same

So for the final question, how detectable are them? Well, this would be the whole reason why on earth you would use a pixel bot, it is, as far as I know, completly undetectable. Why? because it doesn't write anything on memory not even read from memory (which in most cases is undetectable too but with pixel bots you have it covered too) the only way a pixel bot could be detected is by the use of inputs or patterns, for example when the bot tries flash he presses the key over 500 times in 1 second because of bad coding, that is a clear flag that there is no human that could do that and could end up in a ban.

So as long as the action taken by the bot is well coded and not pattern flagged it's one of the safest method you can have.

Hope it was useful and any critique is well recived
02/22/2022 23:09 akvaq#3
I mean my question is what the bot does that it lowers LOL cpu usage.
02/23/2022 02:52 sebyelcapo#4
Quote:
Originally Posted by akvaq View Post
I mean my question is what the bot does that it lowers LOL cpu usage.
Oh I read your question the other way, a bot that could possible lower CPU usage of a program is not a bot as I understand, I think it could change priority of the program or optimize the process in some way but I never heard of anything like that :confused:
02/23/2022 15:07 akvaq#5
maybe someone else knows because its very interesting
02/26/2022 16:13 AL FEEDA#6
There are programs out there that can slow down a process (changing priority will only change the relation between processes, so if only League uses 90% but all other processes use 0-1%, League will continue to use 90% of the CPU).
If you want to go "vanilla" you can only try to make League as "light" as possible by capping the FPS at 25 (the ingame settings do not allow less) and setting the lowest possible settings etc, however this is not what these bots do.

The bots themselves do not require much CPU as they do not scan pixels every frame, rather 3-4 times per second (less CPU intense), they run League on a reduced window size so they need to scan less pixels but they also slow League down (this will reduce the fps as well). FPS limiters (judging from my experience) do not help much.

I found a program which does slow the game down to use roughly 30-40% CPU (Translates to roughly 6-8% CPU on main PC, depending on processor).
[Only registered and activated users can see links. Click Here To Register...]
It could be that these bots limit the CPU-time of League in a similar way. I could only limit as much as 60% of League, anything higher caused frequent crashes during the loading screen.

Another way is to customize the virtual machine (some commercial pixel bots come with their own optimized virtual machine) to use less CPU and have as few background processes as possible, no windows-bloat etc...

The slower game would also explain why these bots always "toast" the loading screen when you have them on your team, their game just runs so much slower.