English
Commands
The main command is /edg; you can also use the aliases /dungeon and /edungeon. Player-side commands are open by default (emakidungeon.play defaults to true), while admin and editor commands require their own permissions
Player commands
| Command | Description | Permission |
|---|---|---|
/edg help | Show command help (same as running /edg with no arguments) | emakidungeon.play |
/edg list | List the currently available dungeons | emakidungeon.play |
/edg enter <dungeonId> | Start a challenge and enter the dungeon; in a party only the leader may start | emakidungeon.play + emakidungeon.dungeon.<dungeonId> |
/edg leave | Leave the current dungeon; asks for a second confirmation first - type confirm in chat to leave, cancel to stay | emakidungeon.play |
/edg cancel | Cancel an ongoing entry wait or challenge (any member can cancel during the ready window) | emakidungeon.play |
/edg ready | Confirm readiness during the ready window (the confirmation button works too) | emakidungeon.play |
/edg rewards | Open your personal reward box and claim payouts | emakidungeon.play |
/edg stats [player] [dungeonId] | Show entry counts (day/week/month and cooldown) plus best results | emakidungeon.play |
/edg rank <dungeonId> | Show the dungeon's top 10 leaderboard (score, duration, difficulty, party) | emakidungeon.play |
/edg globalchat <on|off> | Toggle global chat listening; on bridges chat in and out of the instance, off keeps dungeon chat inside the instance | emakidungeon.play |
/edg editor <dungeonId> | Open the map editor and enter the dungeon's dedicated edit world | emakidungeon.editor |
Party subcommands
/edg party <sub> manages your party:
| Subcommand | Description | Restrictions |
|---|---|---|
create | Create a new party (you become the leader) | Cannot create while already in a party |
invite <player> | In a party: invite that player (leader only); not in a party: ask to join, handled by the invite mode | Leader-only when you already have a party |
accept | The invitee accepts an invitation; the receiver of an application (the leader) approves it | Depends on whether you received an invite or an application |
deny | Refuse a received invite (invitee) or reject an incoming application (leader) | Depends on whether you received an invite or an application |
kick <player> | Remove a member | Leader only |
leave | Leave the party (the leader hands over to another member first) | — |
disband | Disband the whole party | Leader only |
chat | Toggle the party channel: once on, your messages are visible to party members only | — |
The invite mode comes from the global party.invite-mode and decides what happens when a player without a party asks to join another: public joins directly, apply files an application waiting for the leader's approval, invite only lets invited players in (any other value behaves like invite). The party size cap is party.max-size
Editor session commands
Run /edg editor <dungeonId> with the emakidungeon.editor permission to open an editing session:
| Subcommand | Description |
|---|---|
/edg editor pos1 / pos2 | Record the first / second corner of a region (stand on each diagonal corner of the target area) |
/edg editor mark <type> [id] | Place a marker on the block you are looking at (16 blocks reach); markers are staged in the session and written to flow.yml on save |
/edg editor marks | List the markers staged in this session |
/edg editor fill <block> | Fill the area circled by pos1 + pos2 (written in frames, with a size cap) |
/edg editor test | Test start: runs the normal entry flow, counts nothing and never ranks; refused while unsaved changes exist |
/edg editor exit | Leave the session; refused while unsaved changes exist, so save or discard first |
Marker types come in two groups:
| Type | How | Purpose |
|---|---|---|
spawn / option / chest | Single point, aim at a block | Spawn location / option node / reward point |
room / gate / trigger | Region, needs pos1 + pos2 | Room / gate door area / trigger zone |
The main editor panels (metadata, spawn points and waves, gates, branch options) are edited through GUIs. Markers and panel edits are only staged; nothing reaches the template files until you click "Save and write back", and exiting without saving discards everything. Only one editing session per dungeon template is allowed at a time
Admin commands
/edg admin <sub> requires emakidungeon.admin (default OP):
| Subcommand | Description |
|---|---|
instances | List running instances (id, dungeon, state, party, write-queue backlog) |
stop <instanceId> | Force-stop a specific instance |
status | Overview: instance count, live virtual threads, template count, per-pool usage, and write queues |
reload | Reload the main configuration and all dungeon configs; running instances are untouched, only newly created instances pick up changes |
validate | Validate every dungeon template and report missing flow.yml or invalid configurations |
poolreset <dungeonId> | Force-reset the pool spare world of a dungeon |
clearslots | Clear leftover pool slot reservations |
NOTE
reload must be run in game by a player with the permission; running it from the console answers with "this command can only be run by a player". When a bot or script needs to reload, grant that player emakidungeon.admin first
Permission nodes
| Node | Default | Purpose |
|---|---|---|
emakidungeon.play | All players | Entering, party, stats, and global listening player commands |
emakidungeon.dungeon.* | All players | Entry to all dungeons (actually checked per emakidungeon.dungeon.<dungeonId>) |
emakidungeon.bypass.limit | OP | Bypass entry counts and cooldowns |
emakidungeon.bypass.escape | OP | Escape-protection exemption (debugging and maintenance) |
emakidungeon.script | OP | Dungeon script loading and trigger registration |
emakidungeon.editor | OP | Map editor sessions |
emakidungeon.admin | OP | Instance management, force stop, reload, pool maintenance |
emakidungeon.* | OP | Wildcard covering everything above |
emakidungeon.dungeon.<dungeonId> is dynamically registered on startup and reload for every dungeon folder under world/, and defaults to open for all players; deleting the dungeon removes the node. For a members-only dungeon, turn the default off in your permission plugin and grant the node to the right groups
Command rules inside a dungeon
Commands run by players inside an instance pass two gates:
- Escape blacklist (
escape.blacklist, supports*wildcards): a hit is refused immediately with "command restricted in this dungeon (escape blacklist)", and no allow-rule can override this layer - Command guard (
commands.mode, blacklist or whitelist): evaluated against the globalcommands.rulesand the dungeon-levelcommands.allow, refusing with "command restricted in this dungeon (command guard)"
Configuration details are on the Configuration page