ModTools (Ban System Plus) [VERSION 1.0.2 RELEASED!]

Original tutorial is here

I’ve used the tutorial listed above to make a gui for you all! Many already exist but mine includes an extra feature and easy settings.

To use it, just place it inside your game!
If I release an update, you have to drag the “Settings” ModuleScript out of the original script and put it into the new script. This is only required if you change any settings and would like to keep them, though.

How to use ingame:

To use this ingame, just click the little wrench in the topbar and the menu will appear! /menu doesn’t work anymore.

To change settings, please change them in the “Settings” modulescript!


Version 1.0.2 (Latest):
Version 1.0.1 (Bug Fix 1):
Version 1.0.0:


Version 1.0.2 (Not a big update, only difference is the new topbar icon):

Version 1.0.1:

Version 1.0.0:

Things to add soon?

A few things I have in plan to add is:
- A list of every banned user, so you know who is banned and who isn’t
- Localisation??
- Fly and gear givers for admins so you can go places easier…??


Changelog for 1.0.2:

  • Using Topbar+ to make the gui easier to access!
  • Changed name from Ban System Plus to just ModTools / MT.

Changelog for 1.0.1:

  • Added kick & warn to make it easier to give a small notice to players!
  • Lowered the duration limit to 0.25!
  • Fixed all strings that say “inf”
  • Added 3 new settings:
    • “ShowLiftedBanMessage”: Toggles whether to show the gui when you’re unbanned or your ban duration runs out.
    • “AdminMenuCommand”: Change the command you have to use to access the mod panel. By default it is “menu”.
    • “BlurOnMessage”: Toggles whether it blurs the players screen when theres a message on screen (excusing the menu and warn)

If you find any bugs or have any concerns, please reply and tell me!
This will always be free, and if somebody tries selling this to you, please report them.

Thank you for using ModTools [1.0.2]!


Can you ban people not currently in-game? Also, can you pass decimals as durations?


Yes and yes! It goes off of Players:GetUserIdFromNameAsync() and if the player is in the game while being banned, their character is destroyed. Using decimals like 0.5 will make it half a day, just don’t make it any lower than 0.5 or it wont let you ban the user. Also, typing “inf” or not putting in anything into the Duration box will make it permanent


Awesome System! I will definetley use this for my game!


Very excited to use the scripts behind this system in my game where I’m currently working on.

Are you also planning to add other moderation features in it?
Kicking and warning would be amazing and definitely fit in the cool UI!


Sure! There was implementation to add a kick that you could use, but I just realised that it was fixed when you cant make the duration less than a half a day.

I also plan on making it have an autofill dropdown so you can select any player easily


Guess what?

Ban System + has gotten a new update already! It adds a kick, and warn function and a few extra settings. Please tell me if something doesn’t work and i’ll try to fix it. Thank you for using Ban System + [1.0.1!]


Very useful, I will definetly use this! I can moderate people now. I will change some things to fit what I’m doing but other than that looks great :slightly_smiling_face:.

1 Like


Bug Fix 1 removes the automatic owner feature as it doesn’t work in unpublished games.


You can check RunService:IsStudio() to see if the game is running in studio, and, if so, you can treat users with a UserId <= 0 as the owner of the place.

Also, I’m pretty sure an exploiter should be able to circumvent your ban window by simply disabling it and can forcefully regain control to their character as well which kind of defeats the purpose of this. I would suggest, maybe removing the Player’s Character and emptying their PlayerGui and Backpack (server sided of course). That would prevent them from interacting with GUIs, or using Tools, or otherwise interacting with anything in the workspace.

Additionally, you could provide a little API for developers using your tool so they can cancel remote requests, for example, BanSystemPlus:IsPlayerActive(player), and that way you can allow developers to cancel remote callbacks.

Example usage:

event.OnServerEvent:Connect(function(player, arg1, arg2, ...)
	if not BanSystemPlus:IsPlayerActive(player) then
	-- Code

Lastly, and this would likely be a bit more challenging, you can use the chat modules in the game and mute the player so they can’t speak at all. I don’t remember if they can chat in the main chat channel (and use commands), iirc they can so not a problem. That’ll prevent them from sending chat messages to people.

But, if they can’t you can then maybe shove them into a banned channel for just them, for example, give it the name Banned-{UserId}, and allow them to use commands that way. Again, I don’t think that would be necessary so not a huge deal.


Normal players cannot chat while being banned, and thank you for the suggestions, ill get working on 1.0.2 right away!

I plan on kicking the player if it detects the character being added again and making the ban 2x longer.

Also, clients cannot use LoadCharacter(), so it should be good in that department!


Awesome! And yep! :smile: If you remove the character the only way they should be able to get a new character is through server code (e.g. a server script calling LoadCharacter) so it might make sense to connect a Changed event to their Character property and ensuring they don’t have a Character ever.

I like your project, I wouldn’t have ever thought to implement my own kick system instead of just using Kick but it does allow for some interesting applications.

1.0.2 has been released as a smaller update!

If you haven’t noticed, it was renamed as well.

Thanks for using MT 1.0.2!

also a friend of mine gave me an idea of what to add so its on the to-do list of, 1.0.2 was a bit rushed, sorry!


Your system is really nice. I put it in a baseplate to test it and it’s amazing.
I will implement it in the game where I am working on today! Do you want credits?

1 Like

No, its alright, just dont remove them from the script :happy3:

Super awesome but would love a more clean and modern UI!
Functions are great.


I am loving to see this come to action!!

1 Like

I cant get it to work nothing pops up

1 Like

Put your name in the settings of “Admin User”.


Still didnt work on my end. I did what you said its that nothing poped up