What do you guys think would be the best way of making a global system, such as banning?

Hey! I own a game with a fairly decent sized player-base, meaning I cannot have a moderator be in every single server. I plan to expand the anti-exploit more in the game, but I also need to implement some type of moderation system. I was trying to think of some ways I could create a global banning system.

Would it be best to use an outside HTTP source that logs every ban, or what?
I’m looking not for the easiest option, but one of the most optimized and reliable solutions.

Any information helps, thanks for reading!

3 Likes

You could log them VIA Discord WebHook, or you could buy a hosting server and then send HTTP logs there, and display them on SQL or just create a site and log everything there.
Easiest would be Discord Webhooks, easy to use and set up. Best would be creating a site and logging everything there.

2 Likes

A lot of people use discord however most people here seem to be against it as discord has started cracking down on “API abuse”. Essentially banning people for abusing the webhook/selfbot systems. Trello is pretty popular to log/store all bans. I personally use it to update bans live in the game and use it as a log for all ban reasons in the card descriptions. Just warning though, lots of cards = lots of lag on the board. Hopefully this helps.

A cross between DataStores and MessagingService to keep everything in-house. Nice and simple. That is, unless you need it to work across games as well.

2 Likes

This can work if it’s just a single game, but I don’t think it would work too easily if he made a banning system, and wanted to unban people.

Yeah so in that case, he should have a website, and then send HTTP to Roblox to unban people from the site, and then log all bans and unbans on the site. That wouldn’t be the easiest, but it would look amazing and clean for all the mods.

GlobalDataStore.RemoveAsync

1 Like

I would suggest trello. Roblox to Trello Guide

2 Likes

If you wanted to go the route of pure datastores, you could create a ordered datastore of ban data.

The key would be the userId and the time would be the value. To ban someone, add their userid key with the current time. To unban someone, simply remove their userid key. This method would also allow you to sort the band from oldest to newest or vice versa, and would display up to 100 at a time.

3 Likes

You should look into Firebase. There’s some modules to let you connect to it.

Firebase is a professional tool with proper databases.

Now here’s something I’m saying with a passion:
Trello is not a database and should NEVER use it as such
It’s really insecure and lacks any proper database management tools.

1 Like

you could use a webhook to tell in the discord when someone gets banned, and use a datastore for the banned player list.

I really don’t understand(probably because my communication skills)
But to make ban, just put baned player id to datastore with value true and when new player join put the value to var and then [your var] or false
And if your war ==true just kick him (his humanoid:Kick(reason)

Discord IS NOT a logging service, Imagine several people getting banned at once. That webhook will probably be blocked by the discord team

2 Likes

Personally, I use a better-sqlite3 database to store my bans outside of Roblox and a REST API connected to it. Simple and fast.
Here’s an example of a REST API that I made:

Application.get("banstatus/:userid", (request, response) => {
     const Headers = request.headers;
     const BanInformation = Database.prepare("SELECT * FROM RobloxBans WHERE id = ?").get(request.params.userid);
     if (Headers["authorization"] !== "Secret Code") {
          response.status(403);
          return
     };
     response.status(200).json(BanInformation);
});

I’m using it for multiple games.

1 Like