Skip to content

Commands

Quick Start: Pick your goal.

All commands are available under /manhunt and its alias /mh. Tab completion only suggests what the sender has permission to run. Casual players only need status, qs, and start.

Playing

Command What it does Permission
/manhunt First run: one-click setup. Later: opens the admin GUI (needs jmanhunt.gui) or shows your teams. jmanhunt.gui, jmanhunt.command.status
/manhunt status [id|all] Shows one match roster by id, or every running match plus populated lobbies with all. jmanhunt.command.status, jmanhunt.command.status.other for the argument
/manhunt help Shows the in-game command list. jmanhunt.command.help
/manhunt version Shows the plugin name, version, and edition (free or paid). jmanhunt.command.version
/manhunt setup Step-by-step setup tour in chat (players only). For learning as you go. jmanhunt.command.setup
/manhunt support Shows Discord, Modrinth, and Ko-fi links. jmanhunt.command.support
/manhunt challenges Shows a chat notice with a clickable link to the optional Challenges addon. jmanhunt.command.challenges
/manhunt tournament history <id> Shows the bracket tree or standings of a tournament, live or finished. jmanhunt.command.tournament
/manhunt tournament start <playlist> [lobby] Force-starts the registering tournament of a playlist. jmanhunt.admin
/manhunt tournament cancel <playlist> [lobby] Cancels the registering tournament of a playlist. jmanhunt.admin

Match Status

/manhunt status shows your own match (watching one after elimination counts), else your lobby queue. An id shows one roster grouped by role; all lists every running match, then every populated lobby. Extras under settings.server.status toggle win conditions (show-win-conditions), the L{lobby}|G{game} tag (show-ids), running time (show-elapsed-time), the enabled-mods block (always the last section, the effective per-match list: the same hoverable roll call as the match start, gated by show-modifiers plus the mod-broadcasts switch), and show-on-start. Long rosters truncate, dead players get a skull line (tune the roster under manhunt.status-* and the mods block under modifiers.broadcast-*).

Teams

Command What it does Permission
/manhunt setplayer <selector> <role> Assigns hunter, speedrunner, spectator, afk, or none. jmanhunt.command.setplayer (jmanhunt.command.setplayer.self for your own role only)
/manhunt quickstart [percentage] Assigns teams and starts immediately, bypassing autostart. jmanhunt.command.quickstart
/manhunt qs [percentage] Alias for /manhunt quickstart. jmanhunt.command.quickstart

Roles

Role Description
hunter Participates as a hunter. Requires jmanhunt.hunter.
speedrunner Participates as a speedrunner. Requires jmanhunt.speedrunner.
spectator Watches without playing. Requires jmanhunt.spectator.
afk Excluded from the match entirely; waits in the lobby. Requires jmanhunt.afk.
none Not participating: the pool Quick Start draws from. Requires jmanhunt.none.

Targets always need the permission for their role. Players already in the match need -f (-force) for any role change; moving someone else out of afk needs the command twice within 10 seconds; -s (-silent) suppresses the role messages and sounds. With a live match, the mid-match policy decides instead (see Concurrent Matches).

Quick Start

Assigns teams and starts immediately, bypassing autostart. Who converts and where everyone lands is in Concurrent Matches.

Lobbies

Command What it does Permission
/manhunt lobby join <selector> <lobby-id> [role] [-notp] Moves players to a lobby queue, teleporting them there unless -notp is given. jmanhunt.command.lobby
/manhunt lobby leave [selector] Removes players from whatever lobby they are in. jmanhunt.command.lobby

Each lobby runs its own queue, autostart countdown, and match (see Concurrent Matches); joining honors the per-role queue caps unless -f is passed. New to lobbies? Start with the Lobby System.

Preferences

Command What it does Permission
/manhunt prefs switch <lobby-id> [selector] Teleports through the lobby switcher, under its cooldown. jmanhunt.command.prefs.self
/manhunt prefs fx [mode] [selector] Reads or sets the effects visibility mode (ALL, LOBBY, MATCH, OFF). jmanhunt.command.prefs.self
/manhunt prefs visibility [mode] [selector] Reads or sets who sees your in-match cosmetics (ALL, TEAM, SELF). jmanhunt.command.prefs.self
/manhunt prefs bias [runner\|hunter] [selector] Reads or sets your role preference for weighted side assignment (premium; refused while role weights are off). jmanhunt.command.prefs.self
/manhunt prefs quickmatch [join|cancel] [selector] Bare opens the quick-match browser; join queues, cancel leaves the queue. jmanhunt.command.prefs.self

