justBans | Punishment & Staff System v1.3.2

A modern, high-performance, and network-ready punishment system.
This is a large update. The headline additions are the replay system, smart activity detection, inventory rollback, the web dashboard and full plugin protection. Everything below is off by default unless noted, so a plain drop-in keeps your server exactly as it was.

Replay system

[1] Added a movement replay system. With replay.enabled on, the plugin keeps a short rolling buffer of each player's movement so staff can capture and rewind the last seconds after a report or a flagged moment. Open replays with /replay, the staff panel, or straight from a detection alert.

[2] Replays are watched as a real, invisible flying viewer, not in spectator. You keep a hotbar of controls (rewind, play or pause, speed, restart, timeline, container log, stop) and press F for the full options menu. Your real inventory, gamemode and flight are saved when a replay starts and put back exactly when it ends, including if you log out mid-replay.

[3] Added a timeline you can scrub. Click any point to jump there, and every chest the player opened is marked on the bar so you can jump straight to it.

[4] The recorded player renders 1:1 with PacketEvents: their real skin (all layers), worn armour and held items, pose (sneak, sprint, swim, elytra) and arm swings.

[5] Nearby entities can be recorded and replayed (replay.record-entities). Mobs, dropped items and other players around the target are re-enacted, including when they entered and left. Dropped items show their real stack, and nearby players render with their own skin and armour.

[6] Container interactions can be recorded (replay.record-containers). Opening a chest, barrel, shulker, hopper or furnace is logged with a before and after snapshot, so playback shows exactly what was taken out or put in. A notice appears at the moment they open it, and you can open a read-only view to look inside.

[7] Detections that fired during a replay are shown back during playback, each at its exact moment with a REPLAY tag, plus an overview at the start listing which detection triggered the replay.

Activity detection

[8] Added smart activity detection. It flags duping and looting patterns (rapid container opens, sustained fast inventory moves, item drop floods, pickup floods) and alerts staff, with LOW, MEDIUM, HIGH and CRITICAL severities. It works on its own and does not need replay recording. On by default.

[9] The detector learns each player's own baseline and escalates on real deviations. Thresholds are deliberately conservative so normal play (sorting a chest, farming pickups, clearing an inventory) does not trip it, and staff are only pinged from MEDIUM up. Everything is configurable, and there is a Detection dashboard GUI with severity filters.

Inventory rollback

[10] Added inventory rollback. Snapshots are taken on death, quit and on a timer so staff can preview and restore what a player had. Restores bring back the full state: items, armour, off-hand, held slot, XP levels, food and item durability. Ender chests can be rolled back too.

Web dashboard and API

[11] Added the embedded web API and dashboard. Manage punishments, view player history, run punishments and browse the audit log from the browser, with login, optional two-factor and a license page. A central-dashboard reporter is included.

Reports

[12] Reworked reports. Clicking a report no longer double-triggers, chat report alerts open the report instantly, and staff can claim a report. A higher-power staff member can still act on a claimed report. Report presets have their own icons.

Punishments and staff tools

[13] Added voice mute through Simple Voice Chat, available in the punish GUI and as /voicemute and /unvoicemute.

[14] Punishment presets are filtered by action, so a mute only shows mute reasons and a ban only shows ban reasons, with more fitting templates added.

[15] The modules dashboard (/justbans modules) lists every feature with its real enabled or disabled state, including Detection, Replay Recording, Replay nearby entities, Replay container log and Inventory Rollback, and toggles them with one click.

[16] Missing dependencies (PacketEvents, Simple Voice Chat) are now reported clearly at startup, in the console banner, in-game and in the modules GUI when a feature that needs them is on.

[17] Added a LiteBans import (/justbans migrate-litebans) to bring an existing LiteBans database into justBans.

Cross-server

[18] Network sync is authenticated with a shared secret. On a shared MySQL database the secret is generated and shared automatically, so cross-server punishments and detection alerts just work with no manual key setup.

Fixes and stability

[19] Fixed muted players being unable to use unrelated commands such as /rtp; the mute command blacklist now matches the exact command, not any command that starts with the same letters.

