Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
BetterAdmin
Tired of juggling half a dozen admin plugins just to kick, ban, mute, and keep tabs on players? BetterAdmin puts it all behind one GUI — click a player, pick an action, done. No memorizing command syntax for your whole staff team.
Compatibility: Paper, Minecraft 26.2, Java 25.
Features
- Player management GUI with pagination for large servers
- Kick, ban, temp-ban, mute, unmute — bans are profile/UUID-based, not name-based, so they stick even if a player changes their name
- Confirmation step before ban/tempban actions to prevent misclicks
- Inventory viewer and ender chest viewer
- Teleport, heal, feed, and freeze/unfreeze toggle
- Staff vanish mode
- Player lookup by name or UUID (works for offline players too — ban/tempban still available)
- Recent admin action history with one-click undo for bans, mutes, and freezes
- History, mutes, and freezes persist across restarts (
data.yml) - Reload config without restarting:
/adminpanel reload - Every player-facing message and permission node key is configurable via
config.yml
Using the GUI
- Run
/adminpanelto open the player list. - Click a player to open their action menu: kick, ban, tempban, mute, unmute, freeze/unfreeze, teleport, heal, feed, view inventory, view ender chest, player info, or vanish (for yourself).
- Actions that need input (ban/kick reason, mute or tempban duration, or a name/UUID lookup) prompt you to type the value in chat — type
defaulton a reason prompt to use the standard message. - Ban and tempban ask for a confirmation click before they go through.
- Open Recent admin history from the main menu to see the latest actions and undo a ban, mute, or freeze with one click.
Looking up an offline player works too — you'll only be able to ban/tempban them, since actions like teleport or inventory viewing need them online.
Configuration
BetterAdmin creates plugins/BetterAdmin/config.yml on first startup. Edit it and run /adminpanel reload to apply changes without restarting.
messages:
only-player: "Only in-game players can use this command."
no-permission: "You do not have permission to open the admin panel."
player-offline: "That player is not online or could not be found."
refresh-success: "Admin menu refreshed."
reason-prompt: "Type the reason in chat and press enter. Type 'default' to use the standard reason."
mute-prompt: "Type mute duration and optional reason in chat, e.g. 10m Spamming."
tempban-prompt: "Type tempban duration and optional reason in chat, e.g. 1d Griefing."
lookup-prompt: "Type the player name or UUID to look up in chat."
lookup-failed: "Unable to resolve that player name or UUID."
action-complete: "{actor} performed {action} on {target}."
kicked: "Kicked {target}: {reason}."
banned: "Banned {target}: {reason}."
tempbanned: "Temporarily banned {target} for {duration}: {reason}."
muted: "Muted {target} for {duration}."
unmuted: "Unmuted {target}."
already-muted: "{target} is already muted."
already-unmuted: "{target} is not muted."
player-frozen: "{target} has been frozen."
player-unfrozen: "{target} has been unfrozen."
cannot-perform-offline: "That action requires the player to be online."
history-title: "Recent admin actions"
no-history: "No history entries yet."
mute-chat-block: "You are muted for {reason} until {until}."
lookup-prompt-usage: "Enter a player name or UUID to manage."
invalid-duration: "Invalid duration format. Use values like 10m, 2h, or 1d."
lookup-opened: "Managing player {target}."
info-player: "{target} is online with {health}❤, {food} food, {gamemode}, ping {ping}."
not-online-for-inv: "Player must be online to view inventory or ender chest."
healed: "Healed {target}."
fed: "Fed {target}."
teleported: "Teleported to {target}."
lookup-result-offline: "Opened actions for offline player {target}. Only ban/tempban actions will work."
config-reloaded: "BetterAdmin configuration reloaded."
action-cancelled: "Action cancelled."
undo-success: "Reverted {action} for {target}."
vanish-on: "You are now vanished."
vanish-off: "You are now visible."
permissions:
use: betteradmin.use
lookup: betteradmin.lookup
history: betteradmin.history
kick: betteradmin.kick
ban: betteradmin.ban
tempban: betteradmin.tempban
mute: betteradmin.mute
unmute: betteradmin.unmute
freeze: betteradmin.freeze
teleport: betteradmin.teleport
heal: betteradmin.heal
feed: betteradmin.feed
viewinventory: betteradmin.viewinventory
viewenderchest: betteradmin.viewenderchest
info: betteradmin.info
vanish: betteradmin.vanish
reload: betteradmin.reload
undo: betteradmin.undo
Messages
Every player-facing string lives under messages: and supports the placeholders shown above ({target}, {actor}, {reason}, {duration}, {action}, {until}, and the info-panel stats). Change any of these to reword or translate the plugin's output.
Permission node mapping
The permissions: block maps each internal action key to the actual permission node BetterAdmin checks. By default these point at the standard betteradmin.* nodes below — you generally don't need to touch this section unless you're remapping permissions to fit an existing node naming scheme.
Commands
| Command | Permission | Description |
|---|---|---|
/adminpanel |
betteradmin.use |
Opens the BetterAdmin GUI |
/adminpanel reload |
betteradmin.use |
Reloads config.yml without restarting |
Permissions
| Permission | Default | Description |
|---|---|---|
betteradmin.use |
op | Open the BetterAdmin GUI |
betteradmin.lookup |
op | Look up players by name or UUID |
betteradmin.history |
op | View admin history |
betteradmin.kick |
op | Kick players |
betteradmin.ban |
op | Permanently ban players |
betteradmin.tempban |
op | Temporarily ban players |
betteradmin.mute |
op | Mute players |
betteradmin.unmute |
op | Unmute players |
betteradmin.freeze |
op | Freeze players |
betteradmin.teleport |
op | Teleport to players |
betteradmin.heal |
op | Heal players |
betteradmin.feed |
op | Feed players |
betteradmin.viewinventory |
op | View player inventories |
betteradmin.viewenderchest |
op | View player ender chests |
betteradmin.info |
op | View player information |
betteradmin.vanish |
op | Toggle staff vanish mode |
betteradmin.reload |
op | Reload config.yml |
betteradmin.undo |
op | Revert a ban, tempban, mute, or freeze from the history menu |
Installation
- Download the jar for your Minecraft version from this page.
- Place it in your server's
plugins/folder. - Start (or restart) the server.
config.ymlis generated on first boot;data.ymlis created to persist history, mutes, and freezes across restarts. - Run
/adminpanelto open the GUI, or editconfig.ymlfirst and apply changes with/adminpanel reload.
License
MIT

