This would work, although it would be a relatively over-engineered solution for what appears to be a trivial inconvenience. Perhaps someone could make a module for this in #resources:community-resources
The rejoin server is a manual button, and most players will just leave and that could heavily impact your like/dislike ratio.
Also, you could get kicked, rejoin and get kicked again as roblox usually tries to fill servers as much as it can.
Just have mods on the game, it is impossible for anyone to monitor every server on your game if it has, say 1000 players and each server has a total of 8 players, as that is 125 active servers you would have to be monitoring all at once.
Best solution to this:
- Add votekicking to the game.
Just so players can kick cheaters without a moderator having to be present or a report having to be filed, do have logs of the Kicker’s username, Kicked persons username and the reasons though, so you can ban players who are abusing the votekick system.
- Have a video proof required to be sent to moderators when reporting a player.
This is both to verify a person is cheating (And not just skilled) and stop false bans based off accusations.
- If your game uses multiple places in an order like this:
Place 1 (Start Place) - Lobby
Place 2 - Game
You could develop a system using messaging service to find servers a number of players less than X, and skip that check if a user is a moderator, when a server has been found, teleport the player.
If the server wasn’t found, create a new server.
If your game does not use multiple places, don’t bother doing this.
You don’t get kicked, you just get teleported.
To help explain what this does: This part of the script works when the player count is 1 less than the max players. if the player is a mod or higher, it lets them in saying the message “Moderator slot filled.” If the player is not a mod, it just teleports them to a different game, not kicking them whatsoever.
This system could work like other systems where the mod joins a game with tons of reports (sent via webhooks) and checks to see if a player is hacking. The webhooks could add to a total count of reports and it sends the mod to a server with the most reports each time they click one of 4 buttons. These buttons could either clear the player, keep suspicion on the player, kick them, or ban them.
I agree with this 110%. This is a good way to get rid of hackers quickly. Also each vote could be counted as a report. The problem is spam accounts will flood the server with reports, so I would make only higher level players able to do this.
This is not needed if you use the system I mentioned earlier, but could just add an extra layer of security to your game.
If you do this then you won’t need the teleporting system and you would just need 1 open slot in the game servers. This would allow mods to quickly travel through the games played unfairly.
local PlayerService = game:GetService("Players")
local ModeratorSlots = 2
local ModeratorList = { }
PlayerService.PlayerAdded:Connect(function(player)
if #PlayerService:GetPlayers() == PlayerService.MaxPlayers - ModeratorSlots and not table.find(ModeratorList, player.UserId) then
player:Kick("Server is full, please join back later.")
end
end)