If a user misbehaves, they get banned. However, I am having trouble deciding what the implementation would look like. I have several ideas each with pros and cons. If a player is banned at the time, the options are:
Not load their character and show them a 'banned' screen
Instantly kick them
Teleport them to a 'Banned' map
Option 0 is the most flexible. If I have a ban screen I can provide an 'appeal' button or similar, and I can adjust the ban screen to suit the game. However I question the security of this method, because it relies on disabling CharacterAutoLoads, and if the player hacks to remove the GUI and force their character to load, the ban is circumvented. Their username also shows up in the leaderboard while they are banned.
The most secure and intuitive way is option 1. Instantly kick them, so they do not really have an opportunity to attempt to work around the ban. However, biggest issue of this is it would be nearly impossible to provide users with a way to appeal their ban or ask for more details about why they were banned.
The last option, option 2 is also potentially flexible, but I question if it is possible to simply deny the request to teleport to another map.
I am not sure which ban implementation to go for, which should I use?

3 comments
Ban screen can be easily exploited, the kick method is just more efficient
Your best method is to boot them. That's how the significant majority of ban systems operate. If you're looking to add an appeal system, you can include instructions in the 'Message' parameter of the 'Kick' method which could possibly direct them to a Discord Server or suitable web-service.
@aurich98 A GUI can be removed with a simple clienside hack, but would not loading their character, so they cannot do anything, even if they remove the ban screen, be feasible?