Introducing the Ban API and Alt Account Detection

How would I know if a player is banned? So I can make a ban/unban system purely on the server?

This actually also happened to me once, it was just due to the exploit that was around during the start of 2023.

1 Like

I suppose this could work, but a built in way of doing it would be much better (especially for games that don’t have a data store to store data for every single player).

1 Like

I understand wanting to have a filter; however, I think certain things should be excluded such as dates and times. A lot of devs, including myself, like to include unban dates in the kick message if the ban is only temporary. Dates and times seem to always trigger the filter.

If you implemented this check into the filter algorithm, that would be of great help.

Example:

Edit: Another, more practical idea would be to add a new settings parameter in the configs called “IncludeUnbanDate” (or something along those lines) which would use the ban’s duration to automatically format and display a date in time in the player’s timezone at the bottom of the kick message. (If the duration is -1 (permanent), this parameter would be ignored).

1 Like

You’ll need to get their ban history and see if the first item in the page has Ban == true
For bans with duration, I’m not sure if you have to compare times or it will log an unban by itself

Thank you for the addition, just in time as I was about to code myself a database for bans.
One question though, how does the alt detection work?
Does it match IP, HWID, or any form of identification?

How would you display who banned the user??

This is a great update and something that I have been waiting for a few years!
Some features that I think should be added are:

  • A boolean parameter in BanAsync that bans the player from all other games owned by the Roblox group or Roblox player that owns the game. (Something like ApplyToOwnerUniverses.)
  • A banned accounts listing feature (listing the alt accounts banned, like returning a table after using BanAsync).
  • I also find these features a good idea to impliment:

Nonetheless, the BanAsync function includes almost as many parameters as I need.

1 Like

This one, no. It would be unfair to be banned from other games by that same dev or any other because of something you did in one particular game. This should be added by the creator instead, the abuse of this great API will be worsened with this feature as even “detected alts” cannot join the game. What if a genuine player gets banned from all places from some unfair bs?

I agree with this. Too many players banned may return a table so large that may crash studios or the calling scripts, if this is implemented it should be split up.

Within either the reason or the private reason

Most likely those or logs somewhere in the system. Tbh they could easily be bypassed via vpns and spoofers

1 Like

The alt account detection system is a joke right now. I have tested it myself and it’s worse than I have thought.

So here is what I have done, since HD admin now uses the Ban API and has an option to ban alt accounts, I have banned one of my alt accounts from my main account, after that I got instantly kicked from the test game. The alt account detection system decided to ban my main account which is the owner of the game in addition to the alt that I banned myself but when I tried to enter the game using a second alt account I was still able to join. Again I’ve tried entering the game with a third alt and I was still able to enter it. All of the 3 alt accounts plus the main account are logged in and can be accessed using the account switcher. This was all done on the same device, at the same time and without attempting to change or spoof addresses.

This proved that it is not hard at all to bypass the alt account detection system and in some cases you don’t even have to try at all. I hope this is going to be addressed and the system is going to be improved.

1 Like

They wouldn’t say officially, since that would inadvertently tell people how to bypass those checks

sir there are two individuals typing on on this post and they have done it forever, plz save them

1 Like

(post deleted by author)

It is very easy to speculate however

I gave you two a pass but this is unacceptable. I have been waiting for days for your replies. I assume they will be ground-breaking. Earth-shattering even.

1 Like

Let them be!! They are expressing their gratitude for this release!!

I’ve got a couple of ideas that could make the CloudAPI a lot better:

  1. Dynamic active Parameter:
  • Right now, the active parameter stays true forever after a ban (based on my use), no matter how long it is supposed to last.
  • It would be better if the active parameter could automatically switch to false when the ban time is up. This way, it would show whether the ban is still active.
  1. Editable moderator Parameter:
  • To my knowledge, we can’t change the moderator parameter at the moment, and it appears others are also confused about this parameter.
  • It would be helpful to be able to write to the moderator field. This would let us log more info about who issued the ban, making everything easier to track.

Here’s an example of what I’m talking about:

  {
    "user": "users/156",
    "place": "1",
    "moderator": {
      "gameServerScript": {}
    },
    "createTime": "2024-01-1T12:00:00.000Z",
    "active": true,
    "startTime": "2024-01-1T12:00:00.000Z",
    "duration": "60s",
    "privateReason": "Walking through walls: https://youtube.com",
    "displayReason": "Exploiting!",
    "excludeAltAccounts": false
  }

  {
    "user": "users/156",
    "place": "1",
    "moderator": { // Information about the moderator
      "id": "users/1",
      "name": "Roblox",
    },
    "createTime": "2024-01-1T12:00:00.000Z",
    "active": false,  // Assuming the ban time is over
    "startTime": "2024-01-1T12:00:00.000Z",
    "duration": "60s",
    "privateReason": "Walking through walls: https://youtube.com",
    "displayReason": "Exploiting!",
    "excludeAltAccounts": false
  }
3 Likes

Roblox documentation remake?
Wasn’t working on anything like that, since the current one run by Roblox themselves works mostly fine.