[20] Fixed a shutdown error where cleanup tried to schedule a task after the plugin was disabled.

[21] Fixed several Folia crashes where repeating tasks were scheduled the wrong way.

[22] Config, GUI and message files auto-update safely from any older version: missing keys are added, your customisations are kept, and the file layout and header are preserved.

[23] Fixed the update notice showing twice on join and never flags an older version as an update. Reworded messages across the plugin for a plainer tone.

[24] Every GUI now fills its empty slots and has consistent back and close buttons, and Detection and Replays opened from the staff panel return to the panel.

Protection

[25] The plugin is now properly obfuscated: class, method and field names are renamed and string constants are encrypted with a fresh key per build. Only the handful of entry points loaded by name from outside stay readable. This is transparent at runtime and needs no configuration.

[26] No changes needed to update. Drop in the new jar and restart. Your config and data stay as they are. Replay recording, nearby-entity and container logging are off by default; turn them on if you want that extra detail.
[1] Fixed heavy server lag caused by placeholders. justBans placeholders (scoreboards, tab list, chat) used to hit the database on the main thread every time they were shown, which could freeze the server. They are now served from memory, so the lag is gone. Note: Only for those who are on 1.3.0

[2] Ban and mute status is now cached. Checks for bans, mutes and shadow-mutes are faster and stay in sync, with the database only touched in the background. Mute and shadow-mute work exactly as before.

[3] Hardened the web API. The API secret key is now checked in a way that can't be guessed through timing, closing a small security gap.

[4] No changes needed to update. Drop in the new jar and restart; your config and data stay as they are.
[1] The dashboard now uses real accounts instead of one-time login codes. Run /dashboard in-game and you get your own account with a random starting password, shown once as a line you can click to copy. From then on you log in on the dashboard with your username and that password, so there is no code to redeem every time. Forgot it? Run /dashboard newpassword in-game for a fresh one (being in-game is proof it is you).

[2] You can use the dashboard on Deltura, without hosting it yourself. Turn on central-dashboard in api.yml and your server shows up on the central dashboard at deltura.net: sign in with Discord, open your license, choose Manage then Open Web Management, and manage your server live. The plugin only tells Deltura your server is online (license, API port and version, nothing else); your data is read straight from your own server, never stored on Deltura's side. Hosting the dashboard yourself still works exactly as before.

[3] You can change your password and turn on two-factor authentication right from the dashboard. There is a new Account page: set a new password whenever you like, and add 2FA by scanning a QR code with Google Authenticator, Authy or any similar app. After that, logging in also asks for the 6-digit code.

[4] Admins can require 2FA for a group. Add require-2fa: true to a group in api.yml and its members must set up two-factor before they can use the dashboard. They can still sign in with their password, but until 2FA is on they only see the setup screen.

[5] The dashboard no longer logs you out on a refresh. A page refresh, a brief network hiccup or the server still starting up used to be able to drop your session. Now a slow moment just shows a short "reconnecting" state and the login comes back on its own; you are only ever signed out by a real logout or a genuinely expired login. Logins still survive server restarts.

[6] Passwords are stored securely. They are never kept in plain text: each one is salted and hashed with PBKDF2, and 2FA secrets follow the standard TOTP format, so nothing sensitive is readable in the database.

[7] Fixed the plugin not starting on servers without PacketEvents. If PacketEvents was not installed, the vanish glow could stop the whole plugin from enabling. Now glow simply turns itself off (with a note in the console) and everything else loads normally. PacketEvents is still only needed if you want the vanish glow.

[8] Your config files update themselves cleanly. When an update adds new options they are merged into your existing files with their comments intact, your own settings are always kept, and an option is added back even if you removed it by hand.

[9] Updating from 1.2.9 changes nothing else. The new account table is added automatically, your api.yml keeps all your settings (the new keys are merged in), and anyone already signed in stays signed in. The only change is the login method: the first time each staff member runs /dashboard they get their account and password.

