| In-game admin panel | Join our Discord |
Seventeen sections behind one command. Players, permissions, plugins, console, ConVars, a live server map, ESP, Vanish, an entity hammer and your own custom buttons - all in a single panel that opens in half a second and never asks you to remember a console command. Every page and every action sits behind its own permission, so a junior moderator gets exactly what you hand them.
| 17 · sections in the sidebar |
| Dashboard | Live console | Players | Vanish |
| ESP | Server map | Binds | Admin hammer |
| Inspect tool | Permissions & groups | Logs | Plugins |
| ConVars | Quick buttons | Appearance | Settings |
| Bans DLC | Freeze DLC | Whitelist DLC | Add-ons appear here once installed |
| 01 · Out in the world |
Most moderation does not start in a menu. It starts with you standing in front of a base, a player or a locked crate. Four tools cover that, none of them needing a client mod.
|
Vanish that actually removes you
Out of networking, out of colliders, out of entity queries and off the AI's list, so NPCs stop shooting and forget you were there. Radiation, cold, wetness, hunger, thirst and drowning stop touching you, and everything is restored exactly as it was when you switch it off. Optional silhouette so other admins can still see you, optional auto-vanish on connect, optional lock opening and noclip riding along.
|
Admin hammer
Hold a hammer, look at anything, and the HUD reads out owner, position, health, upkeep, power, who is authorized, the code lock codes and the full contents of the container. Shift+R arms a mode, Shift+LMB runs it: delete, delete with gibs, delete the whole linked structure, or on a hackable crate unlock it now and set its timer to any value.
|
|
Inspect
Look at a player and act without typing their name. E opens their inventory, RMB opens their full management card. An on-screen hint always says which key does what.
|
Server-side ESP
Drawn through the engine's own debug draw, visible only to admins holding the permission. Players and sleepers with name, HP and held item; loot, boxes, cupboards, bags, traps, stashes, NPCs, turrets and vehicles. Adjustable radius, opacity and text size, colour-coded enemy, team and admin.
|
| 02 · The player card |
A searchable, paginated roster of everyone the server has ever seen. Open a card and you get their SteamID, live status, session and total playtime, total Rust hours from the Steam API, groups, first and last seen, and their IP behind a separate permission. Underneath sit the actions, and each one has its own permission of its own.
| Heal | Set, max, add or subtract HP | Give | Full item picker with categories, search, favourites, skins, custom items and a cart |
| Kill / Strip | Kill the target or clear the inventory | Blueprints | Unlock or reset any blueprint on a visual board |
| Teleport | To me, to player, to coordinates or to where you are looking | Vitals | HP and metabolism editor that respects each stat's real limits |
| Mute / Kick | Timed or permanent, with reason templates and notify routing | Modifiers | Metabolism modifiers with your own duration and value |
| Inventory | View and edit main, wear and belt | Permissions | Grant per-user permissions and manage their groups |
| Spectate | Jump into a live camera, press R to leave | Markers | Drop a note on the map against that player |
| 03 · Server map |
The real map with real positions, the Deep Sea zone included, zoomable to x4. The Deep Sea zone now follows its real open state and shows the time remaining before it closes. Layers switch on one at a time so you only look at what you came for, and every marker is clickable.
|
Layers you switch on one by one
Players, sleepers, cupboards, bags, stashes, shops, events, map notes, and vehicles split into cars, horses and air. Boats, submarines, trains, helicopters, the cargo ship and the cargo plane each get their own icon with a heading arrow showing where they are going.
|
PVP and raid heat
Built from real kills and real explosive damage over a window you choose, so the map shows you where the server is actually fighting rather than where you guessed it was.
|
|
Same actions, straight from the map
Search a player, click their marker, and the card next to the map carries the actions you picked - up to sixteen of them, chosen in Settings.
|
Grouping instead of clutter
Cupboards, bags and stashes can merge into counted cells rather than a thousand overlapping icons, per layer, whenever a wipe gets old.
|
| 04 · Running the server |
|
Live console
The real server console in the panel, tabbed into all, chat, commands, connections and errors. Search it, wrap it, export it to a file, run commands inline, or pop out a draggable mini-console and keep it on screen while you work.
|
Permissions and groups
Every permission on the server, grouped by the plugin that owns it, searchable across thousands of entries. Toggle per user or per group, create and delete groups, set parent inheritance.
|
|
Plugins and ConVars
Every loaded and unloaded plugin with title, author and version, loaded, unloaded or reloaded with a click. ConVars browsable by category, paginated and searchable, edited in place and persisted across restarts.
|
Dashboard and logs
Online and max players, sleepers, admins on duty, new players today, server FPS, entity count and the join queue - live. Underneath, an activity log of joins, leaves, chat, commands, admin actions and errors, filterable by category and kept in your storage backend.
|
|
Storage that scales with you
SQLite with zero configuration out of the box, plain JSON files if you prefer them, or MySQL when you run a network. Switching backend is one click in Settings and the data follows you across live.
|
Discord, if you want it
Webhook or a full bot, chosen per channel. Bans, kicks, chat, admin actions and plugin errors each route to their own channel, a two-way chat bridge links Discord to in-game, and slash commands come with autocomplete and role-based authorization. Entirely optional, configured in-game.
|
| 05 · Make it yours |
|
Quick buttons
Turn any console command into a button with its own icon, colour and permission. Placeholders fill in the target's SteamID, name, coordinates and grid, or yours. Ask for confirmation on the dangerous ones. Show them on the player card, on the map, on the dashboard or in the widget.
|
Binds
Ready-made bind lines for the panel, Vanish, godmode, noclip, ESP, the hammer, inspect and the map. Pick your key, select the line, paste it into F1. One key toggles a tool on and off - no second bind for the way back.
|
Appearance
Three themes - Rust, Midnight, Plum - chosen per admin. A font per slot for titles, body, logs, console and HUD, ESP text size, a HUD readout of which tools are live, and a panel you can drag anywhere and have it remember where.
|
| 06 · Permissions |
Nineteen top-level permissions gate the pages and tools. On top of that, every action inside the player card registers its own powerfuladmin.player.NAME, and every quick button you create registers powerfuladmin.quickbtn.NAME. You can also lock PowerfulAdmin's own permissions so nobody edits their way upward.
| powerfuladmin.use | Base access, opens the panel |
| powerfuladmin.players | Player roster and the management card |
| powerfuladmin.map | Server map |
| powerfuladmin.hammer | Admin hammer |
| powerfuladmin.hammer.codes | Reveal code lock codes in the hammer HUD |
| powerfuladmin.esp | ESP page and overlay |
| powerfuladmin.vanish | Vanish |
| powerfuladmin.vanish.unlock | Open code and key locks while vanished |
| powerfuladmin.godmode | Godmode toggle |
| powerfuladmin.noclip | Noclip toggle |
| powerfuladmin.console | Live console page and mini widget |
| powerfuladmin.perms | Permissions and groups manager |
| powerfuladmin.logs | Logs page |
| powerfuladmin.plugins | Plugin control |
| powerfuladmin.convars | ConVar editor |
| powerfuladmin.quickbuttons | Create and edit quick buttons |
| powerfuladmin.settings | Settings, storage, appearance and Discord |
| powerfuladmin.viewip | Reveal player IP addresses |
| powerfuladmin.candisablevitals | Edit player vitals and metabolism limits |
| powerfuladmin.countableondashboard | Counts toward the "admins online" figure |
| 07 · Commands |
There is nothing else to memorise. The console ones exist so you can bind them to keys.
| /padmin | Open the panel |
| pa.open <page> | Open the panel straight on a page, for example pa.open map |
| pa.toggle <feature> | Flip vanish, god, noclip, ESP, hammer or inspect - called without a value it toggles, so one key does both ways |
| pa.setup <steamid|name> | Grant the full permission set to a player, once, on install |
| 08 · Install |
| 1 | Drop the plugin into your scripts folder. It loads and writes a clean config on its own. Oxide and Carbon are both supported. |
| 2 | Run pa.setup <your name or steamid> once in the server console. |
| 3 | Type /padmin in game. You are in. |
| 4 | Later, in Settings: switch to MySQL, connect Discord, add a Steam API key for Rust hours, and copy your binds out of the Binds page. |
| 09 · Add-ons |
Three companion plugins drop straight into the sidebar and use the same card, the same permissions and the same storage backend. They are add-ons, not stubs - everything described above works without them.
|
PowerfulBans
Timed and permanent bans in their own database, reason templates, history and login enforcement.
|
PowerfulFreeze
Freeze a player in place while you talk to them, from the card, the map or the world.
|
PowerfulWhitelist
Closed-server whitelisting with JSON, SQLite or MySQL storage and its own standalone commands.
|
| 10 · Before you buy |
| 11 · For developers |
PowerfulAdmin is not a closed panel. Any plugin can register its own sidebar section and render it inside the panel, in the player's language and in the admin's active theme. Bans, Freeze and Whitelist are built on this same public API. If you write plugins for your server, the sidebar, permissions, theming, player card and Settings page are already there for you.
var definition = new Dictionary<string, object>
{
["id"] = "mystats",
["icon"] = "assets/icons/star.png",
["category"] = "nav.cat.tools",
["permission"] = "myplugin.view",
["title"] = (Func<BasePlayer, string>)(p => "My Stats"),
["open"] = (Action<BasePlayer>)OpenSection,
["cardRows"] = (Func<string, List<string[]>>)CardRows,
["settings"] = (Action<BasePlayer, CuiElementContainer, string, int>)DrawSettings,
["settingsHeight"] = (Func<BasePlayer, int>)(p => 180),
["popupActions"] = new Dictionary<string, Action<BasePlayer, ulong, string>>
{
["ban"] = OnBan
}
};
PowerfulAdmin.Call("API_AddSection", definition);
Only id is required. Every other definition key is optional, and the permission is registered for you if no plugin has claimed it yet.
| id | string · Unique section id. Required. |
| icon | string · Sidebar icon sprite. |
| category | string · Nav group. Built in: nav.cat.main, nav.cat.tools, nav.cat.manage. Any other value creates a new group. |
| permission | string · Permission needed to open the section. |
| title | Func<BasePlayer, string> · Section title, so you can localise it per player. |
| open | Action<BasePlayer> · Draw your page. |
| cardRows | Func<string, List<string[]>> · Extra label and value rows on the player card. |
| settings | Action<BasePlayer, CuiElementContainer, string, int> · Draw controls into a card on the Settings page. |
| settingsHeight | Func<BasePlayer, int> · How tall that card is. |
| popupActions | Dictionary<string, Action<BasePlayer, ulong, string>> · Extra buttons on the player card popup. |
var parent = (string)ctx["parent"];
var bodyW = Convert.ToInt32(ctx["bodyW"]);
var pad = Convert.ToInt32(ctx["pad"]);
var palette = (Dictionary<string, string>)ctx["palette"];
Read the section context on every render. It provides the parent layer, body width and height, standard padding, the player's language code and the full theme palette. The admin can switch themes while your page is open. Use its page, bg, surface, elev, elev2, border, borderSoft, text, text2, text3, accent, accentH, accentSoft, accentText, danger, dangerSoft, success, warn, warnSoft, info, clear values and the fontBold, fontRegular, fontMono names to match every built-in theme.
| API_RemoveSection(string id) | Unregister on Unload. |
| API_OpenSection(BasePlayer player, string id) | Open your section for a player. |
| API_ReopenPanel(BasePlayer player) | Reopen the panel where it was. |
| API_RefreshPlayerCard(string steamId) | Repaint the player card after your data changes. |
| API_RefreshSettings(BasePlayer player) | Repaint the settings page after saving a value. |
| API_Log(string message, string category = null) | Write into PowerfulAdmin's log section. |
| API_KnownPlayers() | Every player the server has seen, as a list of string arrays. |
| API_RustHours(string steamId) | Total Rust playtime from the Steam API, cached. |
| API_GetInput(string key) | Read a panel input value. |
| API_GetToggle(string key, bool def) | Read a panel toggle. |
| API_GetSelect(string key, string def) | Read a panel selector. |