Commands and permissions
The main command is /mm, with the aliases /manukamod and /moderation (and /manukamoderation:mm when another plugin also registers /mm). In game, type commands with a slash (/mm status); in the server console, without it (mm status).
Typing /mm alone lists the subcommands you are allowed to use. Tab completion only offers what your permissions allow, and never suggests anything for a password or a license key. Answers come in your own language (see /mm lang); the console uses the server language.
Player commands #
/mm panel and /mm password need manukamod.panel, /mm alerts needs manukamod.alerts, and /mm help and /mm lang need any manukamod.* permission. They work in game; help and lang also answer in the console.
| Command | What it does |
|---|---|
/mm help | Lists the subcommands you may use, with their usage and a one-line description. Same as /mm alone. Also works from the console. |
/mm panel | Sends you a clickable login link for the web panel, valid for 10 minutes and usable once. The first time, it also creates your panel account, as long as your groups or permissions give you something to see. It works even while your account is locked after failed password attempts. |
/mm password <password> | Sets or changes your own panel password: at least 8 characters, spaces allowed. Creates your account the same way as /mm panel, logs out every open panel session of your account, and works even while the panel is turned off. |
/mm alerts on|off | Turns the in-game case alerts on or off for you. Needs manukamod.alerts. The choice is remembered across restarts. |
/mm lang en|es|es_AR | Changes the language of every message the plugin sends you. From the console it changes nothing and prints the server language. |
Staff commands #
These need manukamod.admin (except /mm case, see below) and also work from the console.
| Command | What it does |
|---|---|
/mm user list | Lists the panel accounts and what each one may see. Accounts over the Free limit, disabled accounts and accounts without a password are marked. |
/mm user add <name> [password] | Creates a panel account for a player who has joined the server at least once (they may be offline). The account grants nothing by itself: what it can see always comes from the player's groups and permissions. |
/mm user remove <name> | Deletes the panel account and logs out its open sessions at once. |
/mm user setpassword <name> <password> | Sets another account's password (at least 8 characters) and logs out all its sessions. Also the way to cut off a session you think was stolen. |
/mm user groups <name> | Shows the player's groups as the permission plugin reports them, the panel access they result in and which access.groups entries matched. |
/mm case <id> | Shows one case (player, type, severity, status, number of events, when it opened), its last 3 events and a link to it in the panel. |
/mm case list [player] | Shows the last 10 open cases, optionally of one player. |
/mm exempt add <name|uuid> | Adds a player to exempt.players in config.yml (comments are kept) and reloads. |
/mm exempt remove <name|uuid> | Removes a player from exempt.players and reloads. |
/mm exempt list | Lists the exempt players, and exempt.groups. |
/mm reload | Reloads config.yml, the rules and the language files and reports every warning. Restarts the panel's web server if its address or port changed. If config.yml cannot be read, the previous configuration stays in use. |
/mm status | One screen with the version, platform and tier, the panel address and connected browsers, the panel game login, the database size, queues, detection speed, e-mail, AI, license and update state, and which punishment sources are recorded. |
/mm license activate <key> | Activates a Pro key. The key is saved in config.yml (unless it comes from the MM_LICENSE_KEY environment variable) and never printed in the server log. |
/mm license deactivate | Releases the key so it can be activated on another server. This server goes back to Free. |
/mm license status | Shows the tier, status, provider, expiry and last check, and on a second line this install's instance name. |
/mm email test <address> | Queues a test e-mail with the current SMTP settings and prints its queue number. Needs email.enabled: true, an email.smtp.host and a valid email.smtp.from. |
/mm update check | Asks Modrinth or GitHub for a newer release. |
/mm update download | Downloads the new release, verifies its signature and leaves it in the server's update folder, to be applied on the next restart. Works on Free and Pro. |
/mm ai test | Sends a tiny request to the configured AI provider and prints the model and how long it took, or why it failed. Needs ai.enabled: true. |
/mm export <from> <to> | Pro. Writes three CSV files with the cases, punishments and events between two dates (yyyy-MM-dd, both included, server time zone, at most 366 days) to plugins/ManukaModeration/logs/. |
/mm debug [on|off|dump] | Turns debug logging on or off until the next restart or reload; without an argument it toggles. dump writes logs/debug-<date>-<time>.txt with the status, the settings (every password and key replaced by (set) or (empty)) and queue statistics, ready to attach to a support request. |
/mm case is also allowed for anyone with at least one manukamod.panel.violations.* permission; they only see the violation types their permissions grant.
mm status
mm license activate MMPRO-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
mm case list Steve
mm export 2026-09-01 2026-09-30
/mm alerts off
Over RCON #
The console commands also work over RCON (from an RCON client or a hosting panel's web console). RCON only returns what a command prints while it runs, so the commands that need the database, the network or a file (mm case, mm user, mm exempt add|remove, mm email test, mm ai test, mm update, mm license activate|deactivate, mm debug dump, mm export) answer at once that the result will be written to the server console. The full answer then appears in the console and in logs/latest.log.
Passwords and keys stay out of the log #
The server normally logs every command a player types. For /mm password, /mm user add, /mm user setpassword and /mm license activate, the plugin removes that line from logs/latest.log, the console and anything that forwards the console (such as a DiscordSRV console channel), and marks the command as cancelled so command loggers that skip cancelled commands do not record it either. Other plugins can still see what you type (a command spy, for example), so /mm panel, with no password typed at all, is the safest way into the panel.
Permissions #
manukamod.admin includes every permission below except manukamod.exempt, so operators have them all. In the Default column, "op" means operators have it and "–" means nobody has it until you grant it.
| Permission | What it allows | Default |
|---|---|---|
manukamod.admin | Every /mm subcommand and every panel section. | op |
manukamod.panel | /mm panel and /mm password (panel login). What the panel shows comes from access.groups or the permissions below. | – |
manukamod.alerts | In-game case alerts and /mm alerts on|off. | – |
manukamod.exempt | Never produces cases (the player's lines are still stored as context). | – |
manukamod.update.notify | Told on join when an update is available or downloaded. | op |
manukamod.panel.violations.all | Every violation type in the panel, and /mm case. Includes the twelve permissions below. | – |
manukamod.panel.violations.advertising | Advertising cases (panel and /mm case). | – |
manukamod.panel.violations.insult | Insult cases. | – |
manukamod.panel.violations.harassment | Harassment cases. | – |
manukamod.panel.violations.discrimination | Discrimination cases. | – |
manukamod.panel.violations.sexual | Sexual-content cases. | – |
manukamod.panel.violations.threat | Threat cases. | – |
manukamod.panel.violations.spam | Spam cases. | – |
manukamod.panel.violations.caps | Caps cases. | – |
manukamod.panel.violations.personal_data | Personal-data cases. | – |
manukamod.panel.violations.filter_evasion | Filter-evasion cases. | – |
manukamod.panel.violations.rank_abuse | Rank-abuse cases. | – |
manukamod.panel.violations.custom | Custom-rule cases. | – |
manukamod.panel.punishments | The punishments section of the panel. | – |
manukamod.panel.logs | Browse the chat logs. | – |
manukamod.panel.analytics | Analytics. | – |
manukamod.panel.settings | Edit settings, the license and updates from the panel. Treat it like console access. | – |
manukamod.panel.users | Manage panel accounts from the panel. | – |
manukamod.panel.ai | Use AI explanations. | – |
The manukamod.panel.* permissions add panel access on top of access.groups on Pro (access.permissions-override), and they are the only source of panel access, on every tier, when neither LuckPerms nor Vault is installed. Most servers only need the group mapping in config.yml, plus manukamod.panel for whoever should log in.
With LuckPerms #
From the console:
lp group owner permission set manukamod.admin true
lp group mod permission set manukamod.panel true
lp group mod permission set manukamod.alerts true
lp group helper permission set manukamod.panel true
lp group helper permission set manukamod.panel.violations.spam true
lp group helper permission set manukamod.panel.violations.caps true
lp group builder permission set manukamod.exempt true
lp user Steve permission set manukamod.update.notify true
The two manukamod.panel.violations.* lines for helper give that group spam and caps cases through permissions, which counts on Pro. On Free, make the group one of the first two entries of access.groups instead.
The panel reads a player's primary and inherited groups from LuckPerms. To see what it will find for someone, compare lp user Steve info and lp user Steve parent info with /mm user groups Steve.
PlaceholderAPI #
When PlaceholderAPI is installed, the plugin registers the manukamod expansion on its own (it survives /papi reload). The numbers are refreshed every 30 seconds.
| Placeholder | Value |
|---|---|
%manukamod_cases_open% | Open cases right now. |
%manukamod_cases_today% | Cases opened today (server time zone). |
%manukamod_punishments_today% | Punishments recorded today. |
%manukamod_tier% | Free, Pro or Pro Lifetime, in the server language. |
%manukamod_alerts% | on or off: the player's in-game alert setting. |