[10] Works on Paper 1.21.11, 26.2.x, Folia, Spigot and BungeeCord/Velocity, same as always. All of the new account work runs off the main thread and is region-safe on Folia.
[1] Staff mode never loses your items again. If you disconnect, crash, or the server restarts while you are in staff mode, your real inventory is backed up the instant you go into staff mode and handed straight back the next time you log in, so a disconnect in staff mode can no longer leave you holding the tool belt with your real items gone. The staff tools are also kept out of that backup, so toggling staff on and off can never save them as your real items.

[2] That backup works across a whole network, not just one server. It is stored in the database, and each one is tied to the server you went into staff mode on, so your items are only ever restored there and can never overwrite a different server's inventory. Give each server a unique server-name in staff.yml so it can tell them apart.

[3] PremiumVanish and SuperVanish now hook in cleanly across their versions. Before, one missing API method could quietly switch the hook off and fall back to the built-in vanish, so the vanish tool in slot 0 ran justBans' own vanish and desynced from PremiumVanish. Now only the core hide and show methods are required, so the slot-0 vanish tool and vanish-on-enter go straight to PremiumVanish. The console logs "Hooked into PremiumVanish for vanish" on startup so you can confirm it connected.

[4] Some bugs & issues were fixed.

[4] Works on Paper 1.21.11, 26.2.x, Folia, Spigot and BungeeCord/Velocity, same as always. The staff teleports, inventory handling and player work all use Paper's region-aware scheduling so it stays safe on Folia.
[1] Tools and panel buttons now run actions. Drop an "actions" list on any tool or button and it runs what you list instead of the built-in behaviour, and you can add brand new tools and buttons too. You get [command] and [console] to run commands (with <player> for whoever you clicked), the built-ins like [vanish], [inspect], [freeze], [punish], [heal], plus menu openers and [close] / [refresh]. So a custom command tool, or a whole custom menu, is just a few lines of config. The choice between justBans vanish and another plugin is now just [vanish] versus [command] v.

[2] You can pick who handles vanish. Leave it on the built-in one, or set vanish.provider to use PremiumVanish or SuperVanish if you run one of those (hooked through their own API, no hard dependency), or point it at a command for any other vanish plugin. justBans steps out of the way when you hand vanish to another plugin.

[3] Vanished players can glow, and only staff see it. The glow goes out through PacketEvents so the outline only ever reaches staff who can see the player, and if you do not run PacketEvents the glow simply turns itself off with a note in the console. There is also a switch to stop justBans touching the join and quit messages, so if you run a custom join-message plugin the two never fight over it.

