AntiBot | Use Machine Learning To Detect Bots In Game

❌🤖 AntiBot 🤖❌

The newest way to detect scam bots in your Roblox game using machine learning

Model | Github

About

image
You know those scam bots, right? The ones that join your game and chat messages to scam links over and over again. We know that these links do not give out the promised “reward”; at least most of us do. It’s really hard to detect if a user is a scam bot or not, since the bots can always change their meathod of “attack”. By using machine learning, we can pool together tons of data to help make it easier to detect bots.


Installation

Take the model from here, and open the README script located under the model.

Steps

  1. ENABLE HTTP REQUESTS (under game settings). If this step is not done, the module won’t be able to function
  2. Modify the settings in “AntiBotMain” to your liking
  3. Watch the scam bots go down!

Contribute

To make AntiBot faster and more advanced, we need the community’s help to add more to the AI. The more data the AI has, the better it will preform. To do this, read our contribution guide here


Planned features

Some planned features in mind are:

  • Adding a “report” feature where users can report scam bots, and it will add their message to the training data
  • Optimizing the code
  • Stopping scam messages from going through
    And more!

Links

https://www.roblox.com/library/6568673615/AntiBot

Happy scam bot catching! :slight_smile:

34 Likes

I’ve always thought that neural networks may be a potential solution for the scam problem. I’m really glad someone made it a reality!
I do wonder - how effective is it as of now? I know the point of a neural network is that it adapts and becomes increasingly more effective, but I assume you have some base training data?


(this link is dead)

I am really curious how you will go about allowing public contributions, especially because it would not be hard to corrupt the training data by marking scam messages as not scams. You could easily create a bot to just flood the system with scam messages marking them as not scams - and by law of neural networks - it will eventually just start thinking those aren’t scams.

2 Likes

I didn’t personally try it out, but I think you’ll need a lot more training data than that. Right now, you only have training data of messages about people begging for robux and of some of the common bot messages.
You might also want to setup a bit so you don’t get ddosed.

And I think the two links at the top of your post don’t work

2 Likes

sorry, i’m working on publishing that now

fixed!

As of now, it works against very basic scam messages. I am adding more and more data every day, and my hope is that people from the community can help add more.

Also, another hope of mine was adding a report feature, which could add that data to our training data.

This is just a starting point to grow even bigger! :slight_smile:

2 Likes

yeah, as of now the data is quite small. i will continue to add more and more, and as more scams are found, more training data will be added.

oops. didn’t see that. thanks for the heads up!

fixed!

2 Likes

You may also check if the player is present in the while loop, otherwise it’ll cause memory leak. Nice try, though.

2 Likes

fixed! thanks for the heads up.

2 Likes

This is a really cool project, nice work!
One thing worth noting is that you’re going to want a lot more training data for it to be reliable. Right now there’s simply not that much and I can see it tripping up very often.

1 Like

Thank you! I’m working on adding much more data, and I’m adding features that will add more training data automatically (a report feature)

The community has also been really helpful in adding lots of data so far!

2 Likes

UPDATE:

To help create more and more training data, a “report bot” feature will be added in the next few days. This will help because:

  • It adds to the training data
  • It makes the AI faster and smarter
  • It removes the bot from your game

It will work something like this:

A user sees a scam bot in chat, so they report it. The report gets scanned by the AI to see if it really is a scam. If it is, it’s added to the training data, and the bot gets kicked (you can set this)

Stay tuned!

UPDATE:

Some new things have been added (Thanks to @ccuser44):

  • Optimized code
  • Preventing scam messages from going through
  • More training data
  • Banning scam bots
  • The script is now a chat module
  • Automove (no more setup!)
1 Like

No problem. Keep it up! :smile:

UPDATE:

Fixed a large issue where smaller strings wouldn’t be detected by the AI.

The AI is functioning much better now.

Hey everyone! I have decided to start working on this project again.

I will be updating some things, and it should be up and running again in the next few days.

1 Like

Does this mean there’s going to be more base training data? (Forgive me if that’s the wrong question lol I’m not experienced in Neural Networks)

What would be nice is to “hide” scam messages instead of removing them. We should allow players to unhide them if they want to as well since we have to consider and account for false positives.

Hi Jumpathy,

This means that I will continue to update the module with more training data (so yes).

I will also be fixing bugs and keeping the service running.

If you would like to help add data, head to our github and follow the CONTRIBUTE.MD file’s information.

Thanks!

1 Like

Hi Daw,

Thanks for the suggestion! Currently, the message is not sent to all users if it is classified as a spam message. There are many configurable options in the script’s settings when you set it up.

I will take this into consideration,

Thanks!

@lxgh1lxy - Bump! Reading throughout the code at src/serializer.js, I recommend changing 1000 with 0x10ffff to support all characters, regardless of them being valid or not.

By the way, Replit, the service you used to host AntiBot on, which was previously free, is now a paid service (since early 2024, view source) and the REPL will not be kept alive unless it is deployed. Therefore I recommend a VPS like Time4VPS to keep this project alive.

Wow, I forgot about this project…

I was always planning to do more with it but just wasn’t sure if it would get the interest or not. Moving forward I would probably rewrite the entire thing in python (if I do work on it) – don’t know why I ever chose javascript for ML to begin with…

Thanks for bringing me back to this, but still wondering if it’s worth revisiting or not.