The prefs verbs target yourself with jmanhunt.command.prefs.self; targeting anyone else needs jmanhunt.command.prefs.

Cosmetics

Command What it does Permission
/manhunt cosmetics Opens the cosmetics menu. jmanhunt.command.cosmetics.self
/manhunt cosmetics list [selector] Lists unlocked cosmetics per player, marking equipped ones. jmanhunt.command.cosmetics.self
/manhunt cosmetics info <id> [selector] Shows one cosmetic plus each target's state for it. jmanhunt.command.cosmetics.self
/manhunt cosmetics unlock <id> [selector] Unlocks one cosmetic the target may obtain. jmanhunt.command.cosmetics.self
/manhunt cosmetics remove <id> [selector] Removes one owned cosmetic. jmanhunt.command.cosmetics
/manhunt cosmetics equip <id> [selector] Equips one owned cosmetic. jmanhunt.command.cosmetics.self
/manhunt cosmetics unequip <slot> [selector] Clears one equipped slot. jmanhunt.command.cosmetics.self
/manhunt cosmetics ranks Lists the cosmetic ranks and which ones you hold. jmanhunt.command.cosmetics.self

Targeting anyone but yourself needs jmanhunt.command.cosmetics; remove always needs it. Console names its targets.

Language

Command What it does Permission
/manhunt language Shows your current language. jmanhunt.command.language
/manhunt language <en|fi|de|es|zh|ru> Sets your lobby language. jmanhunt.command.language
/manhunt language default Clears your override; you follow the server language again. jmanhunt.command.language

Players only. See Per-player language.

Matches

Command What it does Permission
/manhunt start [lobby-id] Starts a match for a lobby queue. jmanhunt.command.start
/manhunt end [id] Cancels a match with no winner; history rows persist but career stays untouched. jmanhunt.command.end
/manhunt end [id] -i / -immediate Cancels immediately, skipping the end delay intermission. jmanhunt.command.end
/manhunt end all [-i] Cancels every running match at once. Works from console. jmanhunt.command.end
/manhunt match join <id> [role] [selector] Adds players to a running match (default spectator). jmanhunt.command.match
/manhunt match leave [id] [selector] Removes players from a running match; leaving participants need a second run within 10 seconds. jmanhunt.command.match
/manhunt match history <match-id> Shows one stored match summary to the sender only. Works from console. jmanhunt.command.match

Joining and Leaving a Running Match

/manhunt match join lets someone watch; living participants confirm leaving with a second run within 10 seconds. Full behavior is in Concurrent Matches.

Match History

/manhunt match history <match-id> replays the stored MATCH SUMMARY for that match, tagged with the match id in the header. It works from console and for players, renders to the sender only, and reads the same stored snapshot as the by id placeholders. Tab completion suggests recent cached match ids. Unknown ids report back as unknown instance ids.

Team Chat

Hunters and speedrunners in a match can talk privately by prefixing a line with @team or @t. See Team Chat for prefixes, settings, and lobby scoping.

Settings

Command What it does Permission
/manhunt config <category> <key...> [value] Lists, views, or changes settings by category. jmanhunt.command.config
/manhunt override <lobby> settings <get|set|clear> <key...> [value] Views, changes, or removes one lobby's setting overrides. jmanhunt.command.override
/manhunt override <lobby> modifiers <get|set|clear> [id] [true|false] Views, changes, or removes one lobby's modifier overrides. jmanhunt.command.override
/manhunt override <lobby> values <get|set|clear> <mod> [path] [value] Views, changes, or removes one lobby's modifier setting values. jmanhunt.command.override
/manhunt override <lobby> clear Removes every override of one lobby. jmanhunt.command.override

Editing Settings In-Game

/manhunt config browses and changes settings in-game, one category at a time (same settings as the admin GUI); tab completion only suggests children.

/manhunt config settings match autostart enabled true
/manhunt config settings compass actions auto interval 5
/manhunt config world-engine general cell-size 20000

