DEV Community

Cover image for ZeroPanel The Best Free Admin Panel for Roblox
sebattfg
sebattfg

Posted on

ZeroPanel The Best Free Admin Panel for Roblox

Every Roblox game past a few hundred concurrent players ends up needing the same thing: a way to kick, ban, mute and warn people without writing a moderation script from scratch every time. Most solutions are either years-old open source scripts nobody has touched since Roblox changed half its APIs, or paid admin systems sold per-game.

I built ZeroPanel instead: a free, actively maintained admin panel that installs in three steps and needs zero scripting to configure. This post is about what it does and, for the devs here, how it is actually built underneath.

What it does

  • Roles with a hierarchy. Create as many as you want, order them by rank, duplicate an existing one instead of writing one from scratch.
  • Permissions as nodes (player.ban), with wildcards (player.*) and an explicit deny. Three states per permission: inherited, granted, denied.
  • Moderation: kick, ban, unban, mute, warn. Works on players who have already left the server, which vanilla Roblox APIs don't make easy.
  • An audit log: who did what, to whom, when, why. Kept 30 days, searchable in game over 24h/7d/30d windows.
  • Commands work from the panel UI and from chat, so staff who prefer typing /ban PlayerName reason over clicking through menus can.
  • Cross-server announcements, and an optional Discord webhook that mirrors sanctions into a channel.
  • An extension API so developers can register their own actions, permissions and events, which then show up automatically in the interface for non-technical staff. The pitch to myself while building it: the dev API has to fit in 5 lines for the simple case, or it's a failed API.

None of this needs a script open once it's installed. Set up roles, permissions and moderators from inside the panel, in game.

Install, in practice

  1. Drag ZeroPanel.rbxm into Roblox Studio. It lands as a folder called ZeroPanel Installer.
  2. Open ZeroPanel Installer → How to install, copy the one line it gives you.
  3. Paste it into Studio's Command Bar and run it.

That's the whole install. No config file to hand-edit, no DataStore setup to wire yourself.

ZeroPanel installed in a Roblox game

The architecture, for the devs here

The interesting part, if you build Roblox tooling: this is not a pile of scripts glued to a GUI. A few constraints I held to while writing it:

  • The server never trusts the client. A hidden UI element is not a permission check. There is exactly one Remote entry point, validated and rate-limited server-side.
  • The cache is for display, never for authorization. Every action re-reads the source of truth at the moment it executes, even if the UI already shows a cached state.
  • No arbitrary code is ever persisted. What gets saved to DataStores is declarative data, not anything executable.
  • The Domain layer does no I/O and touches no runtime state. Roblox types (Color3, Vector3) are fine there, the contract is stable enough. DataStoreService, MessagingService, HttpService stay behind an Infrastructure layer, not out of distrust of the API, but because a network call is slow, rate-limited, fallible, and makes tests non-reproducible.
  • Dependencies point inward only. No import cycle is possible by construction, not by convention.

This is what makes the extension API safe to expose: a third-party action registered by a dev goes through the same permission check, the same audit log, the same rate limit as a built-in one. There's no separate trusted path.

Try it

It's free, source-closed for now, and lives at zerodev.tools/assets/zeropanel. There's also a written walkthrough if you want the no-coding-needed angle spelled out step by step: How to add admin commands to a Roblox game.

Happy to answer questions about the permission model or the extension API in the comments.

Top comments (0)