[4] Staff chat is easier to reach. Use /staffchat, /sc or /schat, or just put a symbol in front of a normal message (# by default) and that one line goes to staff without any command. The symbol is configurable, and only staff with the permission trigger it.

[5] Every short word the menus reuse, like Yes, No, On, Off, Current and Click to set, now lives in a text section in the config, so the whole staff interface can be translated.

[6] The report Teleport button now uses justBans' own vanish by default, so the right-click-to-arrive-hidden feature needs no other plugin. Set a vanish-command if you would rather it run a different one.

[7] The staff-mode action bar now shows up the instant you go into staff mode or vanish, instead of waiting a moment for the next refresh.

[8] Fresh, modern sounds. Going into staff mode, leaving it, vanishing, and freezing or unfreezing each have their own sound now, and every one is configurable or can be turned off.

[9] Muting is tighter. A muted message is now stopped at the earliest point.

[10] Works on Paper 1.21.11, 26.2.x, Folia, Spigot and BungeeCord/Velocity, same as always. All of the staff teleports and player handling use Paper's region-aware scheduling so it stays safe on Folia.
[1] There's a staff mode now. Type /staff and your normal items get tucked away safely while your hotbar fills with a set of moderation tools. Run /staff again and everything you had comes straight back, exactly where it was. While you're in staff mode you fly, you get night vision so dark spots are easy to read, and you take no damage and deal none, so you can move through anything to watch what's going on.

[2] The hotbar is a tool belt. Vanish toggles you in and out of sight. Inspect opens a read-only look at a player. Freeze holds a suspect still. Punish drops you straight into the punish menu for whoever you're looking at. Staff Panel opens the hub described below. Random Teleport jumps you to a random player to watch them unseen. Online Staff shows who else is on duty and lets you teleport to them. And Leave Staff Mode puts your own items back. Every tool, its slot, its item, its name and its lore is yours to change in the new configs/staff.yml, and you can switch any tool off entirely.

[3] Inspect is a clean read-only menu. Right-click a player and you see their full inventory, their armour and their off-hand, plus a head in the corner with their gamemode, health, food, ping, world, exact coordinates, IP and whether they're currently muted. Nothing in there is clickable, so you can never touch their stuff by accident. The title, the filler and every line of that info head are configurable.

[4] Freeze is built for catching people. Right-click a suspect and they're locked in place with a big FROZEN title, they can't walk off, they can't run commands except the ones you allow, and they're slowed and blinded so they can't keep playing. While frozen they also take no damage and can't drop a thing, so nobody can kill them to break the freeze or toss the evidence. If a frozen player logs out, every staff member gets told right away, which is the classic sign someone's trying to duck a ban.

[5] The Online Staff menu shows a head for everyone on duty with their current mode and world, and clicking a head teleports you to them. Handy when something kicks off and you want backup in the same spot fast.

[6] There's a built-in vanish you can use on its own with /vanish, no staff mode needed. Vanished, you vanish from everyone who isn't staff, you stop picking up items, mobs ignore you, and you take no fall damage, so you can stand anywhere and watch without leaving a trace. Who can see vanished players is permission-based and set in the config.

[7] Vanish is genuinely silent. When you vanish or come back, normal players see a fake leave or join line so nobody clocks that a staff member just went invisible. Both lines are yours to word however you like, or you can switch them off. And while vanished you can right-click a chest, barrel, shulker or any container to peek inside without the lid ever opening or making a sound for anyone nearby. The peek is read-only, so unvanish if you actually want to move something.

[8] There's an action bar that keeps you posted. While you're in staff mode it sits above your hotbar and tells you you're in staff mode and whether you're currently vanished, and while you're only vanished it shows that too. Both lines are configurable, and you can turn the whole thing off.

[9] Your items are safe no matter what. The moment you enter staff mode your real inventory is written to disk, so even if the server hard-crashes before you leave staff mode, your items are waiting for you and come straight back the next time you log in. Every clean exit, whether you leave staff mode, log out or the server reloads, hands your items back and tidies up after itself.

[10] There's a Staff Panel now, a proper hub you open with the compass tool. It's one clean menu with a button for everything below, so you don't have to remember which hotbar slot does what. Every button, its slot, its item and its text is set in the config, and the panel shows live numbers like how many players and staff are online and the current TPS.

[11] The Player List button opens a paged list of everyone online, each as their head with their world, gamemode, ping, health and whether they're muted or staff. Left-click a head to teleport to them, right-click to inspect them, and shift-click to drop straight into the punish menu. On a network the people you see are the ones on your own server, but a punish from here goes through the normal punish flow, so it lands across the whole network in SQL mode.

[12] The Recent Activity button opens the latest punishments from across the network, newest first, each showing the type, who got it, which staff member did it, the reason, whether it's still active and how long ago it happened. Click any one of them to jump straight to that player's full record.

[13] Staff Chat is a toggle. Flip it on from the panel and everything you type in chat goes only to other staff instead of the whole server, flip it off and you're back to normal. The channel, who receives it and how it looks are all set in the config.

[14] The Utilities button is your own quick-controls. Toggle flight, night vision and speed on or off, each one showing its current state, or heal and feed yourself in one click. Good for getting set up the way you like without typing a string of commands.

[15] The Gamemode button is a one-click switcher between survival, creative, adventure and spectator, with your current mode marked so you always know where you are.

[16] The Broadcast button lets you send a server-wide announcement. Click it, type your message in chat (or type cancel to back out), and it goes to everyone in a format you can style however you want.

[17] The IP in the Inspect menu is now locked behind its own permission. Staff without justbans.staff.viewip just see "Hidden" where the IP would be, so you can let your whole team inspect players without handing everyone their addresses. The word shown in place of the IP is configurable.

[18] All of it lives in configs/staff.yml. Flight, night vision, invincibility, vanish-on-enter, the sounds, every tool, the freeze rules, all the menus, the action bar, the panel, staff chat, broadcast and every message are in there, written out on first start and updated on later versions while keeping whatever you changed. The new commands are /staff (also /staffmode and /sm) and /vanish (also /v).

[19] Works on Paper 1.21.11, 26.2.x, Folia, Spigot and BungeeCord/Velocity, same as always. All of the staff teleports and player handling use Paper's region-aware scheduling so it stays safe on Folia.
[1] There's a report system now. Players type /report <player> and a menu pops up. They pick a Type, pick a Reason, drop in some Proof, and hit Submit. The head up top shows who they're reporting so they know they grabbed the right person. It's all clickable, nobody has to remember any syntax.

[2] Type and Reason both open their own little menu with preset options you set up. Don't see the one you want? There's a Custom button that closes the menu and lets you type your own answer in chat. Proof works the same way, you click it and type a link or a quick description. Type cancel any time to back out.

[3] Staff get /reports view to see everything that's come in. Every report shows the reported player's head, who reported them, the type, the reason and when it happened. Click one to open the full report. To delete one, Shift-Right-Click it twice (once to arm it, once to confirm) so nobody nukes a report by fat-fingering a click.

[4] /reports view <player> pulls up every report tied to that player, both the ones they made and the ones made about them, active or not. Handy when someone's a repeat problem or a serial false-reporter.

[5] /reports view non-active shows the reports that have been deleted or have aged out, and /reports view all shows the whole pile, active and not. So nothing is ever really gone, you can always go back and look.

[6] Reports remember who closed them. Open a non-active one and it tells you which staff member dealt with it.

[7] There's a cooldown so one angry player can't spam ten reports in a row. Set it to whatever you want in seconds, or 0 to turn it off. Staff with the bypass permission skip the wait.

[8] Reports can be set to expire on their own. Leave a time like 14d and anything older quietly moves into the non-active list. Set it to permanent if you'd rather keep them forever.

[9] You can hook reports up to Discord. Drop a webhook url in reports.yml and every new report gets posted to that channel with all the details. Put a role ping in there too if you want your staff team buzzed the moment something comes in. Off by default until you fill in the url.

[10] Your staff also get pinged in-game the second a report lands, as long as they have the notify permission. You can turn that off or change the wording.

[11] When you open a report there's a Punish button right there that drops you into the normal /punish menu for the reported player, so you can read a report and deal with it without typing their name out again. Only shows if you can punish, and it still respects all your usual punish permissions.

[12] There's also a Teleport button in the report. Left-click and you're standing next to them. Right-click and you go into vanish first so they don't see you coming, which is great for catching someone in the act. It just runs your vanish command, so set vanish-command in reports.yml to whatever your vanish plugin uses and it'll work. The right-click needs the vanish permission.

[13] The reporter now hears back. When you close a report, whoever filed it gets a message saying what happened, either the player got punished and what they got, or nothing was done this time. If they're offline when you close it they get the message the next time they log in, so reports don't just vanish into the void for the person who took the time to make one.

[14] Punishing a player auto-closes the open reports on them. So if five people reported the same cheater and you ban them, all five reports close on their own and all five reporters get told the player was dealt with. You can turn that off in reports.yml if you'd rather close them by hand.

[15] New /alts <player> command (also /alt or /ipscan). It scans everyone who's logged in from that player's IP and lists each account with a tag, [ONLINE] or [OFFLINE], plus [BANNED] if that account is banned and [IP-BANNED] if the whole IP is. Quick way to spot somebody's alts. Works on offline players too. The whole readout, badges and all, lives in messages.yml.

[16] On top of that, staff get a heads-up when someone joins from an IP another account has used, even if nobody on it is banned. The old alert only fired for ban evasion (a banned account on the IP). This one's broader so you catch alts early. Needs the alts notify permission, and you can shut it off in config.yml if your players share IPs a lot.

[17] All the report and alt stuff is yours to change. The new configs/reports.yml holds every menu, the preset Type and Reason lists, the cooldown, the expiry, the webhook, the teleport and vanish settings and all the messages. The alt scan text sits in messages.yml and the IP alert toggle in config.yml. Everything writes itself out on first start and updates itself on later versions while keeping whatever you changed.

[18] There's a web dashboard. It's a clean, self-hosted panel where your staff manage punishments from a browser. They log in with a one-time token from /dashboard in game, no account or password to set up. Host it yourself, or serve it straight from the plugin: point api.dashboard-path at the built dashboard folder in api.yml, open the API address in a browser, and it just works, with no cross-origin setup and no URL to type in.

[19] Player heads show up all over the dashboard and they always look right, including on offline-mode servers. A coloured tile with the player's initial shows instantly, then the real head fades in over it.

[20] The dashboard has a full Reports page. See active reports, deleted and expired ones, or everything at once, search by player, and open any report to read the proof and see who handled it. With the right permission you can close a report right from there. Search a player on the Players page and you get their whole record, the same as /check in game.

[21] Dashboard access runs on groups you set in api.yml. Two come ready: Moderator (view, punish, revoke, see reports) which everyone gets by default, and Admin which gets everything. Anyone with justbans.command.admin in game is always an Admin. Each staff member only sees and can do what their group allows.

[22] Admins get a Settings panel to build their own groups, tick exactly which permissions each one has, and assign staff to them, all from the dashboard without touching a config file. Moderators never see any of it.

[23] You can edit punishments from the dashboard, not just revoke them. Open Punishments, hit the edit pencil on any ban, mute or warn, and change its reason or its length right there. Editing a mute's length takes effect immediately for anyone who's online.

[24] Players hear about it when their punishment changes. Edit someone's ban or mute and they get a message saying it was updated and by whom, right away if they're online or the next time they join if they're offline. Word it however you like, or turn it off entirely, in messages.yml.

[25] Player heads on the dashboard are extra reliable now. They try a few head-render services in turn, so if one is blocked or down the next one fills in, and you still get the coloured initial tile if none of them answer.

[26] Works on Paper 1.21.11, 26.1.x, Folia, Spigot and BungeeCord/Velocity, same as always. The teleport uses Paper's async teleport so it's safe on Folia across worlds.
[1] Your backends connect to MySQL now. The plugin was trying to create its tables with a line MySQL doesn't support, so the whole setup crashed and the punishments table never got made. That's why every join said "table doesn't exist." Fixed.

[2] There's a full punishment menu now. Type /punish <player> and you click what you want (ban, temp-ban, IP-ban, mute, IP-mute, shadow-mute, warn or kick), then pick a reason and a length and confirm. The head up top tells you if they're already banned or muted, their warning count and how many alts they have. There's a silent toggle, an IP toggle, and a button to flip a ban into a mute without starting over. It does the same thing the commands do, just clickable.

[3] Run /punish on its own and it shows everyone who's online. Click a head to punish them instead of typing the name.

[4] New /justbans data screen. It's the full log of every punishment on the server: who did it, the exact time, the reason, the length, whether it's still active, and if it was lifted, which staff member lifted it. Search by a player's name or a staff name, click any entry for the details, and a Back button puts you right back on the page you were on. Admins only.

[5] /editban <player> opens a list of that player's active bans and mutes. Click one to change its reason or its length. /editban <id> <reason|duration> <value> still works if you'd rather type it, and it's the only way from console.

[6] You can jump straight from someone's /check history to punishing them. There's a Punish button in the bottom-right. It only shows if you have permission.

[7] "Custom reason" and "custom duration" ask you to type it in chat now instead of opening an anvil. The anvil never worked on 1.21.11 so that button used to look dead. Now it just closes the menu, you type it, done. Type cancel to back out.

[8] /unwarn works now. Warnings were getting saved as already-expired the instant you gave them, so /unwarn could never find one and told you "this player is not muted," which made no sense for a warning. Warnings now last as long as warnings.expire_after says (30 days by default) and /unwarn has its own message. One thing: warnings from before this update are already dead, so give a fresh one to test.

[9] IP bans stick across the network now. They were tied to the banned player's current IP, so the second that player logged in from somewhere else, the IP you banned quietly stopped being blocked and their alts could walk right back in. Now it sticks to the IP you actually banned, on the proxy and the backends both, so that address stays blocked for everyone on it.

[10] You can punish offline players from any server on the network now. Banning, muting or warning someone who's in the database but never joined the exact server you're standing on used to fail with a "not found" message, even though they showed up in tab-complete. It now looks them up in the database (and Mojang as a last resort), so it works no matter which backend you run it from.

[11] You can edit the network ban screen now. The "You are banned from this network!" message the proxy shows was locked in the code before. It's in messages.yml as network_ban_screen now, and on Velocity it uses MiniMessage like everything else (colors, gradients, hex). Edit it in your proxy's plugins/justbans/messages.yml. On BungeeCord it falls back to plain colors since Bungee has no MiniMessage.

[12] No more invisible item stuck to your cursor after jumping between menus, like going from History to Punish.

[13] Warns and kicks don't tack "(N/A)" onto the end of the confirmation anymore. There's no duration on them, so it just leaves it off.

[14] Player heads don't show that odd "Dynamic" line under the name anymore. (If you still see "minecraft:player_head" or "X component(s)" lines, those are your own client's advanced tooltips. Hit F3 + H to turn them off. Players never see them.)

