Is it possible to create a CAPTCHA on your experience?

Hello fellow developers,

My question is simple and I think I already know the answer I wish to just check to ensure I have not missed any possible things. The question is, is there any way you can create CAPTCHA system for an in-game experience. I have been thinking about this ever since I saw a while back like 2-3 “working” CAPTCHA systems for in an experience. Reason why I put working in questions mark is because they can easily be bypassed/hacked by a bot so don’t really work.

From my personal experience and research, I don’t think there is any real way to make a fully working CAPTCHA for a few reasons but the main one being the way that Roblox work. There are a few possible ways you could by theory but all of them will not work as well as needed (which I will explain later). The possible ways by theory are (ones I have found):

  1. Create a text label and in this table have text they have to write in and submit

  2. Create some type of image which text that is not super clear to read (so AI cannot/reduce the chance of them being able to understand it)

  3. Create some type of audio that the user has to listen to and then fill out what it says

  4. Create some type of simple math that you have to complete

Now onto the issues. Below I will go through each method and explain why it cannot work.

Method One (Text Label):

The main issue with this method is quite clear and is that a bot could easily get the text via the property .Text and then just auto put it inside. Most of the methods I have seen in the past uses this method to work but like I said it is super easy to bypass and automate a bot to do this.

Method Two (some type of image with text that is not clear to read):

This method is the main way that is commonly used for websites CAPTCHA’S however the issue is, the way that Roblox auto moderation works + the way that images work this is not very possible to do. Roblox auto moderation often flags decals that have something that is not clear because the system think you are trying to bypass the auto moderation so due to this it is not super possible. Also due to the way that the client and server works + the way you have to upload the decal, if someone really wanted to they could make a large list of all the captcha images (with the solution/text) and then just get the text from that.

Method Three (audio):

The issue is like in method two in the way that using audios inside of a Roblox experience works. You have to upload the audio onto the site meaning if someone really wanted to they could just make a large list with the answer in and bypass it via this way.

Method Four (math question):

Issue with this is that it is just way to easy for a bot to complete. It is super easy for a bot to complete a simple (or even complex) math question so really there is no true way you could do this (and we then either come back to the text or image problem in regards to how to show the question).

Method Five (complete a task):

This is the only possible way I think by theory you may be able to do it. If the bot can’t see the way it is around then you could do this (issue with this though is that it may be as simple as just turning the image around until the values it is rotated are back to normal so this may also be bypassed easy).

Conclusion of post

So really my question is, is there any way of doing an in-game CAPTCHA? Due to the way Roblox works I really don’t think there is a way so please let me know what you think or if you know of a possible way also let me know.

2 Likes

I’m sure you can do it, but making it different everytime would be extremely hard. I imagine it would be like this:

Audio:

  • Play a sound of somebody saying a word
  • Ask the user what the word was

Visual:

  • Show an image of a word or object
  • Ask the user what the word or object is

Math:

  • Find the roots (x-intercepts) of the following trinomial using the quadratic formula, (round to the nearest thousandth): x^2 - 9x - 3

The issue is that, an exploiter would be able to eventually get all the possible answers and automate it. Making it effectively different every time without it being too easy to automate by an exploiter, as well as making it possible by humans and mobile users, would be a very difficult task.

Personally, I’ve never seen a captcha in any game I’ve played, even outside of roblox. Only on the web have I seen that.

Besides, the exploiter could just complete the captcha for real, and then hack afterwards. It would only be effective on bots.

1 Like
  1. make a request to your server
  2. show user a new id from the response
  3. User inputs id to your website and solves captcha
  4. User presses gui button to check if they’ve solved the captcha
2 Likes

Yea I completely agree with you. Like I said in my post there is just really no way I think of doing this because of an exploiter being able to find for example the audio asset ID and then just automate the bot via that way. Sure it would take time but possible if an exploiter really wanted to do it.

Me either which I think is because people don’t really want to be playing and then have to complete a CAPTCHA. I was just thinking by theory if you could get the CAPTCHA system sorted out then you could add it in an anti spam system in-chat or something as it would not massively cause issues with gameplay.

2 Likes

Issue with this is that you can’t lead users off platform to some type of site (meaning that the captcha would have to be done inside of the experience not outside inside of a website). So this solution would kinda work but as it is against the rules you would not be able to do that.

