Jump to content

Bot Detection

nuzgul

I used a macro in an MMORPG private server. The GM appeared and told me the exact macro I was using - AutoMouseKey.exe.

 

Which makes me really curious, how does the GM find out the exact macro I was using?

 

Link to comment
Share on other sites

Link to post
Share on other sites

Every game has different ways of detecting things like that. 

There is no answer. and some games will detect things others won't. 

My best guess is that they have a cheat detection program that launches with the application. And it can see applications running in the background. 

Link to comment
Share on other sites

Link to post
Share on other sites

I'm assuming the game has a client running on your system. But there's system methods for gathering any number of details about your system including which processes and services are currently running. As far as detecting macros and cheats it can be done effectively using nothing more then statistical analysis. Literally compare your actions to others in the server.

CPU: Intel i7 - 5820k @ 4.5GHz, Cooler: Corsair H80i, Motherboard: MSI X99S Gaming 7, RAM: Corsair Vengeance LPX 32GB DDR4 2666MHz CL16,

GPU: ASUS GTX 980 Strix, Case: Corsair 900D, PSU: Corsair AX860i 860W, Keyboard: Logitech G19, Mouse: Corsair M95, Storage: Intel 730 Series 480GB SSD, WD 1.5TB Black

Display: BenQ XL2730Z 2560x1440 144Hz

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, trag1c said:

I'm assuming the game has a client running on your system. But there's system methods for gathering any number of details about your system including which processes and services are currently running. As far as detecting macros and cheats it can be done effectively using nothing more then statistical analysis. Literally compare your actions to others in the server.

Runescape was big on this. It looked at how your mouse moved, how long you played, if you took breaks, How fast you would react. To tell if you where a bot. And bot makers worked around it.

Link to comment
Share on other sites

Link to post
Share on other sites

10 minutes ago, Icefire555 said:

Every game has different ways of detecting things like that. 

There is no answer. and some games will detect things others won't. 

My best guess is that they have a cheat detection program that launches with the application. And it can see applications running in the background. 

Does that mean there is a good chance it can see any other programs running on my computer? And also see my personal data and information on my computer while the game is opened?

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, Icefire555 said:

Runescape was big on this. It looked at how your mouse moved, how long you played, if you took breaks, How fast you would react. To tell if you where a bot. And bot makers worked around it.

For this game, it is a private server, so I doubt it is so advanced.

 

I wish to find out if I rename my macro .exe file into something like "China Movie Steamer", would the GM still be able to tell that it is a macro?

Link to comment
Share on other sites

Link to post
Share on other sites

8 minutes ago, nuzgul said:

Does that mean there is a good chance it can see any other programs running on my computer? And also see my personal data and information on my computer while the game is opened?

AGAIN, it depends on the game. 

A game like VALORANT with it's kernel level cheat detection. Yes, It can see everything you're doing on your computer. 

If it's like Battle eye. It's only looking for game files being modified and ram values being edited. 

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, nuzgul said:

Does that mean there is a good chance it can see any other programs running on my computer? And also see my personal data and information on my computer while the game is opened?

Any application can look into just about anything on a computer. Many anti-cheat systems will scan your computer much like an antivirus looking for known cheating software. They will look for memory patterns, running processes etc to see if anything is out of the ordinary so that it can flag your or bring the ban hammer down. Most likely they're looking at a very small subset of the information on your system to see if you're using a macro or cheating. 

 

4 minutes ago, nuzgul said:

For this game, it is a private server, so I doubt it is so advanced.

 

I wish to find out if I rename my macro .exe file into something like "China Movie Steamer", would the GM still be able to tell that it is a macro?

Entirely depends on how sophisticated their setup is. 

 

This is powershell which wont be used in a game but to give you an idea of how easy it is to collect information about your system this little 2 liner will gather all of the processes running on your system and export them to a CSV file in the current path. It's not much harder to use something like C++ to pull all of this same information and send it over the network back to the server.

