Fssentials is a production-ready moderation and admin utilities plugin for Paper (Folia-aware). This document enumerates every feature implemented in the current codebase so server operators can configure, use, and extend the plugin confidently.
FoliaScheduler).MessageService for configurable chat messages and prefix handling.Punishment System
KICK, BAN, MUTE, WARN, NOTE, IP_BAN.TimeParser and server-configurable time-layout tokens (e.g. #default).punishments.yml via YamlPunishmentStorage when storage.persistence-enabled is true.PunishmentManager).Commands (handled by CommandRouter):
kick <player> <reason...> — immediate kick with enforcement message.ban <player> <reason...> — permanent ban (kicks online target).mute <player> <reason...> — mute (blocks chat via PunishmentListener).warn <player> <reason...> — adds a warn record; notifies target if online.note <player> <note...> — internal note record.banip <player|ip> <reason...> — IP ban (kicks matching IPs).tempban/tempmute/tempwarn/tempipban <player|ip> <duration> <reason...> — temporary punishments.unban/unmute/unwarn/unnote/unpunish <id|player> — remove punishments.change-reason <id> <new reason> — edit a punishment's reason.warns <player> / notes <player> — list warns/notes.check <player> — show UUID, IP, ban/mute status, counts.banlist [page] — list active bans (paginated).history <player> [page] — view player's punishment history (paginated).Notes:
-s prefix to make an action silent (announce only to staff with the configured silent notify permission).@layoutKey to reuse predefined layouts from config.yml (layouts.).#default) map to values in time-layouts config.IP Locking
ip-locks.yml (IpLockManager).set, remove, change, and check an account's allowed IP.ip-lock.enabled, ip-lock.log-blocked-attempts, ip-lock.kick-message.Maintenance Mode
/maintenance motd and setmotd.starttimer, endtimer, schedule, aborttimer to schedule enable/disable automatically (MaintenanceTimer).notify permission receive join-attempt notifications during maintenance.MaintenanceConfig.Maintenance commands (via maintenance command):
maintenance on|off|reloadmaintenance add <player> / remove <player> / whitelistmaintenance starttimer <minutes> / endtimer <minutes> / schedule <startMinutes> <durationMinutes> / aborttimermaintenance motd / maintenance setmotd <index> <line> <message>Broadcast / Announcements
/broadcast <title> [subtitle] — sends a full-screen title to all players using MiniMessage formatting.| or heuristics; configurable sound (announcements.sound.* in config).Vanish & Admin Tools
/vanish (visibility handled by VanishService).AdminToolsListener protects vanished staff from being interacted with or damaged.InvSee (Inventory View/Edit)
/invsee <player> opens a 54-slot GUI snapshot of the target player's inventory (uses InvseeInventoryHolder).Message Service & Localization
MessageService loads messages.yml from the plugin folder; messages use a prefix and support placeholder replacement via MessageService.get(key, placeholders).messages.yml and config.yml.Folia Scheduler Compatibility
FoliaScheduler centralizes Folia-friendly task dispatch: runAsync, runAsyncTimer, runGlobal, runAtEntity.Storage Files Created/Used
punishments.yml — persisted punishment records (via YamlPunishmentStorage).ip-locks.yml — per-account IP lock entries.messages.yml — plugin messages loaded by MessageService (copied from plugin jar to data folder on first run).kick, ban, mute, warn, note, baniptempban, tempmute, tempwarn, tempipbanunban, unmute, unwarn, unnote, unpunishchange-reason, warns, notes, check, banlist, historyfssentials, systemprefs, vanish, offlinetp, playerlist, punishment, invseemaintenance (separately registered with its own executor)broadcast, iplock (separately registered)Refer to plugin.yml for the exact help/usage lines; fssentials command prints configurable help-lines from config.yml.
fssentials.punish.kick — kick playersfssentials.punish.ban / fssentials.punish.tempban — ban playersfssentials.punish.mute / fssentials.punish.tempmute — mute playersfssentials.punish.warn / fssentials.punish.tempwarn — warn playersfssentials.punish.banip / fssentials.punish.tempipban — IP banfssentials.punish.unpunish — remove punishmentsfssentials.punish.change-reason — edit punishment reasonfssentials.view.banlist / fssentials.view.history / fssentials.view.check / fssentials.view.playerlist — view lists/check infofssentials.invsee — view and edit player inventoriesfssentials.vanish — toggle vanishfssentials.admin.reload — reload pluginfssentials.admin.systemprefs — view system prefsfssentials.maintenance.admin — full maintenance administrationMaintenanceConfig).plugin.iplock.bypass (constant in IpLockManager).Note: the plugin uses permission checks liberally; ensure your server's permission system maps the nodes to the desired roles.

Punishments, IPlock, maintenance mode, and much more ..