[15] The menus look a lot nicer, with fresh icons and shorter, cleaner text. Everything in them (titles, slots, icons, wording) lives in the new configs/gui.yml, and you can switch off any punishment you don't want showing in the menu right there.

[16] /justbans help got a cleaner look and lists every command now.

[17] Your config updates itself on the first start and keeps anything you changed. To get the new look on a setup you already have, delete configs/gui.yml and configs/messages.yml and let them regenerate.

[18] Works on Paper 1.21.11, 26.1.x, Folia, Spigot and BungeeCord/Velocity.
Buy a license now
$9.99
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Support duration
Lifetime
Share and earn
Refer this resource and earn a 10% commission.
3,963 Views
37 Purchases
43 Downloads
Aug 7, 2025 Published
Jul 15, 2026 Updated
5.00 star(s)
Average rating (1)
3.5 MB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. No
AI use in marketing
No
AI Content Disclosure
Used Al to polish configuration, simulate high-load scenarios for testing, and help identify potential bugs.
Type
  1. Gameplay
  1. Protection
  1. GUI
Game mode
  1. Survival & SMP
  1. Prison
Game mode (legacy)
  1. Survival
  1. Prison
Supported software
  1. Spigot
  1. Paper
  1. Bungee
  1. Folia
  1. Velocity
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
Supported languages
  1. English