Get-Process | Export-Csv -Path .\Processes.csv -NoTypeInformation
Get-Content -Path .\Processes.csv

 

CPU: Intel i7 - 5820k @ 4.5GHz, Cooler: Corsair H80i, Motherboard: MSI X99S Gaming 7, RAM: Corsair Vengeance LPX 32GB DDR4 2666MHz CL16,

GPU: ASUS GTX 980 Strix, Case: Corsair 900D, PSU: Corsair AX860i 860W, Keyboard: Logitech G19, Mouse: Corsair M95, Storage: Intel 730 Series 480GB SSD, WD 1.5TB Black

Display: BenQ XL2730Z 2560x1440 144Hz

Link to comment
Share on other sites

Link to post
Share on other sites

11 minutes ago, nuzgul said:

For this game, it is a private server, so I doubt it is so advanced.

 

I wish to find out if I rename my macro .exe file into something like "China Movie Steamer", would the GM still be able to tell that it is a macro?

Either 1 of 2 things happened. 

1. You talked about your macro in game and he looked at your chat logs

2. You set your bot to be too aggressive. And it's moving unrealistically fast. The average person has a 150-300ms reaction time. The average macro is set to between 20-50ms.

 

I would guess if you're using that macro software. It's VERY common for other people using macros to use it. and it might have just been an educated guess.

Link to comment
Share on other sites

Link to post
Share on other sites

13 minutes ago, trag1c said:

This is powershell which wont be used in a game but to give you an idea of how easy it is to collect information about your system this little 2 liner will gather all of the processes running on your system and export them to a CSV file in the current path. It's not much harder to use something like C++ to pull all of this same information and send it over the network back to the server.


Get-Process | Export-Csv -Path .\Processes.csv -NoTypeInformation
Get-Content -Path .\Processes.csv

 

If I rename the .exe file, will it be likely that the GM still can tell it is a Macro? If yes usually how do they do it?

 

Link to comment
Share on other sites

Link to post
Share on other sites

16 minutes ago, Icefire555 said:

Either 1 of 2 things happened. 

1. You talked about your macro in game and he looked at your chat logs

2. You set your bot to be too aggressive. And it's moving unrealistically fast. The average person has a 150-300ms reaction time. The average macro is set to between 20-50ms.

 

I would guess if you're using that macro software. It's VERY common for other people using macros to use it. and it might have just been an educated guess.

I was using a very uncommon macro that hardly has any tutorials online and people usually cant find it on Google Search. The GM said, "you are using AutoMouseKey.exe", signaling that he can see the exact macro I'm running."

 

If I change the .exe file into another name such as "China Movie Streamer.exe" will it be likely that the GM can still sniff out that it is a macro?

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, nuzgul said:

I was using a very uncommon macro that hardly has any tutorials online and people usually cant find it on Google Search. The GM said, "you are using AutoMouseKey.exe", signaling that he can see the exact macro I'm running."

 

If I change the .exe file into another name such as "China Movie Streamer.exe" will it be likely that the GM can still sniff out that it is a macro?

If you think he knew exactly what tool you used. Then I don't think it would do anything. but if you wanted to test it for laughs you could call it something like "Mods That Read This Are Dumb" And maybe you will get a pity laugh. 

I would suggest buying a mouse that supports macros. As I don't know of games that would ban you for it. Logitech g600 is one.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, nuzgul said:

If I rename the .exe file, will it be likely that the GM still can tell it is a Macro? If yes usually how do they do it?

 

It doesn't matter what you name it. They didn't detect it because they went snooping on your computer they detected it because you were to much like a robot. The snooping only confirmed what they thought. Also you have already been caught so the likelihood that you're on their shit list is pretty high. If they see actions that are out of the ordinary again they don't need to look at your system again to figure out you're botting.

 

Just play the damn game like everyone else does and you won't have problems lol

