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!
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
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]!
2023 Update
This system is nearly THREE YEARS OLD!
I cannot promise any guarantees for how secure this truly is nowadays.
If you need an admin system, it’s safer to make your own or use an existant one.
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
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
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!]
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
return
end
-- Code
end)
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.
Awesome! And yep! 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.
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?