[BETA RELEASE] ModerationPlus: A easy ban function

Hi there! Allow me to introduce myself…

I am achdef, a beginner programmer on the :roblox: Roblox platform, and I decided to mess up around with data stores today. Tired of just doing your own ban system, that in the end errors? Well, I got you! I’ve made a ban system but for free. Which means, you can literally ban people with a simple function, and I do not need any credits.

To start with, you need to get my model (not mendatory). Of course, you can continue reading if you wish. Now, to get this working, you will need to require the script. And no need for the model! Cause, we can directly use the ID.


Installed the model? Then, place the model in ServerScriptService for security reasons, then, to require it, do:

local ModerationPlus = require(game:GetService("ServerScriptService").ModerationPlus)

Don’t want to install the model? You can do that via a script:

local ModerationPlus = require(7833653038)
ModerationPlus.Parent = game:GetService("ServerScriptService")

There is only one function, mentioned in the name of this post, :Ban(). Now, to ban someone, you need to know some things:

  • First off, the script automatically gets the user id, so no need to worry about them changing of roblox username!

  • Second off, due to roblox’s lua things, you will need when using the ban function, to do that:

ModerationPlus:Ban(plr, type)

:warning: The types are ‘User’ and ‘ID’. ‘User’ bans the username, ‘ID’ bans the ID of the user.

  • Third off, you can abuse the command if you wish to do so, it’s not our problem again but your problem if your admins or yourself abuse it.

  • Fourth off, DO NOT SPAM OUR DATASTORE, please.

Okay, now, your wondering: Yes but how do you use this function?

It’s not a :ban command also, in case you did not notice yet. To use it, with example, let’s say there is this annoying guy. You can just do:

local ModerationPlus = require(game:GetService("ServerScriptService").ModerationPlus)

if plr.Name == "SuperAnnoyingGuy" then

Now, we did not add a reason argument yet, cause we want to keep this basic. However, feel free to suggest us for one!

Need help? Comment here!

Report any bugs to @achdef.

Have a fantastic moderation experience!

  • achdef

:warning: Please now use user ids instead of names, you have been warned. :warning:

  • Module has been updated

Okay, stop using the module please, I am fixing a bug with the data stores, you can use it if you wish but it’s won’t save.

1 Like

The module has been fixed, you may use user names only, I am working to make it with user ids too.

  • Make sure to get the module again.

Okay, I managed to fix it, however.

The usage is now:

ModerationPlus:Ban(plr, type)

The types are:

ID - User Id Ban
User - User Name Ban

You should not even include the username option as this can easily be circumvented and could potentially punish another person.

1 Like

It’s the creator choice. Not mine. That is why I am using ID too.

why cant we just do player#Kick instead of that?

It’s was a example. But if someone say a word you don’t like, then, you can ban them, and they get banned forever. Cause, a kick won’t stop them at all from continuing.

Hey! I’ve come across your resource and have a few recommendations for you.


  • Using tonumber to detect if a variable is a number or string. (Automatically tell if it’s a Username or UserId) Resource 1
  • Using PlayerService:GetUserIdFromNameAsync() to get a UserId from Username. Resource 1


  • Using PCalls to not break the script. Resource 1


  • Adding an Unban feature.

This module bans the user, disallowing them from rejoining the game until someone unbans the user, whereas kicking allows the user to continually rejoin. Useful for trollers, exploiters and more.

This module is only for banning, not ‘unbanning’, however, you can change the data store key to unban everyone.

Why not use one of these much more developed and well known modules?

This is only a :Ban() function, not a full ban module.

1 Like
What feature would you like to see?
  • RankBan()
  • Unban()
  • DisplayNameBan()
  • All of them

0 voters

What’s the point of it when you can only ban? Kinda useless if you can’t unban in my personal opinion.

What you just said have no sense at all. You said it’s can only ban then you said you can’t ban.

Spelling mistake. Should of been “unbanned”. Fixed it now.

This is not a unban module. It’s only to add a extra function for non-experienced scripters.

I’m not gonna work on this anymore for the simple reason that I am making my own ‘Squid Game’, lately, it’s really on trend so I wanted to try it out. That does not mean the module will be deleted. You are free to use it or not.

1 Like

Am I allowed to make my own version of this module?