Every value is validated before it is stored. String lists drill by index (... 0, ... 0 <words>, ... add <words>, ... remove 0, ... reset). With no category the command lists categories; setting names match case-insensitively. When settings.server.announce.config-changes is enabled, every change is announced to online admins (jmanhunt.admin) except the one who made it.

Per-Lobby Overrides

/manhunt override stores per-lobby setting, modifier, and modifier-value overrides (matches read the override first); also editable in the admin GUI.

/manhunt override 1 settings get settings match autostart enabled
/manhunt override 1 settings set settings match autostart enabled false
/manhunt override 1 modifiers set gapple true
/manhunt override 1 values set flood base-y 69
/manhunt override 1 values get flood
/manhunt override 1 clear

get shows the effective value plus its layer: (override) for the lobby, (global) for GLOBAL, (default) for the file. Values validate against the setting's type before they store. Every clear asks once and deletes on an identical rerun within 10 seconds; emptied lobbies are pruned. See Operator values for the full layer model.

World Engine

Command What it does Permission
/manhunt worldengine lobbyconfig pos1|pos2 Records a lobby-bounds corner at your feet block. jmanhunt.command.worldengine (jmanhunt.command.worldengine.lobbyconfig)
/manhunt worldengine lobbyconfig setbounds <lobby-id> Stores the recorded corners as a lobby's bounds. jmanhunt.command.worldengine (jmanhunt.command.worldengine.lobbyconfig)
/manhunt worldengine lobbyconfig setlobbytp <lobby-id> [coords] Sets a lobby's teleport (your position, or x y z yaw pitch). jmanhunt.command.worldengine (jmanhunt.command.worldengine.lobbyconfig)
/manhunt worldengine lobbyconfig deletelobby <lobby-id> Deletes a lobby's stored entry. jmanhunt.command.worldengine (jmanhunt.command.worldengine.lobbyconfig)
/manhunt worldengine lobbyconfig setpropagation <lobby-id> <true|false> [child-id...] Arms dummy-lobby propagation: matches from the lobby ignore its overrides and read one random child's instead. jmanhunt.command.worldengine (jmanhunt.command.worldengine.lobbyconfig)
/manhunt worldengine tpto lobbyworld|gameworld [selector] [preset] Teleports to the lobby world (generating it on a confirmed second run) or the game world spawn. jmanhunt.command.worldengine (jmanhunt.command.worldengine.tpto)
/manhunt worldengine cellindex get Shows the current world-engine cell index. jmanhunt.command.worldengine (jmanhunt.command.worldengine.cellindex)
/manhunt worldengine cellindex set <value> Sets the world-engine cell index, clamped to the addressable grid. jmanhunt.command.worldengine (jmanhunt.command.worldengine.cellindex)
/manhunt worldengine cellindex buffer Lists the buffered ready-cell ids. jmanhunt.command.worldengine (jmanhunt.command.worldengine.cellindex)

Lobby and Game Worlds

If the lobby world does not exist yet, the first tpto lobbyworld run asks for a confirming second run within 10 seconds, which generates a void world, pastes the DEFAULT preset, and points lobby 0 at the spawn. Pass a preset (EMPTY, DEFAULT, ADVANCED) with a selector to generate with that preset instead (ignored once the world exists). gameworld hops to the game world spawn and never generates anything. Without a selector, both target you (console must pass one).

Mods and Admin