CPU: Intel i7 - 5820k @ 4.5GHz, Cooler: Corsair H80i, Motherboard: MSI X99S Gaming 7, RAM: Corsair Vengeance LPX 32GB DDR4 2666MHz CL16,

GPU: ASUS GTX 980 Strix, Case: Corsair 900D, PSU: Corsair AX860i 860W, Keyboard: Logitech G19, Mouse: Corsair M95, Storage: Intel 730 Series 480GB SSD, WD 1.5TB Black

Display: BenQ XL2730Z 2560x1440 144Hz

Link to comment
Share on other sites

Link to post
Share on other sites

18 minutes ago, Icefire555 said:

If you think he knew exactly what tool you used. Then I don't think it would do anything. but if you wanted to test it for laughs you could call it something like "Mods That Read This Are Dumb" And maybe you will get a pity laugh. 

I would suggest buying a mouse that supports macros. As I don't know of games that would ban you for it. Logitech g600 is one.

Why would a mouse that supports macros work?

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, nuzgul said:

Why would a mouse that supports macros work?

Because most games (assuming you don't set your macro with set delays. (50ms for each command))
Won't flag software required to make a mouse work.

Logitech uses "G Hub" Which supports macros. but also controls the buttons on the mouse. IT also supports variable delays on your macros. to seem more human like. 

Link to comment
Share on other sites

Link to post
Share on other sites

16 minutes ago, trag1c said:

It doesn't matter what you name it. They didn't detect it because they went snooping on your computer they detected it because you were to much like a robot. The snooping only confirmed what they thought. Also you have already been caught so the likelihood that you're on their shit list is pretty high. If they see actions that are out of the ordinary again they don't need to look at your system again to figure out you're botting.

 

Just play the damn game like everyone else does and you won't have problems lol

I do enjoy making bots that work more than playing the game. I feel fulfilment in learning more and trying out more ways to make my bots better.

 

When you said they detected it not because they went snooping on my computer, do you mean it's impossible for them to scan my computer and tell what other programs I'm using?

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, Icefire555 said:

Because most games (assuming you don't set your macro with set delays. (50ms for each command))
Won't flag software required to make a mouse work.

Logitech uses "G Hub" Which supports macros. but also controls the buttons on the mouse. IT also supports variable delays on your macros. to seem more human like. 

Does it support keyboard macro too?

 

Also, the macro i use can search for specific pictures and execute commands. I'm guessing the mouse macro have picture-recognition function right?

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, nuzgul said:

I do enjoy making bots that work more than playing the game. I feel fulfilment in learning more and trying out more ways to make my bots better.

 

When you said they detected it not because they went snooping on my computer, do you mean it's impossible for them to scan my computer and tell what other programs I'm using?

If you look at my first post you will see how I mention statistical analysis. Its super easy to detect unsophisticated bots or macro's by looking at how you as a player are acting compared against other players. As I said you're acting to much like a robot. Its not hard to detect game actions that are not human.

CPU: Intel i7 - 5820k @ 4.5GHz, Cooler: Corsair H80i, Motherboard: MSI X99S Gaming 7, RAM: Corsair Vengeance LPX 32GB DDR4 2666MHz CL16,

GPU: ASUS GTX 980 Strix, Case: Corsair 900D, PSU: Corsair AX860i 860W, Keyboard: Logitech G19, Mouse: Corsair M95, Storage: Intel 730 Series 480GB SSD, WD 1.5TB Black

Display: BenQ XL2730Z 2560x1440 144Hz

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, trag1c said:

If you look at my first post you will see how I mention statistical analysis. Its super easy to detect unsophisticated bots or macro's by looking at how you as a player are acting compared against other players. As I said you're acting to much like a robot. Its not hard to detect game actions that are not human.

Is there a good guide online you would recommend which can allow me to learn more about how to make my bot more human like?

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, nuzgul said:

Is there a good guide online you would recommend which can allow me to learn more about how to make my bot more human like?

None that I can think of. I haven't developed hacks or bots in a hot minute so I am pretty out of the loop on resources for anything in that regard so you're on your own for that.

CPU: Intel i7 - 5820k @ 4.5GHz, Cooler: Corsair H80i, Motherboard: MSI X99S Gaming 7, RAM: Corsair Vengeance LPX 32GB DDR4 2666MHz CL16,

GPU: ASUS GTX 980 Strix, Case: Corsair 900D, PSU: Corsair AX860i 860W, Keyboard: Logitech G19, Mouse: Corsair M95, Storage: Intel 730 Series 480GB SSD, WD 1.5TB Black

Display: BenQ XL2730Z 2560x1440 144Hz

Link to comment
Share on other sites

Link to post
Share on other sites

11 minutes ago, nuzgul said:

Does it support keyboard macro too?

 

Also, the macro i use can search for specific pictures and execute commands. I'm guessing the mouse macro have picture-recognition function right?

Keyboard, yes

Picture, No

 

But if you're doing picture recognition, than you would need something like openCV or something. But I don't enjoy cheating in games competitive. So I've never used it in games. 

Link to comment
Share on other sites

Link to post
Share on other sites

When I was working on bot detection the most common common mistake were :

patterns. Same exact pattern many times in a row.

- constant trigger rate ex : 20 ms every single time

 

but the biggest mistake is the delay people miscalculate every single time. They think they are wise by putting the delay to 250ms which is the human average reflex signal to the finger under normal blood pressure / heartbeat. Your rate should be faster when there is action on screen or stress zone, if there is none of that it is a big ref flag. Also people assume that 250ms is when you have the key pressed and that is false. That is the signal sent to the muscle to move so it hasn't pressed the button yet. On top of that some try to send the same input every 250ms which they always forget to account that to send a trigger again you have to send another signal to your finger so it lift of the trigger and that you have to send another signal to press it again which usually relate to 3 x current reflex + muscle speed.

Link to comment
Share on other sites

Link to post
Share on other sites

Generally speaking, in order for your bot not appear as a bot it needs to behave like a human: not too precise and with varying patterns. At the point at which your bot is indistinguishable from a human, the overall gain from cheating (that's what you're doing) is gone despite a small automation advantage. Humans aren't perfect, their reflexes vary, they make mistakes, they adapt to the situation. 

 

Stop cheating at online games. Do whatever you like locally in single player, but stop cheating. You're messing with everyone else's game.

Use the quote function when answering! Mark people directly if you want an answer from them!

Link to comment
Share on other sites

Link to post
Share on other sites

Any intrusive enough scan of your running processes will flag you. You can hide, but then whatever you do to hide may leave evidence that something is hidden. That may be enough to get you a ban. I've been banned from games from just having software on my PC that didn't even touch the game I was banned from. This is the biggest obstacle and cannot be circumvented indefinitely. So, if the software you're botting is on your machine then you're a bit stuck if they're aggressively fighting you. 

 

If the bot detection is good enough you will be caught, and it can be good enough with a machine learning model trained to detect abnormal players. The only way to not get caught be would be to write the software to perform exactly like a human which sounds pointless but gives you a definite AFK advantage. However, it's tricky and you will probably get caught in the process.

 

Mouse movements cannot be linear or even show an algorithmic pattern. They have to be random. Not truly random, people can be consistent to a degree but it would be an obvious indicator that it isn't a human interacting with your software if their cursor snaps or follows repeatable patterns 100% of the time. Really, everything a player does cannot be 100% consistent. No inputs should follow a non-random algorithm. Reaction times are pretty unreliable, as long as you're around 180-300ms you'll be fine. Just don't go doing everything in Xms intervals. Another thing to watch out for is connecting or any other type of automation around getting your bot to actually play. It's easy to overlook things that aren't gameplay. If when disconnected your bot instantly connects without any delay, it's a bit suspicious. I would also recommend against running 24/7. People eat, sleep, and work. Bots don't. So don't make the mistake of shoving it on a VPS and forgetting about it. 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×