Includes DRM
Yes
Source access (legacy)
Closed source & obfuscated
Creator
Owner
Recommended for you
A survival/kit duel plugin.
5.00 star(s) 1 ratings
32 purchases
4.50 star(s) 3 ratings
6 purchases
RPG Skill Tree Plugin with Custom Enchant Skills
Not yet rated
1 purchase
Host all type of events your way - modular arenas, GUI setup, cross-server ready.
Not yet rated
1 purchase
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,242 purchases
Share and earn
Refer this resource and earn a 10% commission.
3,963 Views
37 Purchases
43 Downloads
Aug 7, 2025 Published
Jul 15, 2026 Updated
5.00 star(s)
Average rating (1)
3.5 MB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. No
AI use in marketing
No
AI Content Disclosure
Used Al to polish configuration, simulate high-load scenarios for testing, and help identify potential bugs.
Type
  1. Gameplay
  1. Protection
  1. GUI
Game mode
  1. Survival & SMP
  1. Prison
Game mode (legacy)
  1. Survival
  1. Prison
Supported software
  1. Spigot
  1. Paper
  1. Bungee
  1. Folia
  1. Velocity
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
Supported languages
  1. English
Includes DRM
Yes
Source access (legacy)
Closed source & obfuscated
Creator
Owner
Recommended for you
A survival/kit duel plugin.
5.00 star(s) 1 ratings
32 purchases
4.50 star(s) 3 ratings
6 purchases
RPG Skill Tree Plugin with Custom Enchant Skills
Not yet rated
1 purchase
Host all type of events your way - modular arenas, GUI setup, cross-server ready.
Not yet rated
1 purchase
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,242 purchases
Top