Admin and command systems

How a game's own staff commands, admin panels and chat commands decide who can run what, against whom, and with which values, from admin remotes with no permission check at all to rank checks that fail open. Powers given to accounts outside the team are covered by Powers given to accounts outside the team in backdoors.

Back to categories
How to limit Roblox admin commands by staff rankcritical

When every staff member can run every command, a trial moderator can ban the owner. How to give each command a level and stop staff acting on higher ranks.

Why admin checks should use UserId, not namescritical

Display names aren't unique and usernames can change or be matched by prefix. How to recognise staff by UserId or group role instead.

Why admin checks must fail closedcritical

A group role or staff list lookup that errors can let anyone run staff commands. How to treat failures, missing data and unfinished loads as no permission.

What private server owners should be able to changecritical

Private server commands that give coins, pets or levels let anyone with a server farm saved progress. How to keep owner commands to things that end with the server.

How to secure admin commands and admin remotescritical

Admin panels that are only hidden on the client leave their remotes open to everyone. How to check the caller on the server in every admin handler.

How to secure admin chat commands in Robloxcritical

A hidden TextChatCommand alias isn't a permission check. How to check the speaker's UserId or group role on the server before a command runs.

How to match player names in admin commandswarning

Partial names, display names and Luau patterns make commands hit the wrong player. How to match usernames exactly or refuse ambiguous matches.

Why removed staff keep their powers until they leavewarning

Group rank and role lookups are cached for the session. How to revoke staff powers straight away with a revocation list.

Why tonumber isn't enough in chat commandswarning

tonumber accepts inf, nan, negatives and exponents, and math.clamp lets NaN through. How to read numbers from commands safely before they reach saved data.

Each guide covers one problem. Fixing every one of them makes a game harder to exploit, but it doesn't make it secure on its own: review your own game logic too.