Introducing the Ban API and Alt Account Detection

YOOO LETS GO! This API is out! Can not wait to use it and will definitely be very helpful to use in certain conditions. W Roblox. :clap:

W update. I expect abusers to calm down once they see their alts are no longer viable.

Ok so hear me out.
I’m not 100% sure if anyone else has issues with dislikebotting but if I ban somebody’s main account from my experience will they also be prevented from rating the experience?
I’m out of options because Roblox support tells me they can’t remove dislikes.

1 Like

This is nice and should’ve been added about 14 years ago but why is it that Roblox is getting so involved in the ban reason?

Having a sibling misbehaving while playing one of your favorite Roblox Experiences isn’t going to end well, right? I don’t believe Roblox will be able to tell the difference between an alt and another family member’s account.

I feel that developers shouldn’t be allowed to permanently ban people and their “alts” from their experiences, due to false positives on which are alts and which are just another family member’s account. I know the FAQ says that the system is currently set up to minimize false positives. “Minimize” still means false positives, and it’s understandable that there will be false positives since it’s all guesswork.

I know it’s possible to contact the developers of that Experience if your account has been falsely accused of being an alt and then getting banned, but the developers can’t feasibly check if that person is a liar or if their account really has been falsely accused of being an alt. Maybe I’m just missing something obvious?

But, even if there was a cap on the length of time that a player and their alts can get banned for (which is the situation I’d want, if it wasn’t for a major workaround), then the programmers could still get around this by setting up code to temporarily ban that player and their alts again. It would work like this: Once the ban is over, the alts would be able to play again, but if the originally banned player shows up again, the code could automatically ban that player and their alts again. The code will be able to do this if it is set up to save information to a Datastore that signifies that the player got banned in the first place (or just check their ban history), and when that player joins again, the code will check that Datastore and automatically reinstate the temporary ban again, resulting in the original player and the assumed alts being temporarily banned again.

TLDR: I’m not really sure how to feel about the combination of permanent bans and alt banning due to the false positives that are going to happen. I definitely understand the use case for people who just make an alt account to avoid a ban they’ve gotten, but I’m scared of the bans that the “alts” that are actually just a sibling’s account will get, and how hard it’s going to be for the developers to tell these two situations apart when they appeal their ban.

1 Like

I have waited sooo long for this

Accha hua, Roblox

We are so back!!

Ik we won’t get any response to this but how exactly does this work? can’t someone just spoof or use a VPN?

How will this work? Will there be a way for use to add a link to a google forum or smth? I feel like there aren’t a lot of good ways to do this :confused:

(Just want to add that I love that Roblox took our privacy into consideration)

Good.

Will there be a way to disable this feature for an experience? This could allow abuse from backdoors or team create developers abusing the API to ban other developers/owner.

1 Like

This is a game-changer! I’m excited to use it! :+1:

Alternate accounts can be unbanned without the root account being unbanned, it was mentioned somewhere in this post.

Any anti-alt system can have false detections. Valorant (Riot Games) uses HWID bans, which is similar to a Roblox poison ban, despite the side-effects of the system it succeeds in keeping the game (mostly) cheater-free.

The alternate account detection isn’t forced upon developers, they are able to chose to not use it, but ultimately it’s also not up to Roblox who the developer bans, so making the argument that other users in the same household may be banned, so we shouldn't give them anti-alt at all doesnt really make sense.

Finally, it’s already been tested and i’m fairly sure the anti-alt doesn’t rely on the HWID of a user, nor the IP (or account switcher… or anything device based for that matter). also making the above argument void as it would be caused by device-wide bans.

1 Like

so banning my main and then logging on an alt in an incognito tab bypasses this.

to be fair though, im against fingerprinting through browsers, and it certainly has no place on a children-friendly website. it’s a double-edged sword though, because this api is banning a total of zero alts. i doubt there’s use of IPs, HWIDs, or even cpu startup time when trying to detect an alt.

This is an XY problem. Roblox should never support this suggestion.

Backdoors can already create their own bans and even make it silent by crashing your game with lag or invoking system errors which kick you and make it look normal. The real problem is backdoors and unauthorized requires. Roblox should instead make a setting to prevent requiring modules by ID.

1 Like

Seems like whenever I try and use BanAsync, it only kicks me from the game and doesn’t ban me. Is anyone else having this issue and how do they fix it? I just get a kick message telling me I was kicked and nothing about a ban. I can rejoin as normal. Is this a bug?

heres my code someone tell me if I did it wrong please :>

--set up ban configuration
	local config:BanConfigType = {
		UserIds = {targetUserId},
		Duration = banLength or math.huge,
		DisplayReason = rawMsg,
		PrivateReason = `@{targetName} was banned with message: {rawMsg} by admin: {admin.Name}`,
		ApplyToUniverse = true,
		ExcludeAltAccounts = true
	}
	
	--ban the player
	local success, result
	local attempt = 0
	
	repeat
		success, result = pcall(players.BanAsync, players, config)
		attempt += 1
	until
		success or attempt == 5

are you running this in studio? also maybe remove banLength or math.huge and just set the number to 600 for 10 minutes.

unrelated but roblox lets you access variables within the repeat scope, so you can remove the local success, result and just add local to the one inside of the repeat scope.

Nice update, now we would like to see a custom shader support.
Since you already have a Highlights and stuff.

You don’t even need to use incognito to bypass it. Simply creating a new account was enough to get past it. We tested it and found it banned only 20% of the alt accounts we tried, and we weren’t even trying to bypass it. We just switched between accounts and it… didn’t detect them at all.

Tried both in studio and in Roblox. The other suggestion didn’t work.

btw ik about the other thing u said I just think it looks nicer and more structured don’t judge me :>

Alt account detection is weird. I banned my main by joining a game, switched accounts expecting it to not let me in however it did (this was on mobile) then using the roblox app on my pc I joined the game and it says I was banned because of the main account being banned?

i made a post before this feature was released that it’ll only detect accounts added through this feature:

image

but i just tested it and it wasn’t banned.

my two cents are that roblox will roll out more ways to detect alts and this feature will automatically become stronger as time goes on, without any need for updating on the developers end.

Your codes not correct. Why are you passing the players service inside it’s own function?

success, result = pcall(players.BanAsync, players, config)

should be:

success, result = pcall(players.BanAsync, config)