Command What it does Permission
/manhunt modifiers setmod <id> <true|false> Switches one modifier on or off. jmanhunt.modifiers
/manhunt modifiers setpreset <id> <true|false> Switches one preset on or off. jmanhunt.modifiers
/manhunt modifiers export modifier <id> Prints a click-to-copy share string. jmanhunt.modifiers
/manhunt modifiers import modifier <string> Takes a shared string in. jmanhunt.modifiers
/manhunt modifiers create ... Creates entries from chat or console (see below). jmanhunt.modifiers
/manhunt modifiers test <role> <commands> Dry-runs commands through the tag pipeline (players only). jmanhunt.modifiers
/manhunt modifiers config <id> <setting|reset|define|icon|color|broadcast> ... Reads or edits one modifier's config settings and visibility (see below). jmanhunt.modifiers
/manhunt reload Reloads the engine and mods, then reports new/removed ids (plus schematic counts when those change) and file problems. jmanhunt.command.reload
/manhunt debug [TRACE|INFO|WARN|SEVERE] Sets lifecycle debug output level; bare command toggles. Bounds draw as particles while on. jmanhunt.command.debug
/manhunt dev schem <pos1|pos2|save|load|list> Saves and loads .jmhlobby bundles for authoring presets. Only list works from console. jmanhunt.command.dev.schem
/manhunt playlists Opens the playlist admin list (players only). jmanhunt.admin
/manhunt playlists weights Opens the ranked weights panel: per-playlist samples, fitted weight, and confidence; clicking a playlist resets it (players only). jmanhunt.admin
/manhunt playlists mode <id> <ranked|standard> Flips one playlist's ranked flag, same as the admin GUI mode field (console and players). jmanhunt.admin
/manhunt party <create|invite|join|leave|kick|setmode|setleader|list> Manages your party (players only, /mh p works too). jmanhunt.command.party
/manhunt ranked <enable|disable|status|resetweights <playlist>> Flips the ranked master switch, reports the live season, or clears one playlist's auto-weights samples (console and players). jmanhunt.admin

Playlists

Click the trailing stick to draft a playlist: the id dialog opens, then the pad block dialog, and confirming redirects back to the playlist list. Click a list entry to edit its id, icon, block, mode, and composition; the composition entry opens the twin side editor (speedrunners left, hunters right, minimum 1 each). Renames redirect to the list. Every edit saves advanced/playlists.yml at once. See Quick Match and Playlists.

Party

create starts a solo private party; invite <player> asks an online player in (and creates a solo party first when the inviter has none), and join <leader> takes a public party directly or a private one with an invite. leave steps out (the leader's exit promotes the longest-standing member, the last exit disbands), kick <name> removes a member, setmode <public|private> flips who may join, setleader <name> hands over leadership, and list shows the members. Parties share one Quick Match queue: only the leader steps pads or queues (every route), the whole party lands on one side, oversized parties get a pad error, and ranked queues require every member within one rank step of the leader. A non-leader leaving or kicked mid-queue evicts just that member, while the leader leaving drops the whole party attempt so no ghosts stay queued; joining is refused while either side queues. Parties cap at 4 (parties.max-size). Parties are private by default. See Playlists.

Ranked

enable and disable flip the ranked master switch at once and persist it to playlists.yml: disabling stops every ranked queue with a notice and cancels running ranked matches immediately, enabling touches the season clock. status reports the switch plus the live season number (or that the ladder is unwired when statistics are off). resetweights <playlist> clears that playlist's auto-weights samples (survives seasons otherwise), with tab completion over the playlist ids; /manhunt playlists weights offers the same reset per playlist from the admin GUI. Once a ranked match begins it is closed: participant joins and leaves are refused, while spectators keep moving both ways. See Playlists.

Modifiers

Browse and toggle mods with setmod and setpreset, through the admin GUI, or by editing files under mods/ and running /manhunt reload. Share one with export, take one in with import (see Creating Modifiers):

/manhunt modifiers export modifier gear-dice
/manhunt modifiers import modifier JMH1D:...

Create entries without touching YAML (values run until the next flag, so no quoting needed):

/manhunt modifiers create modifier Beef Party --trigger ON_START --player give <p> cooked_beef 8
/manhunt modifiers create preset Chaos --member beef-party --member gear-dice

All create flags: Creating Modifiers and Presets. Edit a modifier's exposed settings and visibility without touching YAML:

/manhunt modifiers config flood setting base-y 69
/manhunt modifiers config flood reset base-y
/manhunt modifiers config flood define palette.accent COLOR
/manhunt modifiers config flood color ff00aa
/manhunt modifiers config flood broadcast false

setting and reset read and write GLOBAL (never the mod file); per-lobby values go through override ... values. See Config Settings for setting, reset, define, icon, color, and broadcast; the complete modifier reference lives in Modifiers.

Challenges

Play built-in challenges through our companion plugin JManhunt-Challenges (/jmhchallenges toggle <challenge>).

Developer Tools

/manhunt dev schem saves and loads .jmhlobby bundles (structure plus lobby bounds and teleports) for authoring lobby presets. See Developer Tools; only list works from the console.