Config basics
Where MiniModes stores its config and how changes are applied.
MiniModes is designed to be safe by default and easy to tune: you drop it into your server, and then tighten or expand what players can do using config files and permissions.
This page focuses on:
Config basics
Where MiniModes stores its config and how changes are applied.
Core permissions
Which nodes control access to menus, parties, and game actions.
Roles & examples
Concrete permission sets for players, staff, and builders.
When the plugin starts, it creates a data folder:
plugins/MiniModes/config.yml, messages.yml, etc. depending on your build).mmx files and their assets)The exact filenames may differ per version, but the important part is: all MiniModes configuration is under
plugins/MiniModes/.
Even if your exact file names differ, MiniModes configs will usually cover:
Global behavior
/minimodes and /mmUI & messaging
World & game behavior
Whenever possible, prefer config options first and only then override with permissions. Config is for “how the system behaves by default”; permissions are for “who can do what.”
MiniModes provides a command for reloading configuration and extensions without restarting the whole server (exact subcommand names may differ per version, but a common pattern is):
/mm reload under the /minimodes or /mm root command.When you:
plugins/MiniModes/, and/or.mmx extension files,run the reload command to apply:
/mm reloadTypical behavior:
Use this for non-breaking changes.
For plugin updates or deep changes to extensions, prefer a full server restart.
MiniModes relies on your permission plugin (LuckPerms, PermissionsEx, etc.). There are two big groups of permissions:
The exact permission nodes depend on the version and how the commands are registered. The patterns below are meant as a structure you can adapt to your actual nodes.
Commands are structured roughly as:
/minimodes and /mm – open the main menu and manage global plugin actions./mm game ... – game-specific operations./party ... – party creation, invites, mashup, etc.Under the hood, these are typically implemented as:
MiniModesCommand – for /minimodes and /mmGameCommand – for /mm gamePartyCommand – for /partyYour permission nodes will likely mirror this structure, e.g. something like:
minimodes.cmd.openminimodes.cmd.party.createminimodes.cmd.party.mashupminimodes.cmd.game.spectateminimodes.admin.reloadUse your permission plugin’s /lp verbose or equivalent feature
to see exact nodes requested when a player runs a command.
This section lists feature-level permissions you should consider setting up. Replace the example node names with the specific ones used by your build.
Feature: /minimodes / /mm game selection GUI.
Typical pattern:
minimodes.menu.open – allow opening the menuminimodes.menu.list – allow seeing the list of available gamesminimodes.menu.start – allow starting a game from the menu (usually party leader only)Suggested usage:
minimodes.menu.openminimodes.menu.listminimodes.menu.startEven if everyone has menu.start, MiniModes still checks party leadership at runtime,
so non-leaders can’t bypass the flow.
Feature: /party and all its subcommands.
Key subcommands:
/party create/party invite <player>/party accept <player>/party leave/party kick <player>/party list/party rematch/party mashup <start|stop>Example permissions to look for or set:
minimodes.party.createminimodes.party.inviteminimodes.party.acceptminimodes.party.leaveminimodes.party.kickminimodes.party.listminimodes.party.rematchminimodes.party.mashupNotes:
mashupPermissions just decide whether you can call the relevant commands. Leadership and other guards still apply at runtime.
Feature: managing your current game via /mm game ....
Key subcommands:
/mm game leave/mm game spectate <player>/mm game stop/mm game win <players…>/mm game settingsExample permission patterns:
minimodes.game.leaveminimodes.game.spectateminimodes.game.stopminimodes.game.winminimodes.game.settings.viewminimodes.game.settings.modifyTypical policy:
minimodes.game.leaveminimodes.game.spectateminimodes.game.stopminimodes.game.winminimodes.game.settings.modifyAt runtime, MiniModes will:
settings.modify, andFeature: server operator tools.
Examples:
/mm reload/mm list or /minimodes list – list loaded games/mm stats – see internal statistics/party or /mm game (force-join, force-stop, etc.)Possible permission nodes:
minimodes.admin.reloadminimodes.admin.listminimodes.admin.statsminimodes.admin.force.*Recommended:
op.Here are example permission sets for three roles:
Goal: Can play, use parties, and enjoy Mashup. No admin controls.
# Example: LuckPerms group "default"permissions: # Open the MiniModes menu - minimodes.menu.open - minimodes.menu.list
# Basic party functionality - minimodes.party.create - minimodes.party.invite - minimodes.party.accept - minimodes.party.leave - minimodes.party.list - minimodes.party.rematch - minimodes.party.mashup
# Game interactions - minimodes.game.leave - minimodes.game.spectate # Optional: spectating could be limited to donorsPlayers do not get any admin nodes or force commands.
Goal: Can start/stop games more freely and adjust settings to test maps and extensions.
# Example: LuckPerms group "builder"inheritance: - default
permissions: # Ensure they can start games from the menu - minimodes.menu.start
# Allow game control - minimodes.game.stop - minimodes.game.win - minimodes.game.settings.view - minimodes.game.settings.modifyCombine with any build-world protections you already have.
Goal: Full control over the plugin and its games.
# Example: LuckPerms group "minimodes-admin"inheritance: - builder
permissions: # Administrative actions - minimodes.admin.reload - minimodes.admin.list - minimodes.admin.stats - minimodes.admin.force.*
# (Optional) If you prefer wildcard patterns: # - minimodes.*You can also just use op if your network is small,
but explicit permission groups are safer for larger servers.
Each MiniModes extension (your .mmx files) can define:
Common patterns:
minimodes.game.<game-id>.playminimodes.game.<game-id>.map.staff_onlyminimodes.game.<game-id>.hostWhen you add a new extension:
If a player can open MiniModes but does not have permission for a specific game, you have two typical behaviors:
The exact behavior depends on the extension and your MiniModes version.
default.This avoids accidental exposure of admin tools.
Define roles like:
default – regular playersminimodes-player – optional donor or “games access” roleminimodes-builder – map testers and buildersminimodes-admin – full controlThen assign groups to players, rather than hand-adding nodes.
Most permission plugins offer a verbose mode. Use it to:
/lp verbose on (or equivalent).This is invaluable when adding new extensions or after updating MiniModes.
Before you open MiniModes to all players:
default (players)builder (optional)admin (staff)/minimodes / /mm/party commandsWith config and permissions tuned, MiniModes becomes a controlled sandbox: players enjoy a streamlined UX, while you retain precise control over what they can do.
If you share your exact permission nodes (from your build or docs) I can help you turn this conceptual layout into a drop-in YAML/JSON config for your permission plugin.