I wonder what it’d default to if it weren’t required. If I had to guess it’s like what XenoDenissboss1 said where it’s just letting a user into that certain place, which in that case I’d assume it’d be true by default.
I’m also wondering where “DisplayReason” would be shown. I’m assuming PrivateReason is the reason shown to the user who was banned, so is Roblox gonna have a public list of people who are banned from games?
The way I see it is DisplayReason is the kick message or whatever is shown to the player and PrivateReason is only shown to the developers of the game, I hope they make it a table instead or people will just end up converting tables to strings then decompiling them later just to stash some extra data in it.
these requireds doesn’t default to anything, it’s just required
and
DisplayReason visible to the player when they try joining
PrivateReason for the dev when they query
It’s necessary though, because without durations, there must be a script that iterates every single banned UserIds and the duration, comparing os.time()
to the timestamp of the ban, every PlayerAdded
or every server start-ups which is not a good idea since the Datastore GetAsync
(or HttpService:GetAsync() for 3rd-party database systems` will be spiking up dramatically.
Especially since BanAsync
could’ve mean that the play button can’t even be clicked and instead be replaced with something else like a padlock and a ban notice.
This will not be released to users at this stage. [PENDING]
What??? Did you mean the banning api??
I made a post about this awhile ago because I had a tool with moving parts and when you equipped it, things would go flying. So I’m going to test this.
And what’s this about?
Why was the shiftlock behavior changed? It’s so annoying
Wouldn’t it be more logical to have a different duration, DisplayReason and a PrivateReason for all the UserIds?
I guess it’s to bulk ban specific cases
Would be useful if it had BanFromAllPlaces property
Pretty sure this may be the ApplyToUniverse
property.
What I meant is it would be useful to ban players from every game made by the owner
How so? I would like to know how you got this information
Amazing to see Ban APIs are finally here, so we finally don’t need to use alternate modules!
One question though: Will there be an option to check whether a user is banned or not (in the future)?
And the update is actually good. I assumed the update would be awful and the meme was a distraction but it’s rad.
Wait… That update is (Pending), so its released for users, and when it gets (Live), Then its unreleased.
10/10 Logic. Nice.
It will result in better performance/convenience when copying instances, e.g. if you want to copy a container instance which has hundreds of thousands of children. I had a lot of cases where I would’ve loved this as a feature due to the performance cost and overhead, so I’m excited about it.
It also allows you to implement :Clone()
yourself with your own filtering and rules and such so it’s pretty nice.
No, it’s probably a typo. I believe it was supposed to be part of the note above it.
No, it means that it’s still pending.
Wait I just realized hwo this can be abused, any bad actors can just do this in command bar (or backdoors during live run) and it’s over.
game:GetService("Players"):BanAsync({UserIds = {game.CreatorId}, Duration = math.huge, DisplayReason = "Ransom message here.", PrivateReason = "hi"})
- probably the owner isn’t allowed to be banned
- the owner can just log in studio and unban themselves from there