2 Likes

True, but his response gave me an idea. Maybe ask the user to verify with discord, or join their group to access certain features of the game? Both of these require online captcha verification.

1 Like

It’s a very interesting topic
I have an idea, you can make 100x100 grid with frames. This grid will display objects, like an apple, orange, banana, etc.
Those objects will be contained in dictionary tables on server, and will be slightly altered. Some pixels will be random or several blocks will be mixed.
And when player askes for a CAPTCHA, he gets that dictionary, the colors are shown on the grid (Frames[i].BackgroundColor3 = dictionary[i]) and player will be asked a question what object is that. The answer will be sent to server, and if it is correct the CAPTCHA is complete.

Pros:

  • Altering the colors will help to prevent detecting what object is that using exploits. You can insert some red and green colors used in other fruits into banana.
  • You can generate infinite amount of those captchas, moving object a bit to the left, or tilting object to other colors.

Cons:

  • Takes a lot of memory on the server
  • Sending all that information to client may be a little too heavy sometimes.
3 Likes

Most of the Roblox players are under 10. They won’t even know what that math is, let alone be able to solve it. And teenagers don’t want to spend 30 minutes trying to solve a math problem just so they can play a video game. That’s a horrible idea.

3 Likes

Yea, that’s why it was in a spoiler. (It’s a joke!) People can make a script to solve them, so it would be the easiest captcha method to automate.

1 Like

Issue with the group is that is easy to bypass (joining a group is very easy to code via a web server and purchasing captchas solvers on a site such as 2captcha which is not super expensive if someone really wants to bypass the captcha). Also it would not be a captcha really if they where to join the group.

Also with Discord is that not everyone has it and you would be basically forcing them to join your Roblox group or Discord server which I think is also against the rules.

1 Like

The bot could auto-solve this though not? Cuz like I said in the image solving section of this post, an exploiter could get the ID’s of the images/decals and place them so that it just has to check for the image ID when solving automatically.

Also in regards to color, it is very easy to get the color of something via the color propriety that instances have so this would be pointless as it could just get hacked easily.

1 Like

Why though what is the point you will most likely just lose players because it can be glitchy

1 Like

load the captcha image with 1x1 gui frames that represent pixels

1 Like

There could be many reasons by theory. Now I don’t at all recommend that a CAPTCHA is needed to play the game you have to solve it because like you said it will very likely cause you to lose players but if for example you create an anti-bot system that detects if a player is mass spamming in chat (which is often what bot do in-game) then rather then just kicking the user (which is fine but if it is false then you would lose a player) then you could just make them complete the CAPTCHA.

Also I personally would not add a CAPTCHA to mine unless I had issues with mass bots I was just wondering if anyone had any ideas that would work because I saw loads of posts before of people making CAPTCHA modules for them to just be very easy to bypass.

1 Like

Yea but we then come back to the problem of that it is very easy to bypass by seeing the color of the frames or the image that was uploaded? Also you would be loading in mass amounts of frames that could take a hit on performance.

1 Like

Excuse me? Did you read the post entirely?

  • This method doesn’t use images, it uses frame grid. We make a grid of 2x2 frames and color their BackgroundColor3.
  • There will be no matching colors. Why not make a purple banana? If it’s form and shape looks like an banana, it will be recognizable by a human person. You can add distortion to image, mix some colors, so the color matrix will never be the same.
3 Likes

No it is not easy to bypass seeing the color of the frames, this is raw image data, just like the google captcha

1 Like

Yes off course I did but this would still be easy to bypass? Please let me know if I am mistaking what your saying but from what I read your saying that you should create objects through the usage of colors? Even then, the patterns will be the same and I am not totally sure how you plan to create objects out of colorson a 2x2 frame? Issue in general is still that you have the proprieties that can allow the bot to detect it.

Please let me know if I am incorrect but from what I can see this is not really a possible solution.

Sorry could you explain what your talking about? I am confused on what your talking about in regards to “raw image data”?

Its just a bunch of pixels that make up an image, a captcha image… the same as Accoast’s solution but with an actual image from your web server

I think you are confused

the blue rectangle image (captcha image) being a gui made up of 1x1 frames
(Optimize it by using larger frames for repeating colors)

2 Likes